ROS开发日记(2)——ROS入门-中国大学MOOC笔记

根据mooc上柴长坤老师的课程整理所得,由于在做项目不涉及到运动规划,所以后半部分相对简略,有需要的同学可以拿去,过几天会附上我所做项目的ROS例子。



1. 安装ROS

这部分跟着视频来就行,留意以下几个工具

rosdep 管理工具

rosinstall 独立分开的常用命令行工具

roboware IDE (可以省去很多工作,比如,cMakelist)

二进制包与源代码包

2 工作空间

2.1

重要!理解下图是理解整个ROS开发的基础。

catkin:ROS定制的编译构建系统,是对Cmake的扩展

catkin工作空间:组织和管理功能包的文件夹

catkin_make : 建立工作空间,编译      注意:要回到工作空间,要source刷新环境

src:源代码

build: cmake&catkin缓存和中间文件(了解)

devel:目标文件(了解)

rosbuild(早期编译系统,主流已经不再使用)

package:  catkin编译的基本单元,ROS软件的基本组织形式,一个可以对应多个可执行文件(节点)

CMakelists.txt:规定了catkin的编译规则,例如源文件,依赖项,目标文件

package.xml:定义package的属性 例如包名版本号等

manifext.xml(老版本)

代码文件: 脚本(shell,python) C++(头文件,源文件) 有时候src下边也可以放python  

自定义通信格式:消息(msg) 服务(srv) 动作(action)

launch以及配置文件(yaml)

常用指令:

 

2.2

小工具 tree

roscpp,rospy,std_msgs nav_masgs等依赖

.bashrc : 加socrce

metapackage:虚包,依赖了其他软件包,如navigationg,mobeit等

stack:(老版本)软件包集

3.1 通信架构(上)

master: 节点管理器,每个node启动都要注册,并且管理着Node的通信 利用roscore启动

node: ROS的进程,pkg里的可执行文件运行的实例 利用rosnode启动

roslaunch: 启动master和多个node

初学者改别人的就可以

3.2 实例演示

观察启动的node

键盘控制机器人行进

摄像头实时画面 

 3.3 通讯方式

 Topic:ROS中的异步通信方式 Node间通过publish-subscribe机制通信

Message:topic的数据类型,定义在.msg中,放在msg文件夹

有些类似结构体

常用命令

 3.4 操作演示

info很常用

RGB加深度信息可以合成点云

4 通信架构(下)

4.1 Ser

目錄 前言 第一章 ROS简介 机器人时代的到来 ROS发展历程 什么是ROS 安装ROS 安装ROS-Academy-for-Beginners教学包 二进制与源码包 安装RoboWare Studio 单元测试一 第二章 ROS文件系统 Catkin编译系统 Catkin工作空间 Package软件包 CMakeLists.txt package.xml Metapacakge软件元包 其他常见文件类型 单元测试二 第三章 ROS通信架构(一) Node & Master Launch文件 Topic Msg 常见msg类型 单元测试三 第四章 ROS通信架构(二) Service Srv Parameter server 11.5.4 1.5.5 1.5.6 1.5.7 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.6.1 1.9.6.2 Action 常见srv类型 常见action类型 单元测试四 第五章 常用工具 Gazebo RViz Rqt Rosbag Rosbridge moveit! 单元测试五 第六章 roscpp Client Library与roscpp 节点初始、关闭与NodeHandle Topic in roscpp Service in roscpp Param in roscpp 时钟 日志与异常 第七章 rospy Rospy与主要接口 Topic in rospy Service in rospy Param与Time 第八章 TF与URDF 认识TF TF消息 tf in c++ tf in python 统一机器人描述格式 附录:TF数学基础 三维空间刚体运动---旋转矩阵 三维空间刚体运动---欧拉角 21.9.6.3 1.10 1.10.1 1.10.2 1.10.3 1.10.4 1.11 1.11.1 1.11.2 1.11.3 1.11.4 1.12 1.12.1 1.12.2 1.12.3 1.12.4 1.12.5 1.12.6 1.12.7 1.12.8 1.12.9 1.12.10 1.12.11 1.12.12 1.12.13 1.12.14 1.12.15 1.12.16 三维空间刚体运动---四元数 第九章 SLAM 地图 Gmapping Karto Hector 第十章 Navigation Navigation Stack move_base costmap Map_server & Amcl 附录:Navigation工具包说明 amcl local_base_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base_msg move_base move_slow_and_clear navfn nav_core robot_pose_ekf rotate_recovery 3中国大学MOOC---《机器人操作系统入门》 课 程讲义
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值