【ROS】ROS kinetic으로 Turtlebot3의 gazebo를 사용한 시뮬레이션

6711 단어 GazeboTurtleBot3ROS

소개



ROS는 전세계에서 사용되고 있는 로봇 미들웨어이며, 또 turtlebot도 자주 사용되고 있는 바퀴형의 이동 로봇이 되고 있습니다. 이번에는 ROS에서 turtlebot3을 gazebo에서 움직이기위한 환경 설정을 소개하고 싶습니다.

환경



OS:Ubuntu 16.04
ROS:ROS kinetic

설정



ROS kinetic은 아직 turtlebot3 패키지를 apt로 설치할 수 없기 때문에 git clone으로 가져옵니다.

ROS의 작업 공간이/home/catkin_ws에 있다고 가정합니다.
먼저 catkin_ws/src로 이동하여
$ cd ~/catkin_ws/src

다음 명령을 하나씩 실행합니다.
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_gazebo_plugin.git

그런 다음 catkin_make를합시다.
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

실행



turtlebot3의 노드를 실행할 때 먼저TURTLEBOT3_MODEL라는 환경 변수를 설정해야 합니다.waffle 또는 waffle-pi 또는 burger를 선택할 수 있습니다. 이것은 실제 turtlebot3과 같습니다.
h tp : // 에마누아 l. 로보치 s. 코 m/도 cs/엔/pぁt후 rm/츠 rtぇ보 t3/s페시후페카치온 s/

모델을 신경쓰지 않는다면 어느 하나를 선택해 ~/.bashrc 에 추기해 두면 좋네요.
$ export TURTLEBOT3_MODEL=burger

실행 명령은 다음과 같습니다. 아래와 같은 화면이 나오면 성공입니다.
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch



기타 다양한



rostopic 목록


$ rostopic list
/clock
/cmd_vel
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/gazebo_gui/parameter_descriptions
/gazebo_gui/parameter_updates
/imu
/joint_states
/odom
/rosout
/rosout_agg
/scan
/tf

turtlebot3 이동 (teleop)



rostopic 목록에서, cmd_vel 주제를 사용하면 좋기 때문에, 아래의 turtlebot3에는 말하고 있는 teleop나, apt-get로 할 수 있는 teleop의 노드 로 움직일 수가 있습니다.
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
$ sudo apt-get install ros-kinetic-teleop-twist-keyboard
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

turtlebot3가 움직이는 gazebo의 환경



방금 실행할 때는 다음 명령이었습니다.
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

이것은 방금 git clone 한 turtlebot3_simulation/turlebot3_gazebo/launch 안의 launch 파일을 시작하고 있습니다. launch 파일 목록을 살펴 보겠습니다.
$ cd ~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/launch/
$ ls
multi_map_merge.launch        turtlebot3_autorace_mission.launch  turtlebot3_simulation.launch  turtlebot3_stage_4.launch
multi_turtlebot3.launch       turtlebot3_empty_world.launch       turtlebot3_stage_1.launch     turtlebot3_world.launch
multi_turtlebot3_slam.launch  turtlebot3_gazebo_rviz.launch       turtlebot3_stage_2.launch
turtlebot3_autorace.launch    turtlebot3_house.launch             turtlebot3_stage_3.launch

여기서 환경을 정의합니다. 예를 들어, turtlebot3_house.launch를 시작해 봅시다. 다음과 같은 집안의 환경 같은 환경이 나오면 성공입니다. 이 외에 여기의 launch 파일 마다 환경이 있습니다.
$ roslaunch turtlebot3_gazebo turtlebot3_house.launch



Rviz



turtlebot3_gazebo 내에 rviz를 실행하는 launch 파일이 있습니다.
$ roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

아래와 같이 rviz가 일어나면 성공입니다.



좌우로 늘어놓으면 Laserscan이 제대로 반영되는 것을 알 수 있군요. (작고 죄송합니다,,,)



turtlebot 설치



turtlebot3 대신 turtlebot의 gazebo 환경은 apt-get으로 설치할 수 있습니다.
$ sudo apt-get install ros-kinetic-turtlebot-gazebo
$ sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs
$ . /opt/ros/kinetic/setup.bash

실행은 다음과 같습니다.
$ roslaunch turtlebot_gazebo turtlebot_world.launch

참고사항이지만 cmd_vel 주제가 사용되지 않습니다. 그래서 turtlebot을 움직일 때는 다음 명령이됩니다.
(apt-get 할 수있는 쪽의 teleop_twist_keyboard는 사용할 수 없다)
roslaunch turtlebot_bringup minimal.launch

결론



이번에는 여기까지 합니다. 쉽게 할 수 있으므로 시도해보십시오!
다음은 mapping과 navigation을 해보고 싶습니다.

참고



Turtlebot3 e-manual
【ROS】 Turtlebot3의 시뮬레이션 환경을 구축해 보았다
ROS-kinetic으로 turtlebot gazebo 이동
ROS.org teleop_twist_keyboard

좋은 웹페이지 즐겨찾기