ROS2和ROS1常用命令速查与对比

目录
1.创建一个ROS工作空间
2. 初始化ROS工作空间
3.构建 中的代码
4.将工作空间的路径加入环境变量
5. 查询ROS版本
最后的话
接上回,
在我们把ROS1和ROS2整到一个系统里之后 。
如何将ROS1和ROS2安装到同一个系统中?
为了后续调试方便,我们整理一下两者的异同 。
1.创建一个ROS工作空间
空间名为,并在内创建src文件夹,src用于存储所有功能包的代码 。
mkdir -p ~/ros_ws/srccd ~/ros_ws/src# ------------------------------------------# 另一种方式:两条指令合并在一起mkdir -p ~/ros_ws/src && cd ~/ros_ws/src
2. 初始化ROS工作空间
在src路径下,执行完初始化命令后,src目录下会多出一个 .txt 文件 。
#ROS1==>#ROS2catkin_init_workspace==>
3.构建 中的代码
在 的根目录下,执行代码构建命令 。
替换为实际的包名,下同)
#ROS1==>#ROS2catkin_make==>colcon build#---------------------------------------------------------------------------#ROS1 编译指定的软件包, 包名带双引号,包名之间用分号隔开catkin_make -DCATKIN_WHITELIST_PACKAGES=“package_name1; package_name2”#ROS1 还原为构建所有包catkin_make -DCATKIN_WHITELIST_PACKAGES=“”#---------------------------------------------------------------------------#ROS2 编译指定的软件包,包名无符号包围,包名之间用空格分开colcon build --packages-select#ROS2 若希望python脚本修改后,不再需要每次重新编译(警告:可能出现代码的不适配)colcon build --symlink-install
在工作空间中,除src文件夹外,其他为编译后产生的文件,删除后可重新编译获得 。
对于ROS1,使用编译系统,编译后新增3个可删目录: build、和devel 。
1)build 编译空间:用于存储编译过程产生的缓存和中间文件 。
2)devel 开发空间:用于放置编译生成的可执行文件 。

ROS2和ROS1常用命令速查与对比

文章插图
3) 安装空间:非必须的,可在工作目录下用 生成,可以将可执行文件安装到此空间 。
对于ROS2,使用编译系统,编译后新增3个可删目录: build、和log 。
1)build 编译空间:用于存储编译过程产生的缓存和中间文件 。
2) 安装空间:用于放置编译生成的可执行文件和脚本 。
3)log 日志空间:用于保存编译和运行过程中警告、报错等日志的空间 。
4.将工作空间的路径加入环境变量
将对应的工作空间的路径加入环境变量中 。
如果新开了一个终端命令行,在使用该工作空间前,必须先将该工作空间的路径加入环境变量中 。
#ROS1 echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc #ROS2echo "source ~/colcon_ws/install/setup.bash" >> ~/.bashrc#在ROS1中可查询ROS_PACKAGE_PATH, 一般不为空表示设置正常 。echo $ROS_PACKAGE_PATH
5. 常用的ROS命令对比
#ROS1--> #ROS2# -----------------------------------roscore--> ros2rosrun--> ros2 runrosnode--> ros2 noderoslaunch--> ros2 launchrosparam--> ros2 paramrospkg--> ros2 pkgrosservice --> ros2 service rossrv--> ros2 srvrostopic--> ros2 topicrosaction--> ros2 action
最后的话
与ROS1相比,ROS2的命令稍微有点变化,但还是有规律的 。
【ROS2和ROS1常用命令速查与对比】希望对你有所帮助 。