【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具

系列文章目录

第一章 ROS命令行工具


文章目录

  • 系列文章目录
  • 前言
    • 准备工作
  • ROS命令行工具
    • rosnode
    • rostopic
    • rosmsg
    • rosservice
    • rosbag
  • 总结


前言

为学习ros雷达小车做准备,我装的是ubuntu18.04对应的ROS Melodic,安装ros参考:
在jeston nano开发板之中安装ros系统
官方文档
英伟达jetson nano上基于ubuntu18.04安装ROS
bash: rosrun: command not found
输入roscore报错:“roscore” not found
输入 sudo apt install ros-melodic-roslaunch

准备工作

安装完之后,先使用一个ROS的欢迎程序来向大家展示我们的ROS系统。
ROS系统的启动需要一个ROS Master,即节点管理器,我们可以在终端输入roscore指令来启动ROS Master。

roscore

然后我们来启动一个小海龟的例程。新打开一个终端,输入 //(Simulation模拟) 海龟模拟节点

rosrun turtlesim turtlesim_node

即可出现一个小海龟的画面,我们再打开一个终端,输入 //(teleoperation远程操作)

rosrun turtlesim turtle_teleop_key   

来启动键盘控制,通 过↑、↓、←、→来控制小乌龟的移动。
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第1张图片
我们可以再开启一个终端,查看一下节点关系和话题列表。

rqt_graph

【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第2张图片

ROS命令行工具

linux命令大全
rostopic
rosservice
rosnode
rosparam
rosmsg
rosssrv

rosnode

rosnode list 将所有用到的节点都列出来的指令,/rosout主要采集所有ros节点的日志信息,主要提交给上面的界面做显示的,只要roscore运行就有这个rosout,是默认的话题,不用关心它。
在这里插入图片描述
rosnode info /turtlesim查看具体node信息是什么样的,publications是发布的话题,subscriptions是订阅的话题,控制海龟做移动。services是一些服务来完成一些配置
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第3张图片
后面还有一些它的主页号,pid号,还有一些底层方面的信息,最重要的还是前面一些描述
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第4张图片

rostopic

rostopic list可以打印当前系统所有话题列表
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第5张图片
rostopic pub /turtle1/cmd_vel 发布数据到话题。双击tab键补全,rostopic pub + 话题名 + 消息数据结构 ,双引号框起来的是消息数据结构里的数据 ,linear线速度,angular角速度(单位ros一般跟行路相关的是m/s,角度相关的是弧度/s)
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第6张图片
-r 10 意思是10hz的频率发布话题 ,-r (rate频率)海龟就会一直走,不加的话,海龟走一次就会停止
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第7张图片
angular 的z轴是垂直于屏幕的轴,写1会画一个圆,
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第8张图片

rosmsg

rosmsg show geometry_msgs/Twist 显示消息数据结构
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第9张图片

rosservice

rosservice list服务列表
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第10张图片
rosservice call /spawn 产生另外一个海龟 spawn(产卵) 先空格,再两下tab键补全,x,y轴是基于左下角零点坐标,theta是角度,name是名字
在这里插入图片描述
产生之后就有第二个海龟的话题
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第11张图片

rosbag

话题记录的工具,记录当前所有话题数据,并且保存下来,在我们下次用的时候再复现出来,主要用于无人机想做调试,不可能每次都让无人机飞起来做调试,这个非常方便,一般做一次飞行,把所有数据都保存下来,回到实验室里面再把数据复现出来,rosbag就是干这样的事情。
rosbag record -a -O cmd_record -a就是-all 把所有数据保存下来,-O就是把数据打成一个压缩包,这个压缩包名字叫什么,就叫cmd_record,就会把当前所有数据都保存下来,默认保存在当前目录下。执行命令后,手动敲键盘使海龟移动,然后ctrl +c 退出
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第12张图片
保存在当前目录home下
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第13张图片
然后重新启动roscore 启动 rosrun turtlesim turtlesim_node 不启动键盘节点,
rosbag play cmd_record.bag执行这个海龟就会沿着上次的路线跑。
【ROS入门21讲二刷古月居】学习笔记1 ROS命令行工具_第14张图片


总结

这就是第一节要讲的。

你可能感兴趣的:(ros,linux,学习,ubuntu)