ROS-小海龟案例---ROS命令

ROS-小海龟案例—ROS命令

rosnoderos:节点管理命令,通过此命令可以查看、操作以及监测已经运行的ros节点:

rosnode                                 命令 作用
rosnode list                            列出当前运行的node信息
rosnode info /话题名                     显示出node的详细信息
rosnode kill /话题名                     结束某个node
rosnode ping                            测试连接节点
rosnode machine                         列出在特定机器或列表机器上运行的节点
rosnode cleanup                         清除不可到达节点的注册信息

rostopic:用于显示有关ROS 主题的调试信息,包括发布者,订阅者,发布频率和ROS消息

rostopic list                                   列出当前所有的topic
rostopic info    /话题名                          显示某个topic的属性信息
rostopic echo    /话题名                         显示某个topic的内容
rostopic pub     /话题名                         ... 向某个topic发布内容
rostopic bw      /话题名                          查看某个topic的带宽
rostopic hz       /话题名                          查看某个topic的频率
rostopic find topic_type                          查找某个类型的topic
rostopic type topic_name                          查看某个topic的类型(msg)
rostopic delay	                                   显示带有 header 的主题延迟

rospack是对package管理的工具,命令的用法如下:

rospack命令 作用

rospack help	                                 显示rospack的用法
rospack list	                                 列出本机所有package
rospack depends [package]	                     显示package的依赖包
rospack find [package]	                         定位某个package
rospack profile	                                 刷新所有package的位置记录

rosdep 是用于管理ROS package依赖项的命令行工具

rosdep check [package]	                 检查package的依赖是否满足
rosdep install [package]	             安装package的依赖
rosdep db	                             生成和显示依赖数据库
rosdep init	                             初始化/etc/ros/rosdep中的源
rosdep keys	                             检查package的依赖是否满足
rosdep update	                         更新本地的rosdep数据库

rosmsg是用于显示有关 ROS消息类型的信息的命令行工具。

rosmsg list	               列出系统上所有的消息
rosmsg show msg_name	   显示某个消息的描述
rosmsg info msg_name	   显示某个消息的信息
rosmsg md5	               显示 md5 加密后的消息
rosmsg package	           显示某个功能包下的所有消息
rosmsg packages	           列出包含消息的功能包

rosservice包含用于列出和查询ROSServices的rosservice命令行工具。调用部分服务时,如果对相关工作空间没有配置 path,需要进入工作空间调用 source ./devel/setup.bash ,详细命令如下表:

rosservice list	             显示服务列表
rosservice info	             打印服务信息
rosservice type	             打印服务类型
rosservice uri	             打印服务ROSRPC uri
rosservice find	             按服务类型查找服务
rosservice call	             使用所提供的args调用服务
rosservice args	

rossrv是用于显示有关ROS服务类型的信息的命令行工具,如下表:

rossrv show	                   显示服务消息详情
rossrv info	                   显示服务消息相关信息
rossrv list	                   列出所有服务信息
rossrv                         md5	显示 md5 加密后的服务消息
rossrv package	               列出某个包下所有服务消息
rossrv packages	               列出包含服务消息的所有包

rosparam包含rosparam命令行工具,用于使用YAML编码文件在参数服务器上获取和设置ROS参数使用命令行来维护参数服务器,如下表:

rosparam set param_key param_value	           设置参数
rosparam get param_key	                       显示参数
rosparam load file_name	                       从外部文件加载参数
rosparam dump filename	                       保存参数到外部文件
rosparam delete	                               删除参数
rosparam list	                               列出所有参数名称

启动小龟程序

roscore                                            #启动ros master
rosrun  turtlesim turtlesim_node                   #启动小龟仿真器
rosrun  turtlesim turtle_teleop_key                #启动小龟控制节点
rosbag  record -a -O cmd_record                    #话题记录
rosbag play cmd_record.bag                         #话题复现

显示话题图:

rqt_graph

在这里插入图片描述

查看海龟仿真话题接口数据内容

