ros2之turtlesim命令

举报
zhangrelay 发表于 2021/07/14 23:19:09 2021/07/14
【摘要】 如何在ros2熟悉和使用各种指令呢,ros1的经典小乌龟是最快捷的途径之一。 ros2_tutorials(turtlesim): https://github.com/zhangrelay/ros2_tutorials 通过turtlesim,对比一下ros1和ros2吧: 文件组织: ros1: . ├── CHANGELOG.rst ├─...

如何在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}}"

 


 

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/98754130

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。