ROS2基础知识
官网教程
Tutorials — ROS 2 Documentation: Humble documentation
概念部分参考:Beginner: CLI tools — ROS 2 Documentation: Humble documentation
代码部分参考:Beginner: Client libraries — ROS 2 Documentation: Humble documentation
古月居教程:7.节点:机器人的工作细胞_哔哩哔哩_bilibili
ROS2命令行操作
ros2 --help,并显示了ROS 2(Robot Operating System 2)的帮助信息。
具体内容包括:action:与动作相关的各种子命令 -----
bag:与rosbag相关的各种子命令 录制/回放 -----
component:与组件相关的各种子命令
daemon:与守护进程相关的各种子命令
doctor:检查ROS设置和其他潜在问题
interface:显示ROS接口信息 -----
launch:运行launch文件 -----
lifecycle:与生命周期相关的各种子命令
multicast:与多播相关的各种子命令
node:与节点相关的各种子命令 -----
param:与参数相关的各种子命令 -----
pkg:与包相关的各种子命令 -----
run:运行特定包的可执行文件 -----
security:与安全相关的各种子命令
service:与服务相关的各种子命令
topic:与主题相关的各种子命令 -----
wtf:将 wtf 用作 doctor 的别名
工作空间:
开发过程的大本营,存放项目开发相关文件的文件夹
src:代码空间
install:安装空间
build:编译空间
log:日志空间常用工具
rosdeps:检查工程代码的依赖
colon:编译项目rqt:以插件的形式实现各种GUI工具。它可以将所有现有的GUI工具作为可停靠窗口运行,这使得管理多个窗口变得更加容易。rqt由三个主要部分组成:rqt(core)、rqt_common_plugins和rqt_robot_plugins。rqt_common_plugins包含了一些常用的插件,如rqt_graph、rqt_plot和rqt_console等
Creating a workspace — ROS 2 Documentation: Humble documentation
功能包:
实现特定功能的包package
ros2 pkg create --build-type {cmake,ament_cmake,ament_python} --dependencies <依赖名字> 创建功能包
ros2 pkg list 列出所有功能包
ros2 pkg executables <package_name> 列出所指的功能包里的所有可执行文件
ros2 pkg xml <package_name> 列出所指的功能包里的清单描述文件manifest.xml文件
Creating a workspace — ROS 2 Documentation: Humble documentation
节点:
执行具体某一任务的worker单元
ros2 run <package_name> <executable_name> 启动 包下的 中的节点
ros2 node list
ros2 node info <节点名称>
话题:
节点间数据传输的桥梁
ros2 topic list #查看话题列表
ros2 topic echo# 查看话题内容
ros2 topic info# 查看话题详情
ros2 topic pub #发布指令
ros2 topic hz #查看话题发布周期
服务:
节点间的你问我答
ros2 service list #查看服务列表
ros2 service info# 查看服务详情
ros2 service type# 查看服务的类型
ros2 service find #查找特定类型的服务
ros2 service call #通过终端发送服务请求
动作:
完成行为的流程管理
ros2 action list #查看动作列表
ros2 action info# 查看动作详情
ros2 action send_goal # 发送动作请求
参数:
机器人系统的全局字典
ros2 param list #查看参数列表
ros2 param info# 查看某节点的参数详情
ros2 param set# 参数设置
ros2 param get# 参数获取
ros2 param dump/load # 参数dump/load
通信接口:
数据传递的标准结构
分布式通信:
多计算平台的任务分配
DDS:
机器人的神经网络
launch:
多节点启动与配置脚本
TF:机器人坐标系管理神器
URDF:ROS机器人建模方法
Gazebo:三维物理仿真平台
Rviz:三维可视化显示平台
RQT:模块化可视化工具