机器人操作系统二(ROS2)- 启程 Departure

327
0
2020年9月16日 10时00分

是时候放下ROS1,开启ROS2的旅程了。It’s time to put down ROS1 and start the journey of ROS2.

 

ROS2官方在线文档链接 ROS2 official online documentation:https://index.ros.org/doc/ros2/

 

ROS2教程文档使用说明与为什么选择ROS2?ROS2 tutorial documentation instructions and why choose ROS2?https://blog.csdn.net/ZhangRelay/article/details/93601114

 

ROS2常规学习路径 ROS2 regular learning path:

在这里插入图片描述

demos、navigation2 and moveit2

 

ROS2进阶学习路径 ROS2 advanced learning path:

 

在这里插入图片描述

others


学习分享从安装配置开始,首先详细介绍教程,然后是两个专题:Navigation2和MoveIt!2。This article starts with ROS2 installation and configuration, first introduces the tutorial in detail, then two topics: Navigation2 and MoveIt!2.

 

安装详细过程 Installation detailed tutorial:ROS 2 Dashing Diademata安装和使用文档(含Linux、Windows和OS X)ROS 2 Dashing Diademata installation and documentation (including Linux, Windows and OS X)

 

ROS教程 ROS 2 tutorials:https://github.com/zhangrelay/ros2_tutorials

 

配置教程包 Tutorial package configuration:

 

  1. 下载:git clone
  2. 编译:colcon build
  3. 使用:ros2 run

 

在这里插入图片描述

colcon build

 

导入编译的环境 Import the compiled environment:

source install/setup.bash

 

输入ros2 run turtlesim,可以看到如下节点 Enter ros2 run turtlesim, you can see the following nodes:

draw_square —prefix  turtle_teleop_key

 

mimic turtlesim_node

 

常用命令如下 Common commands are as follows:

  1. ros2 run turtlesim turtlesim_node
  2. ros2 topic list
  3. ros2 run turtlesim draw_square
  4. ros2 topic echo /turtle1/pose
  5. ……

 

更多内容参考下图 For more details, please refer to the following figure:

 

在这里插入图片描述

 

欢迎大家下载案例调试玩耍, 更多内容后续介绍。You are welcome to download the case, debug and play, more will be introduced in subsequent articles.

 

思考题 Thinking:

 

回顾roslaunch, 写一个ros2 launch,同时启动turtlesim_node和draw_spuare。Looking back at roslaunch, write a ros2 launch and start both the turtlesim_node and draw_spuare node.

 

扩展题 Extended:

 

对比ROS1和ROS2的turtlesim包,分析和思考两代ROS编程和使用中的差异。Compare the turbulsim package of ROS1 and ROS2, analyze and think about the difference between the two generations of ROS in programming and use.


draw_square.launch.py

from launch import LaunchDescription
import launch_ros.actions

def generate_launch_description():
    return LaunchDescription([
        launch_ros.actions.Node(
            node_namespace= "ros2", package='turtlesim', node_executable='turtlesim_node', output='screen'),
        launch_ros.actions.Node(
            node_namespace= "ros2", package='turtlesim', node_executable='draw_square', output='screen'),
    ])

 

在这里插入图片描述

在这里插入图片描述

发表评论

后才能评论