ROS学习笔记

1. ROS是什么

1.1 ROE发展史

1.2 ROS是什么

 复用别人已经开发好的代码或功能,做进一步扩展和完善,加速机器人开发。含通信机制,开发工具,应用功能,生态系统四大部分。

1.3 ROS的四个组成部分

1.3.1 ROS的通信机制

 每个椭圆代表一个节点,如图像采集,图像处理,SLAM导航等相关算法,每一个具体功能都是一个节点,节点之间的箭头连接代表节点间通信时的数据流向,由此简化出该计算图。

1.3.2 ROS的开发工具

用于机器人开发调试,可视化工具,建立仿真环境等一系列开发工具

1.3.3 ROS中的应用功能

 ROS中应用功能非常丰富,可用于开发机械臂,水下机器人,无人机等,如导航,建图,运动规划等功能包,这些功能包是ROS社区围绕一定框架,协议或接口的标准所开发的一系列算法,我们只需关心其接口输入,输出,围绕所需实现的计算功能,以类似搭积木的方式完成基础开发,在根据具体需求进行完善。

1.3.4 ROS中的生态系统

2. ROS命令行工具的使用

小海龟示例

rosrun 功能包 节点名 :用于运行功能包中某节点

rqt_graph :ROS中有许多rqt开头的命令,是基于QT的可视化工具,直观查看一些信息,此命令是用于显示系统计算图的工具,查看节点与节点间的关系

rosnode :用于显示系统与节点相关的信息eg :rosnode list , rosnode info 节点名

rostopic :查看使用系统发布相关话题

rosmsg :查看消息数据结构

rosseverci :查看使用ros服务

 

3. 创建工作空间与功能包

工作空间中含四个相应文件夹src,build,devel,install

src :代码空间,用于存放功能包代码,配置文件,launch文件等

build :编译空间,用于存放编译过程中产生的中间文件

devel :开发空间,用于存放编译后产生的可执行文件,库以及一些脚本

install :安装空间,使用install命令安装成功后存放位置

 

4. 发布者Publisher的编程代码实现

步骤

创建工作空间

代码实现,在learning_topic功能包的src文件夹下创建cpp文件,代码如下

 Python版代码

 将所需编译内容写入功能包CMakeLists文件中

 编译并运行发布者

5. 订阅者Subscribe代码实现

在learning_topic功能包的src文件夹下创建cpp文件

 

 Python语言

将所需编译内容写入功能包CMakeLists文件中

 编译并运行订阅者

6. 话题消息的定义和使用

 在learning_topic功能包的src文件夹下创建msg文件夹

 

 catkin_package 修改如下

发布者与订阅者创建

在learning_topic功能包的src文件夹下创建cpp文件夹

发布者代码

 订阅者代码

 CMakeLists添加如下代码

编译运行

7.客户端Client的编程实现

 创建功能包

创建客户端代码

C++

 Python代码

 配置客户端代码编译规则

 编译并运行客户端

 

8. 服务端Sever的编程实现

服务器代码

 配置服务器代码编译规则

 编译并运行服务器

 

9. launch启动文件的使用方法

9.1 launch文件的作用

9.2 launch文件的常用语法

 

 

更多标签参见 roslaunch/XML - ROS Wiki

launch示例

 

10. ROS中常用可视化工具的使用

rqt

 Rviz

 

 Gazebo

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值