ROS入门学习记录【1】

0.ROS入门21讲

在这里插入图片描述

1.Linux系统基础操作

在这里插入图片描述
pwd:查看当前路径
cd:切换路径
cd…:返回上一级目录
mkdir:创建新的文件夹
touch:创建文件
mv:剪切【mv file /home/hjs】【mv 文件名 目标路径】
cp:复制 【cp file /home/hjs】【cp 文件名 目标路径】【cp 文件名 目标路径/新文件名】
rm:删除【rm 文件或者文件名】
sudo:提升用户权限
apt-get:application_get,用于获取应用程序
update:用来更新,相当于Ubuntu中的更新

指令 --help:帮助指令,查看指令使用方法,例如:sudo --help
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.C++&python极简基础

在这里插入图片描述在这里插入图片描述

g++ c++_for.cpp -o c++_for

g++指令编译
c++_for.cpp代码文件
-o把代码文件编译成什么命名的可执行文件
c++_for经编译生成的可执行文件的名字

python python_for.py

没有编译的过程,直接通过python解析器解析python代码并且执行

C++编译+执行演示:

hjs@joker:~$ cd linux
hjs@joker:~/linux$ g++ c++_for.cpp -o c++_for
hjs@joker:~/linux$ ./c++_for
a = 5
a = 6
a = 7
a = 8
a = 9

Python解析演示:

hjs@joker:~/linux$ python python_for.py
a =  5
a =  6
a =  7
a =  8
a =  9

在这里插入图片描述在这里插入图片描述

3. 安装ROS系统

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4. ROS是什么

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5. ROS的核心概念

在这里插入图片描述ROS Master提供参数服务器,里边有专门的区域用来记录全局变量的变量名和变量值
,可以由各个节点去访问和读写,从而为各个节点提供参数服务。

在这里插入图片描述【发布/订阅模型】节点间的数据传输通道叫做话题,话题中传输的数据类型叫做消息。

在这里插入图片描述【请求/应答模型】双向同步通信,带有反馈机制,使用.srv文件定义Request和Response里边的数据结构

在这里插入图片描述
在这里插入图片描述在ROS Master里边维护一个参数服务器,会保存一部分参数来作为全局共享字典,所有节点都可以通过这些网络来访问这些字典
在这里插入图片描述

6. ROS命令行工具的使用

在这里插入图片描述在这里插入图片描述
【1】打开终端,启动ROS Master

roscore

【2】新开一个终端,rosrun运行一个节点 rosrun 功能包名称 节点名称

rosrun turtlesim turtlesim_node //注意灵活应用Tab键

【3】新开一个节点,rosrun运行按键控制节点

rosrun turtlesim turtle_teleop_key

现在就来分析一下小海龟背后的ROS知识:
【4】新开一个终端,查看运行计算图

rqt_graph

在这里插入图片描述/turtlesim是仿真器节点,/teleop_turtle是键盘控制节点,两个节点间存在数据通信,通讯话题是/turtle1/cmd_vel,话题里边的内容就是速度指令的内容
【5】rosnode
rosnode list :把系统中所有节点列出来
rosnode info :查看节点信息rosnode info 节点名称

rosnode info /turtlesim

在这里插入图片描述可以清晰地看到该节点发布和订阅的话题有哪些

【6】rostopic
rostopic list :打印出当前系统的话题列表
rostopic pub :发布数据给某一个topic rostopic pub /话题名/数据类型/数据具体内容

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"

运行后发现海龟运动了,但是只是动了一下

rostopic pub -r 10 /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"

这里边 -r 的意思就是rate(发布速率),数字10表示10hz,即一秒钟发布10次

【7】rosmsg
rosmsg show :查看消息的具体数据结构rosmsg 消息名称

rosmsg show geometry_msgs/Twist

【8】rosservice
rosservice list :查看当前所有服务的内容
rosservice call :请求服务,这里是请求一个产生新的海龟的服务

rosservice call /spawn "x: 2.0
y: 2.0
theta: 0.0
name: "turtle2""

在这里插入图片描述-a 就是 -all,把所有的数据都记录下来
-O 就是保存成一个压缩包,后边紧跟的是压缩包的名字,生成了cmd_record.bag

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值