【ROS学习笔记】4.玩转小海龟 |
您所在的位置:网站首页 › python小海龟编程软件 › 【ROS学习笔记】4.玩转小海龟 |
基于B站ROS公开课:【古月居】古月·ROS入门21讲 基于Ubuntu 20.04.1、Noetic版本 修正错误,并详述Python版本部署 目录(本节基于P8) 1 回顾第一个小海龟程序2 查看系统中的计算图:rqt_graph3 rosnode显示节点列表:rosnode list查看节点信息:rosnode info 4 rostopic显示topic列表:rostopic list手动发布数据给topic 5 rosmsg查看消息数据结构 6 使用服务通信方式:rosservice查看服务列表:rosservice list手动通过服务来进行操作 7 话题记录和复现:rosbag 1 回顾第一个小海龟程序打开小海龟程序: 终端,启动ROS Master: roscore终端2,启动小海龟仿真器: (输入rosrun turtlesim,敲两下Tab健可查看该命令下有哪些功能) rosrun turtlesim turtlesim_node终端3,启动海龟控制节点: rosrun turtlesim turtle_teleop_key新建终端窗口: rqt_graph可展示系统中运行的计算图:
查看节点的具体信息:rosnode info /节点名 我们查看海龟仿真器节点/turtlesim的信息: 我们来手动发布数据给topic来控制海龟移动,使用rostopic pub 上图我们看到小海龟是通过/cmd_vel这个topic进行发布信息而移动的,这次我们通过手动publish数据给这个topic来控制小海龟移动。 格式:rostopic pub (参数) 话题名 消息数据结构 “具体数据” 例,我们输入:(我们可以使用Tab键让我们自动填充数据,使用方向键←→移动到指定位置修改数据,比如我们把x的0.0改成了1.0) rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear: x: 1.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"小海龟沿着正前方向移动了1单位,我们再使用参数-r 5移动5次,小海龟就撞上了南墙。 Ctrl+C就可以终止。 上例我们使用了消息数据结构定义了一个消息传给topic,我们可以查看有哪些消息数据结构。 查看消息数据结构使用:rosmsg show … 在输入过程中,我们可以勤使用Tab键查看或填充内容。 上例我们使用了向topic传msg来控制节点,这次我们试试第二种通信方式service。 查看服务列表:rosservice list这次我们通过人工产生服务(service)来诞生一只新海龟,使用rosservice call /spawn … 在服务列表中,有个/spawn服务,可以产生一只新的海龟。 格式:rosservice call (参数) 服务名 “具体数据” 试想我们尝试让海龟以我们指定的路径移动了一回,我们想要把它 记录下来,拷贝到自己的实验室再复现出来,我们就可以使用话题记录功能。 常用命令:rosbag record -a -O 文件名 比如我们使用之前打开的键盘操作器让海龟移动一圈并记录下来: (1)打开新终端输入rosbag record -a -O cmd_record 这样就开始记录了: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |