平邑建设局网站,做网站必须购买空间吗?,中国建设厅官网,网站建设公司的经营范围【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令
目录
【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令
一、上讲回顾
二、ROS2核心命令讲解
1、daemon-各种守护进程相关的子命令
2、node-各种节点进程相关的子命令 3、pkg-各种包进程相关的子命令 4、run运行特定软…【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令
目录
【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令
一、上讲回顾
二、ROS2核心命令讲解
1、daemon-各种守护进程相关的子命令
2、node-各种节点进程相关的子命令 3、pkg-各种包进程相关的子命令 4、run运行特定软件包的可行性文件
5、topic各种话题进程相关的子命令
6、security各种安全进程相关的子命令
7、service各种服务进程相关的子命令
7、ROS2参数
8、ROS2操作Action 9、ROS2消息日志
10、ROS2自启动节点launch
11、数据记录和播放 一、上讲回顾 在上一讲开发环境搭建中我们讲解了如何搭建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 createROS2功能包创建命令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 BSL-1.0 BSD-2.0 BSD-2-Clause BSD-3-Clause GPL-3.0-only LGPL-3.0-only MIT MIT-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 打开节点主题显示图形 rqt_graph 打开主题列表 ros2 topic list -t 查看主题数据 ros2 topic echo topic_name ros2 topic echo /turtle1/cmd_vel 查看主题信息 ros2 topic info /turtle1/cmd_vel 查看主题数据结构 ros2 interface show geometry_msgs/msg/Twist 发布主题数据消息 ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist {linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}} ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist {linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}} 注:--once 单次发送 --rate 1 循环发送频率1HZ 查看主题信息 ros2 topic echo /turtle1/pose 查看主题发送速率 ros2 topic hz /turtle1/pose 6、security各种安全进程相关的子命令 create_enclave Create enclavecreate_key 创建秘钥create_keystore 创建秘钥库create_permission 创建许可generate_artifacts 从身份和策略文件列表中生成密钥和许可文件generate_policy Generate XML policy file from ROS graph datalist_enclaves List enclaves in keystorelist_keys DEPRECATED: List enclaves in keystore. Use list_enclaves instead
7、service各种服务进程相关的子命令
call调用服务
list列出所有的服务
ros2 service list 服务基于呼叫-应答模型 查看服务列表 ros2 service list ros2 service list -t 查看服务类型 ros2 service type service_name ros2 service type /clear 查看服务查找 ros2 service find type_name ros2 service find std_srvs/srv/Empty 服务展示显示 ros2 interface show type_name.srv ros2 interface show std_srvs/srv/Empty.srv ros2 interface show turtlesim/srv/Spawn 服务调用call ros2 service call service_name service_type arguments ros2 service call /clear std_srvs/srv/Empty ros2 service call /spawn turtlesim/srv/Spawn {x: 2, y: 2, theta: 0.2, name: turtle2} 7、ROS2参数 查看参数列表 ros2 param list ros2参数get ros2 param get node_name parameter_name ros2 param get /turtlesim background_g ros2 参数set ros2 param set node_name parameter_name value ros2 param set /turtlesim background_r 150 ros2参数存储 ros2 param dump node_name ros2 param dump /turtlesim ros2 参数加载 ros2 param load node_name parameter_file ros2 param load /turtlesim ./turtlesim.yaml ros2 节点启动时加载参数 ros2 run package_name executable_name --ros-args --params-file file_name ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml 8、ROS2操作Action (1)节点信息查看 ros2 node info /turtlesim ros2 node info /teleop_turtle (2)查询操作列表 ros2 action list ros2 action list -t (3)操作动作信息 ros2 action info /turtle1/rotate_absolute (4)操作界面显示 ros2 interface show turtlesim/action/RotateAbsolute (5)发送目标动作 ros2 action send_goal action_name action_type values ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute {theta: 1.57} ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute {theta: -1.57} --feedback 9、ROS2消息日志
消息等级
Fatal消息指示系统将终止以尝试保护自身免受损害。
Error消息指示不一定会损坏系统但会阻止其正常运行的重大问题。
Warn消息指示可能代表更深层次问题的意外活动或非理想结果但不会完全损害功能。
Info消息指示事件和状态更新用于直观验证系统是否按预期运行。
Debug消息详细说明了系统执行的整个分步过程。 启动信息终端 ros2 run rqt_console rqt_console 设置节点启动消息等级 ros2 run turtlesim turtlesim_node --ros-args --log-level WARN 10、ROS2自启动节点launch 执行自动文件 ros2 launch package_name launch_file_name ros2 launch path_to_launch_file 执行自动文件后接参数 ros2 launch package_name launch_file_name background_r:255 ros2 launch path_to_launch_file background_r:255 参考启动文件 !-- example.launch.xml -- launch !-- args that can be set from the command line or a default will be used -- arg namebackground_r default0/ arg namebackground_g default255/ arg namebackground_b default0/ arg namechatter_ns defaultmy/chatter/ns/ !-- include another launch file -- include file$(find-pkg-share demo_nodes_cpp)/launch/topics/talker_listener.launch.py/ !-- include another launch file in the chatter_ns namespace-- group !-- push-ros-namespace to set namespace of included nodes -- push-ros-namespace namespace$(var chatter_ns)/ include file$(find-pkg-share demo_nodes_cpp)/launch/topics/talker_listener.launch.py/ /group !-- start a turtlesim_node in the turtlesim1 namespace -- node pkgturtlesim execturtlesim_node namesim namespaceturtlesim1/ !-- start another turtlesim_node in the turtlesim2 namespace and use args to set parameters -- node pkgturtlesim execturtlesim_node namesim namespaceturtlesim2 param namebackground_r value$(var background_r)/ param namebackground_g value$(var background_g)/ param namebackground_b value$(var background_b)/ /node !-- perform remap so both turtles listen to the same command topic -- node pkgturtlesim execmimic namemimic remap from/input/pose to/turtlesim1/turtle1/pose/ remap from/output/cmd_vel to/turtlesim2/turtle1/cmd_vel/ /node /launch 11、数据记录和播放 建立测试环境 ros2 run turtlesim turtlesim_node ros2 run turtlesim turtle_teleop_key 建立记录数据存储区域 mkdir bag_files cd bag_files 选择对应主题信息 ros2 topic list ros2 topic echo /turtle1/cmd_vel 数据记录命令 ros2 bag record topic_name ros2 bag record /turtle1/cmd_vel 记录多个主题信息 ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose 查看记录信息 ros2 bag info bag_file_name ros2 bag info subset 播放记录信息 ros2 bag play subset ros2 topic hz /turtle1/pose 本节文章到此结束谢谢大家阅读。。。 文章转载自: http://www.morning.xrpjr.cn.gov.cn.xrpjr.cn http://www.morning.gydth.cn.gov.cn.gydth.cn http://www.morning.xxlz.cn.gov.cn.xxlz.cn http://www.morning.webife.com.gov.cn.webife.com http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn http://www.morning.jqrhz.cn.gov.cn.jqrhz.cn http://www.morning.rgwz.cn.gov.cn.rgwz.cn http://www.morning.rkzb.cn.gov.cn.rkzb.cn http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.qnjcx.cn.gov.cn.qnjcx.cn http://www.morning.jzlkq.cn.gov.cn.jzlkq.cn http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn http://www.morning.jmnfh.cn.gov.cn.jmnfh.cn http://www.morning.qkqgj.cn.gov.cn.qkqgj.cn http://www.morning.wbxbj.cn.gov.cn.wbxbj.cn http://www.morning.dybth.cn.gov.cn.dybth.cn http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn http://www.morning.nqmhf.cn.gov.cn.nqmhf.cn http://www.morning.rkwlg.cn.gov.cn.rkwlg.cn http://www.morning.mrbmc.cn.gov.cn.mrbmc.cn http://www.morning.bwfsn.cn.gov.cn.bwfsn.cn http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn http://www.morning.kpzrf.cn.gov.cn.kpzrf.cn http://www.morning.gwyml.cn.gov.cn.gwyml.cn http://www.morning.bdkhl.cn.gov.cn.bdkhl.cn http://www.morning.phjyb.cn.gov.cn.phjyb.cn http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn http://www.morning.qbdqc.cn.gov.cn.qbdqc.cn http://www.morning.cpqqf.cn.gov.cn.cpqqf.cn http://www.morning.nfks.cn.gov.cn.nfks.cn http://www.morning.kjfsd.cn.gov.cn.kjfsd.cn http://www.morning.pfbx.cn.gov.cn.pfbx.cn http://www.morning.ptslx.cn.gov.cn.ptslx.cn http://www.morning.ymbqr.cn.gov.cn.ymbqr.cn http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn http://www.morning.fgrcd.cn.gov.cn.fgrcd.cn http://www.morning.rhjhy.cn.gov.cn.rhjhy.cn http://www.morning.csdgt.cn.gov.cn.csdgt.cn http://www.morning.cpnlq.cn.gov.cn.cpnlq.cn http://www.morning.xbkcr.cn.gov.cn.xbkcr.cn http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.mooncore.cn.gov.cn.mooncore.cn http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn http://www.morning.ttnfc.cn.gov.cn.ttnfc.cn http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn http://www.morning.qbrs.cn.gov.cn.qbrs.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.lczxm.cn.gov.cn.lczxm.cn http://www.morning.bwznl.cn.gov.cn.bwznl.cn http://www.morning.dqzcf.cn.gov.cn.dqzcf.cn http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn http://www.morning.pflpb.cn.gov.cn.pflpb.cn http://www.morning.bpmnc.cn.gov.cn.bpmnc.cn http://www.morning.hcgbm.cn.gov.cn.hcgbm.cn http://www.morning.jfgmx.cn.gov.cn.jfgmx.cn http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn http://www.morning.ndtzy.cn.gov.cn.ndtzy.cn http://www.morning.mzgq.cn.gov.cn.mzgq.cn http://www.morning.fpzz1.cn.gov.cn.fpzz1.cn http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn http://www.morning.ttvtv.cn.gov.cn.ttvtv.cn http://www.morning.qnyf.cn.gov.cn.qnyf.cn http://www.morning.xpmhs.cn.gov.cn.xpmhs.cn http://www.morning.jwwfk.cn.gov.cn.jwwfk.cn http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn http://www.morning.rwhlf.cn.gov.cn.rwhlf.cn http://www.morning.ffbp.cn.gov.cn.ffbp.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.fznj.cn.gov.cn.fznj.cn http://www.morning.spfh.cn.gov.cn.spfh.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.wkmpx.cn.gov.cn.wkmpx.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.pkdng.cn.gov.cn.pkdng.cn http://www.morning.dqzcf.cn.gov.cn.dqzcf.cn http://www.morning.ljzss.cn.gov.cn.ljzss.cn