ros2之turtlesim命令
如何在ros2熟悉和使用各種指令呢,ros1的經(jīng)典小烏龜是最快捷的途徑之一。
ros2_tutorials(turtlesim):?https://github.com/zhangrelay/ros2_tutorials
通過turtlesim,對比一下ros1和ros2吧:
文件組織:
ros1:
.
├── CHANGELOG.rst
├── CMakeLists.txt
├── images
│???├── box-turtle.png
│???├── diamondback.png
│???├── electric.png
│???├── fuerte.png
│???├── groovy.png
│???├── hydro.png
│???├── hydro.svg
│???├── indigo.png
│???├── indigo.svg
│???├── jade.png
│???├── kinetic.png
│???├── kinetic.svg
│???├── lunar.png
│???├── lunar.svg
│???├── melodic.png
│???├── palette.png
│???├── robot-face.png
│???├── robot-turtle.png
│???├── sea-turtle.png
│???├── turtle.png
│???└── turtle.xar
├── include
│???└── turtlesim
│??? ? ?├── turtle_frame.h
│??? ? ?└── turtle.h
├── launch
│???└── multisim.launch
├── msg
│???├── Color.msg
│???└── Pose.msg
├── package.xml
├── src
│???├── turtle.cpp
│???├── turtle_frame.cpp
│???├── turtlesim
│???│???└── __init__.py
│???└── turtlesim.cpp
├── srv
│???├── Kill.srv
│???├── SetPen.srv
│???├── Spawn.srv
│???├── TeleportAbsolute.srv
│???└── TeleportRelative.srv
└── tutorials
├── draw_square.cpp
├── mimic.cpp
└── teleop_turtle_key.cpp
9 directories, 41 files
ros2:
.
├── CHANGELOG.rst
├── CMakeLists.txt
├── images
│???├── box-turtle.png
│???├── diamondback.png
│???├── electric.png
│???├── fuerte.png
│???├── groovy.png
│???├── hydro.png
│???├── hydro.svg
│???├── indigo.png
│???├── indigo.svg
│???├── jade.png
│???├── kinetic.png
│???├── kinetic.svg
│???├── lunar.png
│???├── lunar.svg
│???├── melodic.png
│???├── palette.png
│???├── robot-turtle.png
│???├── sea-turtle.png
│???├── turtle.png
│???└── turtle.xar
├── include
│???└── turtlesim
│??? ? ?├── turtle_frame.h
│??? ? ?└── turtle.h
├── launch
│???├── draw_square.launch.py
│???├── multisim.launch.py
│???└── __pycache__
│??? ? ?└── draw_square.launch.cpython-36.pyc
├── msg
│???├── Color.msg
│???└── Pose.msg
├── package.xml
├── src
│???├── turtle.cpp
│???├── turtle_frame.cpp
│???├── turtlesim
│???│???└── __init__.py
│???└── turtlesim.cpp
├── srv
│???├── Kill.srv
│???├── SetPen.srv
│???├── Spawn.srv
│???├── TeleportAbsolute.srv
│???└── TeleportRelative.srv
└── tutorials
├── draw_square.cpp
├── mimic.cpp
└── teleop_turtle_key.cpp
10 directories, 42 files
這里并未在ros2中添加對應(yīng)2代版本小烏龜?shù)膱D片。
編譯環(huán)節(jié):
ros1:catkin build
ros2:colcon build
命令使用:
ros1:
rosrun, rostopic ……
ros2:
ros2 run, ros2 topic ……
具體介紹如下:
ros2 is an extensible command-line tool for ROS 2.
optional arguments:
-h, --help ? ? ? ? ? ?show this help message and exit
Commands:
action ? ? Various action related sub-commands
component ?Various component related sub-commands
daemon ? ? Various daemon related sub-commands
launch ? ? Run a launch file
lifecycle ?Various lifecycle related sub-commands
msg ? ? ? ?Various msg related sub-commands
multicast ?Various multicast related sub-commands
node ? ? ? Various node related sub-commands
param ? ? ?Various param related sub-commands
pkg ? ? ? ?Various package related sub-commands
run ? ? ? ?Run a package specific executable
security ? Various security related sub-commands
service ? ?Various service related sub-commands
srv ? ? ? ?Various srv related sub-commands
topic ? ? ?Various topic related sub-commands
Call `ros2
對于ros1而言,啟動小烏龜并鍵盤遙控,需要如下步驟:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
類比與ros2,我們可以使用如下命令:
roscore
注意ros2無需core
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
非常容易理解。
比如畫一個大圓:
ros2 topic pub /turtle1/cmd_vel ometry_msgs/msg/Twist "{linear: {x: 0.8, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.2}}"
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。