~$ rosnode info /turtlesim   //查看海龟仿真话题接口数据内容
--------------------------------------------------------------------------------
Node [/turtlesim]
Publications:                                    //turtlesim 这个节点发布那些数据* /rosout [rosgraph_msgs/Log]                   //日志* /turtle1/color_sensor [turtlesim/Color]       //颜色信息* /turtle1/pose [turtlesim/Pose]                //位置Subscriptions:                                   //订阅那些数据* /turtle1/cmd_vel [geometry_msgs/Twist]        //这个是键盘节点发布的指令,订阅这个指令让海龟动起来Services:                                        //服务* /clear* /kill* /reset* /spawn                                        //这个服务可以产生新的海龟* /turtle1/set_pen* /turtle1/teleport_absolute* /turtle1/teleport_relative* /turtlesim/get_loggers* /turtlesim/set_logger_levelcontacting node http://xinghai:41471/ ...        //内部通信的机制
Pid: 15318
Connections:* topic: /rosout* to: /rosout* direction: outbound (37887 - 127.0.0.1:46600) [26]* transport: TCPROS* topic: /turtle1/cmd_vel* to: /teleop_turtle (http://xinghai:38343/)* direction: inbound (54384 - xinghai:38191) [28]* transport: TCPROS

在这里插入图片描述

话题相关的指令:

rostopic :话题rostopic echo   // 打印话题里面的内容的rostopic list:话题列表# 给小龟话题的是/turtle1/cmd_vel 

使用话题查看小海龟实时位置

rostopic echo /turtle1/pose    
x: 5.544444561004639
y: 5.544444561004639
theta: 0.0
linear_velocity: 0.0     //线速度
angular_velocity: 0.0    //角速度
---
x: 5.544444561004639
y: 5.544444561004639
theta: 0.0
linear_velocity: 0.0
angular_velocity: 0.0
---

发布某一话题:例发布海龟的速度话题

rostopic  pub                                                         //去发布某一话题
rostopic list                                                         //查看话题
rostopic  pub   /turtle1/cmd_vel  geometry_msgs/Twist                 //发布话题海龟的速度"linear:                                                            //linear:线速度x: 0.0y: 0.0z: 0.0
angular:                                                             //angular:角速度x: 0.0y: 0.0z: 0.0" //加上:   -r 10  :以一秒中发布10次发布指令
rostopic  pub -r 10  /turtle1/cmd_vel  geometry_msgs/Twist                 //发布话题海龟的速度

在这里插入图片描述

发布请求:例如请求一个新的海龟

rosservice call            //发布请求
rosservice  list :        //请求的节点列出来// 请求/spawn服务
rosservice call /spawn     //用Tab来把后面的补全:创建一个新海龟,海龟名字要写
"x: 0.0                    //在什么位置产生,名字
y: 0.0
theta: 0.0
name: ''

在这里插入图片描述

话题记录

rosbag record -a -O cmd_record

在这里插入图片描述

话题复现

rosbag play cmd_record.bag
小龟能将保存下来的路程保存下来自己做行走

查看消息的数据结构

在这里插入图片描述

获取小龟页面的节点值

rosparam list #查询节点rosparam get  节点名称       #获取节点信息rosservice call /clear "{}"#修改rgb值
rosparam get /background_r 255
rosparam get /background_g 255
rosparam get /background_b 255rosservice call /clear "{}"  #刷新rgb值rosparam dump param.yaml  #保存现在的参数值

海龟跟踪
在这里插入图片描述
链接查看树
在这里插入图片描述

海龟位置角度描述
在这里插入图片描述
in Quaternion :四元素

in RPY (radian) :弧度

in RPY (degree) :角度

roslaunch turtle_tf turtle_tf_demo.launch  #小龟跟踪rosrun tf  view_frames   #查看链接rosrun tf tf_echo turtle1 turtle2  #位置角度rosrun rviz rviz -d 'rospack find turtle_tf' /rviz/turtle_rviz.rviz     #打开RVIz软件

source ~/tutorial_ws/devel/setup.bash在这里插入图片描述

在这里插入图片描述

Command ‘roscore’ not found, but can be installed with:

sudo apt install python3-roslaunch

在这里插入图片描述

安装的辅助包

amcl   gmapping  map_server  move_base  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/239235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter参数化 —— 循环断言多方法

1、参数化接口测试数据 注意:csv文档参数化,里面有多少条数据,就要在线程组里循环多少次,不然就只执行一次 2、添加配置元件-计数器 关于计数器: ①Starting Value:给定计数器的初始值; ②递增&#xff1a…

Java开发框架和中间件面试题(1)

1.什么是Spring框架? Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说的Spring框架就是Spring Framework,它是很多模块的集合,使用这些模块可以很方便的协助我们进行开发。这些模块是核心容器、数据访…

安卓手机如何打开ics文件?ics格式文件用什么软件打开?

什么是ics格式文件?Ics格式文件是什么呢?其实ics格式文件是一种用于保存和交换日历信息的标准格式,它通常可以保存事件的名称、时间等信息,有不少日历、待办软件在导出数据的时候,都是以ics文件导出的。 有不少网友目…

求职方略-倒金字塔型自我介绍

第一步,开头第一句话提纲挈领,点出你的主要“卖点” 自我介绍的第一句话很重要,要有足够的吸引力,有足够的信息量,还要有足够的说服力,能产生先声夺人的效果。 一般的自我介绍喜欢按照时间线索依次介绍自己的经历,例如:“我大学毕业后就进入一家大公司的研发中心,工…

java.lang.IllegalStateException: Duplicate key

序言 最近监控扫描出我们项目的某些异常信息,报错java.lang.IllegalStateException: Duplicate key xxx,看到异常来自stream流,然后定位看了一下是某位同事的代码使用stream流把List转Map集合出现重复的key异常信息。List集合A对象来源于某个…

C# WPF上位机开发(QT vs WPF)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 最近经常收到朋友们的私信,他们对C# WPF开发很感兴趣,但是呢,正当准备学习的时候,又有人告诉他们应…

Linux编程环境和软件设施安装

目录 一、Linux编程环境安装 1.yum安装 2. vim安装(文本编辑工具) 3. lrzsz安装(文件上传下载工具) (1) 搜索lrzsz安装包 (2) 在线安装lrzsz (3) 测试 二、Linux软件安装 1. 软件安装方…

Ubuntu 常用命令之 history 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 history命令在Ubuntu系统中用于显示用户执行过的命令列表。这个命令在bash shell中非常有用,特别是当你需要记住你之前执行过的命令时。 history命令的参数如下 -c:清除历史记录。-d offset:删…

Python如何生成随机图形验证码

python生成随机图形验证码 使用python生成随机图片验证码,需要使用pillow模块 1.安装pillow模块 pip install pillow 2.pillow模块的基本使用 1.创建图片 from PIL import Image #定义使用Image类实例化一个长为400px,宽为400px,基于RGB的(255,255,255)颜色的图片 img1Ima…

win11下配置visual studio 2022+PCL1.13.1

第一部分:visual studio2022 安装 vs官网网址如下:https://visualstudio.microsoft.com/zh-hans/vs/ 第一步:我们打开官网链接,按如下操作点击下载免费版本的exe文件 第二步:打开下载目录下的安装文件进行安装&#…

SQL 多字段条件查询

SQL 多字段条件查询 一个数据库表,几十个字段,查找任意字段里包含北京的记录,在 mysql 里这句 sql 应该是这样: SELECT * FROM table WHERE concat(field1,field2,field3……fieldn) like ‘% 北京 %’ 反正是少不了将几十个字…

【论文笔记】3D Gaussian Splatting for Real-Time Radiance Field Rendering

原文链接:https://arxiv.org/abs/2308.04079 1. 引言 网孔和点是最常见的3D场景表达,因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场(NeRF)则建立连续的场景表达便于优化,但渲染时的随机采样耗时且引入噪声…

Win11安装ise14.7~不需要虚拟机了~

之前一直无法在win11上安装ise14.7,网上搜索也无果,所有一直vmware虚拟机使用。直到最近看了水木上jesce的回复,试了下果然可以直接安装使用的。 步骤如下即可: 安装时切勿勾选最后一项,Enable WebTalk to send softwa…

Python (十五)pandas(三)

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

【vtkWidgetRepresentation】第十六期 vtkContourRepresentation(三)

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtkContourLineInterpolator接口的源码剖析和实例应用,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录 前言 …

Collecting package metadata (current_repodata.json): failed(解决方案)

如果有重装过anaconda,在C盘的用户目录下,会有一个名叫.condarc的文件会自动生成。 当使用conda install和conda create命令会出现下面的问题:Collecting package metadata (current_repodata.json): failed 解决方案: 1.打开Anac…

深圳鼎信|配电网故障定位与预警装置_高效_快速

电能是我们生活和生产的一种主要能源。在电能供应过程中,配电网是电网的末端环节,但在能源转型的背景下,配电网逐渐成为电网发展的前沿阵地,将来也会越来越重要。 我国疆土辽阔,不同地区配电网的结构各具特色。总的来说…

openGauss学习笔记-169 openGauss 数据库运维-备份与恢复-导入数据-更新表中数据-使用DML命令更新表

文章目录 openGauss学习笔记-169 openGauss 数据库运维-备份与恢复-导入数据-更新表中数据-使用DML命令更新表169.1 操作步骤 openGauss学习笔记-169 openGauss 数据库运维-备份与恢复-导入数据-更新表中数据-使用DML命令更新表 openGauss支持标准的数据库操作语言&#xff08…

我的应用我做主:扩展线程池

自定义线程创建:ThreadFactory 线程池中的线程是从哪里来的呢? ThreadPoolExecutor(int corePoolSize,//指定了线程池种的线程数量 int maximumPoolSize,//指定了线程池中的最大线程数量。 long keepAliveTime,// 当线程池数量超过了corePoolSize&#x…

信息收集 - 谷歌hack

搜索引擎 FOFA网络空间测绘:https://fofa.info/ FOFA(FOcus on Assets)是一个网络空间搜索引擎,可以帮助用户快速定位和收集特定目标的信息。 ZoomEye:https://www.zoomeye.org ZoomEye 是一个网络空间搜索引擎,可以用于发现和收集特定目标的网络设备、Web应用程序、开放…