ROS2第一个节点
引言
笔者跟着鱼香ROS的ROS2学习之旅
学习参考:
【ROS2机器人入门到实战】
笔者的学习目录
专业术语认识
- 面向过程编程思想。缩写:POP
- 面向对象编程思想。缩写:OOP
对象 = 属性+行为 - 函数式思想。缩写:FP
1 认识ROS2节点
1.1 节点之间的交互
ROS2中每一个节点也是只负责一个单独的模块化的功能,(比如一个节点负责控制车轮转动,一个节点负责从激光雷达获取数据、一个节点负责处理激光雷达的数据、一个节点负责定位等等)
那节点与节点之间的通信一共四种通信方式:
- 话题-topics
- 服务-services
- 动作-Action
- 参数-parameters

1.2 节点的命令行指令
运行节点指令:ros2 run 包名字 可执行文件名字
ros2 run <package_name> <executable_name>
查看节点列表
ros2 node list
查看节点信息
ros2 node info <node_name>
其他指令
# 重映射节点名称
ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle
# 运行节点时设置参数
ros2 run example_parameters_rclcpp parameters_basic --ros-args -p rcl_log_level:=10
1.3 工作空间
创建工作空间(其实就是创建一个目录)
mkdir -p name_ws/src
1.4 功能包
功能包可以理解为存放节点的地方,ROS2中功能包根据编译方式的不同分为三种类型。
ament_python,适用于python程序
cmake,适用于C++
ament_cmake,适用于C++程序,是cmake的增强版
1.4.1 功能包获取安装
sudo apt install ros-<version>-package_name
1.4.2 功能包相关的指令 ros2 pkg
1.创建功能包
ros2 pkg create <package-name> --build-type {
cmake,ament_cmake,ament_python} --dependencies <依赖名字

本文详细介绍了ROS2中的节点概念,包括节点间通信方式,命令行操作,工作空间管理,功能包的安装与管理,以及使用RCLPY进行Python节点开发和Colcon构建工具的使用。
最低0.47元/天 解锁文章
3101

被折叠的 条评论
为什么被折叠?



