ROS基础理论学习日记(1)

ROS历届版本

14年Indigo,16年Kinetic,18年 20年Noetic,

ROS总体架构

通信机制,开发工具,应用功能,开源社区四位一体构建

学习所需操作工具

rqt_为ROS的图像化工具箱(即Qt),3D建模平台为rvis,虚拟仿真平台为gazebo

ROS实现功能的方式:计算图

通过以下四个模块:

1)节点(rosnode),用以表述各类软件;

2)节点管理器(ROS Master),节点的控制中心;

3)话题(rostopic),用以异步通信于节点和节点之间,传输信息(Message);

4)服务(rosservice),用以建立节点之间的连接,同步通信;

话题模型:发布者与订阅者之间通过传输字符串或其他标准信息流通信

话题通信机制:

Talker (发布者)注册(通过向ROS Master注册节点信息)

listener(订阅者)注册(同上注册)

ROS Master对于所注册的两个节点进行信息匹配

listener发送连接请求

Talker接受连接

两者开启网络通讯

Talker发布对应的信息

两者通信前五个步骤通过的是RPC(Remote Procedure Call)通信方式,易于简易且快速的连接,建立连接后,通过TCP(Transmission Control Protocol)连接,确保通信数据精准到达

与话题通信相比,服务通信缺少了两者相互连接的确认请求过程,更加简易的实现通信

ROS的文件系统

 

ROS基本使用操作:

 ROS的常用命令:

catkin_create_pkg:用于创建功能包(功能包用于保存节点,放源码的最小单元)

rospack:获取功能包的信息,如:所处位置

catkin_make:编译工作空间中的功能包(产生可执行文件)

rosrun:运行功能包中的可执行文件(编译后使用)

工作空间:

src:存放代码的空间(存放CMakeLists.txt)其为最高层CMake文件

devel:开发空间,存放各类脚本,如:setup.bash

build:存放编译产生的中间文件

install:安装空间(与devel相像)

代码执行逻辑与顺序:

1.创建工作空间(建立src,于src中编写catkin_init_workspace)

2.编译工作空间(在src上级,也就是catkin_ws中编译空间:catkin_make)

3.设置环境变量(source devel/setup.bash)

4.检查环境变量($echo $ROS_PACKAGE_PATH)

功能包:

1.创建功能包(于src中创建,通过catkin_create_pkg xxx std_msgs rospy roscpp)

2.编译功能包(回到上级文件夹catkin_ws,编译catkin_make)

source ~/catkin_ws/devel/setup.bash

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值