提示:ROS初学小白
前言
提示:这里仅代表作者的心路历程,耗时1天的心路历程:
我满心欢喜的根据赵虚左老师的课程初步步入ROS的大门,在ROS1输入catkin_make创建我的第一个工作路径。但是由于原来电脑C盘爆满,趁热打铁买了一个新电脑,由于本人天真的新电脑就该配最新的软件,趁热打铁安装了ROS2,再次输入catkin_make的时候,满屏报错,我百思不得其解,蓦然回首,原来ROS2不用catkin,而是用colcon。
提示:以下是本篇文章正文内容,下面仅供参考,如有问题欢迎交流
一、ROS1与ROS2对比
(1)ROS2将考虑以下新的方面:实时系统、小型嵌入式平台(如传感器节点)、非理想网络和跨平台(如Linux、Windows、Mac、实时操作系统(RTOS) ,没有操作系统。
(2)ROS2中间层用DDS(Data Distribution Service)数据分布式服务代替。
图片来自Yuya Maruyama等人的论文《Exploring the Performance of ROS2》
论文链接: https://dl.acm.org/doi/pdf/10.1145/2968478.2968502
二、ROS1创建工作空间
2.1 创建工作空间(Creat ROS Working Paths)
makdir -p xxx_ws/src #(必须得有src)
cd xxx_ws
catkin_make
工作区构建完成后,它在devel子文件夹中创建了一个类于/opt/ros/$ROSDISTRO_NAME下的结构。
2.2 用VScode打开(Start VScode)
cd xxx_ws
code .
2.3 创建功能包(Create catkin package)
选定 src 右击 —> create catkin package
(1)命名
(2)添加依赖 roscpp rospy std_msgs
2.4 Source执行文件( Sourcing the setup file)
要将工作区添加到您的ROS环境中,需要source安装文件:
source ./devel/setup.bash
详见官方文档:
链接: http://wiki.ros.org/ROS/Tutorials/CreatingPackage
三、ROS2创建工作空间
3.1 创建工作空间(Creat ROS Working Paths)
ROS2用colcon,类似ROS1中的catkin.
mkdir -p xxx_ws/src #(必须得有src)
cd xxx_ws
colcon build --symlink-install
2.2 用VScode打开(Start VScode)
cd xxx_ws
code .
2.3 创建功能包(Create catkin package)
ros2 pkg create 名称 --build-type ament_cmake --dependencies rclcpp
pkg create : 创建包
–build-type :包的编译类型,有三种类型ament_python、ament_cmake、cmake
–dependencies :功能包的依赖
ros2 pkg create 和ROS1中 catkin_create_package类似
2.4 Source执行文件( Sourcing the setup file)
要将工作区添加到您的ROS环境中,需要source安装文件:
source install/setup.bash
当colcon成功地完成构建后,输出将在安装目录中。在使用安装的任何可执行文件或库之前,需要将它们添加到路径和库路径中。Colcon将在安装目录中生成bash/bat文件,以帮助设置环境。这些文件将向路径和库路径添加所有必需的元素,并提供包导出的任bas或shell命令。
详见官方文档:
链接: http://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html#create-a-workspace