ROS2 Action
self._wall_follow_action_client = ActionClient(self, WallFollow, '/wall_follow')
...
def wall_follow_callback(self):
self.get_logger().info(f"Wall follow callback is called")
goal_msg = WallFollow.Goal()
goal_msg.follow_side = self.wall_follow_side # 1=left, -1=right
duration = Duration()
duration.sec = 30
goal_msg.max_runtime = duration
self._wall_follow_action_client.send_goal_async(goal_msg)