rosparam、rostopic、rosservice、rosnode、rosbag的使用

一、了解ubuntu的使用

  1. mkdir

创建文件夹mkdir

mkdir -p spot_ws/src                 

//若需要创建父子两层文件夹需要加上参数-p

  1. cd

进入文件夹cd

cd spot_ws/src
  1. pwd

查看当前所在路径pwd

  1. touch

创建文件touch

touch main.cpp
  1. ls

列出当前文件夹下的所有文件或文件夹ls

  1. mv

将一个文件移动到另一位置mv

sudo mv main.cpp /home/huangqifan/  

//sudo管理员权限,把当前文件夹下的mian.cpp移动到 /home/huangqifan/目录下

  1. cp

将一个文件复制到另一位置cp

sudo cp /home/huangqifan/main.cpp ./         

./ 表当前所在文件夹,将main.cpp复制到当前文件夹下

  1. 更新源
sudo apt update                  

//连接手机热点成功率高
在这里插入图片描述

  1. 快捷键

Ctrl+alt+T新开启一个独立终端
Ctrl+shift+T在当前终端基础上开启一个终端
Ctrl+shift+c复制
Ctrl+c中止当前执行的操作

1.2 ubuntu下创建并执行c++、python文件

1.2.1 c++程序
1.安装编译c++的环境

sudo apt-get install gcc g++

2.编写c++文件

touch hello.cpp
sudo gedit hello.cpp      

//gedit为文档编辑器
书写程序如下

#include<iostream>
using namespace std;

int main(){
    cout<<"hello world"<<endl;
    return 0;
}

3.生成可执行程序

g++ -o hello hello.cpp

//-o后加生成的可执行文件名hello
4.执行hello.cpp

./hello       

//进入到文件所在路径,运行可执行文件
在这里插入图片描述

1.2.2 python文件
1.创建文件

touch 01-hipython.py
sudo gedit  01-hipython.py

//编辑文件

2.书写程序

# -*- coding: utf-8 -*-       #加这个之后就可以添加汉语注释
i=0
for i in range (0,5):
print("hello world %d" %i)

3.执行程序

python 01-hipython.py

在这里插入图片描述

ros命令

2.1 打开ros小乌龟

roscore             //分别在3个终端执行
rosrun turtlesim turtlesim_node             
rosrun turtlesim turtle_teleop_key

在这里插入图片描述

2.2 ros命令
1.rosparam命令
rosparam双击Tab即可列出rosparam的可选功能
rosparam list //列出当前存在的所有参数
rosparam get /参数名 //获取某参数的参数值
rosparam set /参数名 //设置某参数的参数值
rosparam delete /参数名 //删除参数
rosparam dump params.yaml //将所有param存储到当前文件夹下的params.yaml 里面
rosparam load params.yaml //恢复导出的数据
在这里插入图片描述

2.rosnode命令

rosnode list列出当前打开的节点
rosnode info /节点名 列出所选节点信息
在这里插入图片描述

3.rostopic命令

rostopic list 话题名 //列出当前存在话题
rostopic info 话题名 //查看指定话题的信息
rostopic find 消息类型 //查找使用指定消息类型的话题
在这里插入图片描述
rostopic echo 话题名 //实时显示指定话题的消息内容
在这里插入图片描述
rostopic bw /话题名 //显示指定话题的消息数据带宽(bandwidth)(传输速度)
在这里插入图片描述
rostopic type 话题名 //显示指定话题的消息类型
rostopic hz 话题名 //显示指定话题的消息数据发布周期在这里插入图片描述
由图平均发布周期62Hz
rostopic pub [话题名称] [消息类型] [参数]:使用指定的话题名称发布消息

rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- ‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]

//-1只发布一次消息(-r循环发布) 在x轴坐标上以每秒2.0 m的速度移动,以z轴为中心,每秒旋转1.8rad
在这里插入图片描述

  1. rosservice命令

rosservice list 服务名 //列出当前活跃的服务
rosservice call 服务名 //调用服务
rosservice call /clear //清除小乌龟背景中的轨迹
rosservice type 服务名 //查看服务的类型(已知服务查类型)

在这里插入图片描述
上图等效于rosservice type /spawn | rossrv show

&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo ‘2’
| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l
|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo “fail”

在这里插入图片描述
rossrv show 服务类型 //查看某类型服务请求回应的数据(类型)

rosservice和rossrv区别:前者是对ROS服务本身的管理,后者是对ROS 服务类型的管理,相当于话题的rostopic和rosmsg。
rosservice call /spawn 2 2 0.2 "" //对应上面请求的四个参数,其中name为空
在x=2,y=2,角度为0.2处生成乌龟
rosservice find 服务类型 //查找使用指定服务类型的服务 已知类型查服务

  1. rosbag命令

rosbag record -a //录制所有话题,录制的 bag 包以时间命名
rosbag record -O bag_name.bag /topic1_name /topic2_name /xxx //-O加包名
rosbag play record.bag //回放
rosbag play --pause record.bag //以暂停的方式启动回放暂停播放,等待按空格开启播放
rosbag play -r 0.5 record.bag 以 0.5 倍速回放也就是以录制频率的一半回放

record:用指定的话题录制一个 bag 包
info:显示一个 bag 包的基本信息,比如包含哪些话题
play:回放一个或者多个 bag 包
check:检查一个 bag 包在当前的系统中是否可以回放和迁移
compress:压缩一个或多个 bag 包
decompress:解压缩一个或多个 bag 包
reindex:重新索引一个或多个损坏 bag 包
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灞気水笵er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值