[可选]安装tree
用于显示文件树,方便理解结构。当然用IDE打开工作空间的话就完全不需要tree了。
ubuntu命令— tree 命令以树形结构显示文件夹目录结构
安装colcon
colcon
是ROS2中对catkin_make
的替代。
sudo apt install python3-colcon-common-extensions
设置colcon的tab补全
echo "source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash" >> ~/.bashrc
工作空间结构
.
├── build # 储存中间文件
├── install # 每个软件包安装的位置,类似于ROS1中的devel
├── log # 包含有关每个 colcon 调用的各种日志记录信息
└── src # 放置源代码
测试示例库
下载源码
在工作区目录中打开终端
git clone https://github.com/ros2/examples src/examples -b foxy
现在工作区应该有 ROS 2 示例的源代码:
.
└── src
└── examples
├── CONTRIBUTING.md
├── LICENSE
├── rclcpp
├── rclpy
└── README.md
4 directories, 3 files
编译
colcon build --symlink-install
忽略编译
如果不想编译某个包,就在包目录下新建一个名为COLCON_IGNORE
的空白文件。
测试
colcon test
source环境
. install/setup.bash
测试demo
ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
ros2 run examples_rclcpp_minimal_publisher publisher_member_function
结果
[INFO] [1667814616.378307956] [minimal_subscriber]: I heard: 'Hello, world! 0'
[INFO] [1667814616.878210486] [minimal_subscriber]: I heard: 'Hello, world! 1'
[INFO] [1667814617.378201122] [minimal_subscriber]: I heard: 'Hello, world! 2'
[INFO] [1667814616.377702882] [minimal_publisher]: Publishing: 'Hello, world! 0'
[INFO] [1667814616.877711029] [minimal_publisher]: Publishing: 'Hello, world! 1'
[INFO] [1667814617.377677299] [minimal_publisher]: Publishing: 'Hello, world! 2'