ROS学习记录第二天

一,ROS核心概念

(1)计算图(Computation Graph)

节点(Nodes):功能模块,每个节点相互独立,可以使用不同编程语言,可分布式运行在不同的主机。(节点在系统中的名称必须是唯一的)

主节点(Master):节点管理器,为节点提供命名和注册服务,帮助节点之间建立联系,提供参数服务器。

话题(Topic):节点间用来传输数据的重要总线。使用发布/订阅模型,同一个话题的订阅者或发布者可以不唯一。(异步通信机制)

消息(massage):话题数据

服务(Service):C/S模型,客户端发送请求数据,服务器完成处理后返回应答数据。(同步通信机制)

参数(Parameter):全局字典(类似于全局变量,但参数适合存储静态,非二进制的配置参数)。

功能包(Package)ROS软件中的基本单元,包含节点源码,配置文件,数据定义等。

二,ROS命令行工具

常用命令:

rostopic

rosservice

rosnode

rosparam

rosmsg

rossrv

实践过程没有截图,忘记该命令的使用方法时,tab两下查看帮助。

rosbag record -a -o cmd_record //话题记录
rosbag play cmd_record.bag //话题复现

三,工作空间和功能包

src:代码空间(Source Space)

build:编译空间(Build Space)

devel:开发空间(Development Space)

install:安装空间(Install Space)

//创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
//编译工作空间
cd ~/catkin_ws/
catkin_make
//设置环境变量
source devel/setup.bash
//检查环境变量
echo $ROS_PACKAGE_PATH
//创建功能包
cd ~/catkin_ws/src
catkin_create_pkg test_pkg std_msgs rospy roscpp //参数作用为继承std_msgs rospy roscpp
//编译功能包
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

四,后续学习计划

(1)继续学习ROS(发现b站有入门视频【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili),快速刷完古月居视频后,考虑转战b站。

(2)根据后续需要,学习Python。

(3)学习目标是实现小车定位和地图绘制

五,参考资料

(1)ROS WIKI

(2)ROS入门21讲-古月居

 

上一篇:【ROS】PC与Android局域网消息发送监听


下一篇:vue管理后台项目导出Excel表格,前端处理后台返回的二进制文件流