【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令
一、上讲回顾
在上一讲开发环境搭建中,我们讲解了如何搭建Ubuntu系统环境和ROS2开发运行环境。
1.Ubuntu系统安装
2.ROS2系统环境安装
二、ROS2核心命令讲解
1、daemon-各种守护进程相关的子命令
查看帮助:
ros2 daemon -h
启动daemon
ros2 daemon start
查看状态
ros2 daemon status
停止daemon
ros2 daemon stop
守护进程用途:按照字面意思起到守护用途。类似ros1 master中心节点功能,用于减少节点之间发现的时间。
2、node-各种节点进程相关的子命令
启动一个节点用于测试
ros2 run demo_nodes_cpp talker
输出节点列表:
ros2 node list
查看节点信息
ros2 node info /talker
3、pkg-各种包进程相关的子命令
创建功能包命令:指定包名、编译方式、依赖项、节点名等
命令格式:
ros2 pkg create RobotDotTest --build-type ament_python --node-name RobotDotTest_node --dependencies rclpy std_msgs sensor_msgs --license Apache-2.0
命令 | 说明 |
ros2 pkg create | ROS2功能包创建命令 |
RobotDotTest | 所建功能包名称 |
--build-type ament_python | 指定编程语言 |
-node-name RobotDotTest_node | 节点名称 |
--dependencies rclpy std_msgs sensor_msgs | 指定依赖模块,rclpy是python编程必选的, std_msgs和sensor_msgs是我们要用的消息模块,也可以不指定手动配置 |
--license Apache-2.0 | 指定license Apache-2.0 |
查看
---------------------------------------
查看包列表
ros2 pkg list
executables输出特定于软件包的可执行文件列表:
ros2 pkg executables turtlesim
prefix 输出包的前缀路径:
ros2 pkg prefix turtlesim
4、run运行特定软件包的可行性文件
ros2 run turtlesim turtlesim_node
ros2 run [-h] [--prefix PREFIX] package_name executable_name ...
package_name 软件包名称
executable_name 执行名称
argv 执行对应参数
5、topic各种话题进程相关的子命令
usage: ros2 topic [-h] [--include-hidden-topics]
bw 显示使用话题带宽
delay 通过header中的时间戳计算消息延迟
echo 输出话题信息
find 按消息类型查找相关话题
hz 显示话题平均发布频率
info 显示话题消息类型,订阅者数量,发布者数量
list 列出域内可使用的主题列表
pub 发布一个话题消息
type 打印话题数据类型
list 列出域内可使用的主题列表
ros2 topic list
info 显示话题消息类型,订阅者数量,发布者数量
ros2 topic info /turtle1/pose
type 打印话题数据类型
ros2 topic type /turtle1/pose
find 按消息类型查找相关话题
ros2 topic find turtlesim/msg/Pose
pub 发布一个话题消息
ros2 topic pub control_node/action geometry_msgs/msg/TwistStamped "{header: {stamp:{sec: 0, nanosec: 0}, frame_id: control_node}, twist: {linear: {x: 0.3, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}}"
echo 输出话题信息
ros2 topic echo /control_node/action
hz 显示话题平均发布频率
ros2 topic hz /control_node/action
6、security各种安全进程相关的子命令
create_enclave Create enclave
create_key 创建秘钥
create_keystore 创建秘钥库
create_permission 创建许可
generate_artifacts 从身份和策略文件列表中生成密钥和许可文件
generate_policy Generate XML policy file from ROS graph data
list_enclaves List enclaves in keystore
list_keys DEPRECATED: List enclaves in keystore. Use list_enclaves instead
7、service各种服务进程相关的子命令
call调用服务
list列出所有的服务
ros2 service list