본문 바로가기
ROS/ROS 연구 진행 상황

turtlebot3 자율주행

by sonysame 2024. 4. 14.

ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
ros2 launch turtlebot3_navigation2 navigation2.launch.py

 

rviz2에서 2D Pose Estimate를 먼저 해주어야 하고

GUI 환경에서 Nav2 Goal을 지정해줌으로써 터틀봇을 움직일 수도 있지만

 

아래와 같이 send_goal을 직접 줄 수도 있다.

turtlebot3_navigation2를 실행시켜주어야 /navigate_to_pose 액션 서버가 실행된다!

ros2 action send_goal --feedback /navigate_to_pose nav2_msgs/action/NavigateToPose "{pose: {header: {stamp: {sec: 0, nanosec: 0}, frame_id: 'map'}, pose: {position: {x: 1.0, y: 1.0, z: 0.0}, orientation: {x: 0.0, y: 0.0, z: 0.0, w: 0.0}},}}"

 

flexbe를 이용해서도 가능하다!

goal_msg.pose.header.frame_id = "map"
goal_msg.pose.pose.position.x = self.waypoint[0]
goal_msg.pose.pose.position.y = self.waypoint[1]
goal_msg.pose.pose.orientation.z = self.waypoint[2]
goal_msg.pose.pose.orientation.w = self.waypoint[3]

self.goal_handle = self._client.send_goal(self.navi_to_pos_topic, goal_msg)