机器人操作系统ros ———一个月的学习历程

  • Post author:
  • Post category:其他


一. ros学习思路

ros的学习基本上可以从一下这条路走下去:

urdf->tf->gazebo->roscontroll->moveit,淡然,在学习ros的的urdf和tf当中,肯定还会用到rviz。rviz可以穿插在最前面两个当中学习,其实你学完了前两个,rviz既然而然也就略知一二了,如果觉得还有必要继续深入学习rviz的话,可以再加以学习。

学习资料:1.ros维基

2.ros小课堂(优酷网)

3.ros交流区(ros机器人俱乐部)

4.电子书(ROS机器人程序设计)

首推的当然是官网了,就是ros维基,从安装ros操作系统开始教。但是维基里面有些文章并不提供翻译,英语不是很好的刚开始看会有些吃力,但是看几天以后,你也就大概能看懂讲的啥了,说来说去就那么几个专业名词。

 其次,就是ros小课堂,视频也是根据ros维基来做的,讲的用的是中文,如果觉得自己可以读懂维基,我觉得跟着维基来学更快,如果觉得不得行的话,那就跟着小课堂来学,跟着主讲人的思路走,效果也是一样的。

再者,就是一些其他的东西了,说实话QQ群和书目前还没有怎么用上,特别QQ群感觉没啥用,有什么问题问了得不到解决,最多的就是卖学习资料的。

二. ros操作系统

首先,ros是一个操作系统,是一个化平台模块化软件通讯机制。
ros用节点表示一个应用程序,不同node之间通过事先定义好的消息( Topic)服,务(service),动作(action)来实现连接。

ros常用功能

1.rviz:3D可视化工具

2.tf:坐标转换系统

3.gazebo:物理仿真环境

1.ROS文件系统

功能包集(stack):将某些共呢个的功能包组织在一起

软件包(package):ROS应用程序代码的组织单元

package.xml:清单文件

Cmakelist.txt:编译配置文件,使用cmake进行程序编译的时候,会根据Cmakelist.txt这个文件进行一步步的处理,然后生成makefile文件,系统再根据这个文件进行程序的编译。

2.创建和编译ROS软件包

创建工作空间,其实就是创建一个文件夹

编译catkin_make,会生成build和devel目录

进入src目录,创建软件包

修改环境变量

编写测试代码

编译软件包:主要修改一下Cmakelist.txt

运行:rosrun ……

注意点:第一点:如果编写测试代码的时候用到了创建软件包时候未加入的的软件包,那么在修改Cmakelist.txt的时候必须要在find中加上包的名字,否则在catkin_make的时候会提示你找不到任何未加入包所包含的函数。

第二点:ros操作系统有点类似于一个主机,N个丛集的性质。所以在运行任何东西之前,必须先把他老爹叫出来,运行roscore.

三.构建ROS机器人可视化模型urdf

1.urdf(unified Robot Description Format):统一机器人描述格式

这里写图片描述

对于这一部分的描述,博客和维基中都给出了很多的解释,很多的例子,在这里就不赘述了,分享一个博客,上面有有关于urdf的一些东西。

(

http://www.360doc.com/content/16/0812/18/7821691_582768083.shtml

)

2.joint的链接方式

固定连接:fixed joint

弹簧连接:spring joint

角色关节连接character joint

可配置连接:configurable joint 万能的

revolute:旋转关节

continuous:旋转关节,无位置限制

prismatic:滑动关节

fixed:虚拟(固定)关节,关机不可运动

可用用如下命令检车.urdf稳健是否有语法错误:

check_urdf xxx.urdf

tag:用于描述模块的视觉效果

tag:用于描述模块的形状和大小

tag:用于描述模块的位置

四:ROS转换tf功能

《ros小课堂》

tf_echo:打印出位置

view_frames:生成pdf文档

rqt_tf_tree:动态可视化看关系

确定一个物体的位置可以用欧拉角,四元素,矩阵转换等。

分享一个博文:


三种方法介绍

五。moveit学习

废话不多说,有wiki中文翻译版,上链接


MoveIt!入门教程-简介

未完待续。。。。。。。。。



版权声明:本文为qq_24934609原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。