1.小乌龟测试
ROS2中内置了一些测试案例,用于测试ROS2安装与配置是否正常。
ROS2小乌龟案例:
1.Ctrl + Alt + T打开两个终端;
2.终端1指令:
ros2 run turtlesim turtlesim_node
执行完毕,启动蓝底小乌龟窗口;
3.终端2指令:
ros2 run turtlesim turtle_teleop_key
执行完毕,可以使用键盘控制小乌龟运动。
图例如下:
彩蛋:小乌龟的皮肤
P.S. 在使用键盘控制乌龟运动时,需让鼠标光标聚焦在终端 2 (图中右侧) 中,否则乌龟无响应。
2.安装Colcon
colcon是一个包构建命令行工具,用于改进编译,测试和使用多个软件包的工作流程,简单来说即用于编译代码。ROS2默认未安装colcon,故而需要手动安装。
安装代码:
sudo apt install python3-colcon-common-extensions
使用apt还是apt-get?
目前还没有任何 Linux 发行版官方放出 apt-get 将被停用的消息,至少它还有比 apt 更多、更细化的操作功能。对于低级操作,仍然需要 apt-get。
既然两个命令都有用,那么我该使用 apt 还是 apt-get 呢?
作为一个常规 Linux 用户,系统极客建议大家尽快适应并开始首先使用 apt。 不仅因为广大 Linux 发行商都在推荐 apt,更主要的还是它提供了 Linux 包管理的必要选项。
最重要的是,apt 命令选项更少更易记,因此也更易用,所以没理由继续坚持 apt-get。
最后结大家提供两点使用上的建议:
- apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。
- apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt。
此块引用来自知乎文章:
colcon就相当于ROS1中的catkin工具,可以辅助理解。
安装完 colcon 之后,就可以在 ROS2 中编写应用程序了。
小测试
使用colcon构建ROS2工作空间
1.构建colcon_test示例工作空间
1.创建一个工作区的目录colcon_test
cd <目标位置>
mkdir colcon_test && cd colcon_test #创建并打开文件夹
2.下载个clone官方ROS2示例源码(humble版本)测试一下
git clone https://github.com/ros2/examples src/examples -b humble #clone官方示例源码(humble)
3.使用colcon构建工程
colcon build
4.使用这条语句进行构建时,加上--symlink-install参数允许在调整launch文件时无需重复build(若install文件可能被拷贝至其他机器则该参数会导致源文件无效)
colcon build --symlink-install
等待构建完毕
编完之后的目录结构:
包含build install log src四个部分
build目录存放中间文件,对于每个包,将创建一个子文件,并在其中调用Cmake
install目录是每个包的安装位置
log存放colcon调用的各种日志信息
src用于存放ROS2包的源代码
2.运行节点
1.进入colcon_test,source资源
source ./install/setup.bash
2.运行一个订阅者节点,再打开一个新的终端运行发布者节点
ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
source install/setup.bash
ros2 run examples_rclcpp_minimal_publisher publisher_member_function
即可见订阅者显示发布者发布的信息。
3.构建一个新ROS2 workspace
从头到尾构建一个自己的ROS2 workspace
1.建立存放目录位置:
mkdir -p colcon_test02/src && cd colcon_test02
2.运行colcon build
colcon build --symlink-install
运行结果:
Summary: 0 packages finished [0.63s]
此时属于自己的新ROS2 workplace已经构建完毕,可以在src文件夹中开始创建功能包了。
Linux mkdir命令 功能描述
使用mkdir命令可以在Linux系统中创建目录。
Linux mkdir命令 语法
mkdir [选项] [目录]
命令中各 [选项] 的含义如表所示
-m <权限模式> | 对新创建的目录设置权限,在没有-m选项时,默认权限的755 |
-v | 每次创建新目录都显示信息 |
-p | 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动创建那些尚不存在的目录,即一次可以建立多个目录 |