是时候放下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'),
    ])
  在这里插入图片描述 在这里插入图片描述