ROS2入门(一)——工作空间

1、节点与功能包

1.1 概念

  • 节点是指完成某种模块化功能的可执行程序,例如:负责控制轮子转动的节点,负责从相机获取数据的节点,负责将相机数据进行预处理的节点…
  • 节点之间需要进行通信。ROS2提供话题(Topics)、服务(Services、动作(Action)和参数(Parameters)四种通信方式。
  • 节点启动命令格式:ros2 run <package_name> <executable_name> 启动package_name包下的名为executable_name的节点;一个节点必须存在于一个功能包中,但是一个功能包可以有0、1或者许多节点。

1.2 节点相关的CLI(Command Line Interface)

  • 启动节点:ros2 run <package_name> <executable_name>
  • 查看节点列表:ros2 node list
  • 查看节点信息:ros2 node info <node_name>
  • 运行时设置节点参数:ros2 run example_parameters_rclcpp parameters_basic --ros-args -p rcl_log_level:=10

2、工作空间(Workspace)与功能包(Package)

2.1 概念阐述

工作空间可以类比于VS中的SolutionDir,是一个目录,包含build、install、log、src四个子文件夹,src保存源码。

功能包可以理解为存节点的地方,在ROS2中根据编译方式的不同,可以分为:

  • ament_python,适用于python程序
  • cmake,适用于C++
  • ament_cmake,适用于C++程序,是cmake的增强版

2.2 功能包相关的CLI(Command Line Interface)

  • 创建名为package_name功能包:
    ros2 pkg create <package-name> --build-type {cmake,ament_cmake,ament_python} --dependencies <依赖名字>
  • 列出package_name功能包下的可执行文件:ros2 pkg executables <package_name>
  • 列出所有包的名称:ros2 pkg list
  • 输出名为package_name的包所在路径的前缀:ros2 pkg prefix <package-name>
  • 列出名为package_name的包的信息:ros2 pkg xml package_name

3、构建工具Colcon

  • ROS2默认安装没有Colcon工具,输入sudo apt-get install python3-colcon-common-extensions安装。
  • 编译指定包:colcon build --packages-select YOUR_PKG_NAME
  • 不编译测试单元:colcon build --packages-select YOUR_PKG_NAME --cmake-args -DBUILD_TESTING=0
  • 使用符号链接而不是复制文件,colcon build --symlink-install 以动态链接库为例,会在install目录中使用符号链接,指向build目录下生成的库文件(如 *.so),从而加快迭代速度。没有该选项,则两个目录都会有该库文件。

4、实操

参见小鱼

5、References

小鱼ROS

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值