前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ros2之turtlesim命令

ros2之turtlesim命令

作者头像
zhangrelay
发布2019-08-15 19:06:50
8290
发布2019-08-15 19:06:50
举报
知识共享许可协议
知识共享许可协议

版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

如何在ros2熟悉和使用各种指令呢,ros1的经典小乌龟是最快捷的途径之一。

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中添加对应2代版本小乌龟的图片。

编译环节:

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 <command> -h` for more detailed usage.

对于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}}"

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}}"


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年08月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档