机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT) 文章摘要
来源:互联网 发布:瞪眼睛变大 知乎 编辑:程序博客网 时间:2024/04/30 05:16
原文链接:http://blog.exbot.net/archives/2966
摘要:
1、ROS和安卓一样是开源的。可以提供硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。
2、ROS是分布式处理框架。不同节点的进程能接收、发布各种信息(如传感,控制、状态,规划等等)
3、什么是ROS?ROS是一个适用于机器人的开源的元操作系统,它不是一个真正的操作系统,但它提供了操作系统应用的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。采用的是松耦合点对点进程网络
4、ROS的四大优点:1、松散耦合的机制方便机器人软件框架的组织;
2、最丰富的机器人功能库,方便快速搭建原型;
3、非常便利的数据记录、分析、仿真工具,方便调试;
4、学界和产业界的标准,方便学习和交流。
5、2009年ROS发布的“ROS: an open source Robot Operating System” 论文,目前已经被引用了2871次
6、ROS的学习顺序:1、基础结构,这些通讯的机制是如何实现的。
2、工具:包括仿真工具、调试工具等等
3、体现他功能的Package
4、社区:如何去上面发布代码,和其他人交流
7、入门的话,首先要了解这四点:设计思想,核心概念,核心模块,核心工具。
8、设计思想包括:分布式架构,将机器人的功能和软件,做成一个个的节点,然后每个节点通过topic进行沟通。值得注意的是这些节点可以布置在同一台机器上也可以部署在不同的机器上,还可以部署在网上
9、核心概念:节点(Nodes):节点是各自独立的可执行文件,能够通过话题、服务或者参数与服务器或者其他节点通信。ROS通过节点的方式将代码和功能解耦。
提高了系统的容错能力和维护性。同时节点允许ROS系统能够布置在任意多个机器上并同时运行。值得注意的是:节点必须拥有唯一
的名称。节点可以通过不同的库编写。
10、节点之间通过topic机制进行通信,topic机制是一个一对多的Publish/Subscribe 模式
11、核心概念:功能包(Package) ,ROS中软件组织的基本形式,用于创建ROS程序。功能包包含源代码和功能包清单(Manifest) 。功能包清单提供关于功能包、许可信息、依赖关系、编译标志等的信息。功能包清单是一个manifests.xml文件,通过这个文件能够实现对功能包的管理。
12、ROS常用命令工具包括rostopic (Topics)、rosservice (ServiCES)、rosnode (Nodes)、rosparam (Parameters)、rosmsg (Messages)、rossrv (Services)和roswtf (General debugging)
13、值得关注的网站:http://wiki.ros.org/ROS/Installation
http://wiki.ros/org/ROS/Tutorials
14、仿真环境:Turtlesim,ArbotiX,Gazebo.
Turtlesim是一个QT开发的2D轨迹显示界面,只能显示运动轨迹;ArbotiX是含有一个差速驱动机器人的rviz模拟器,机器人运动及topic数据的3D显示,但不包含物理学引擎;Gazebo是功能齐全的3D物理模拟器,不过缺点是非常重,对内存和显卡要求高,慎入!
15、ROS的版本:Groovy,Hydro,Indigo,Jade,Kinetic,推荐Indigo
16、Ubantu14.04.1 LTS与ROS Indigo匹配
17、IDEs:http://wiki.ros.org/IDEs 其中RoboWare Studio值得关注
18、中文Linux学习:http://songjinshan.com/akabook/zh/index.html
- 机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT) 文章摘要
- 机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT) 文章摘要
- 机器人程序设计——之如何正确入门ROS | 硬创公开课
- 实例介绍机械臂运动规划及前沿研究方向(附PPT+视频)|硬创公开课
- 如何设计一款基于ROS的移动机器人? | 硬创公开课
- 预告:ROS:承载机器人的灵魂 | 硬创公开课
- 自然人机交互到底“自然”在哪儿?| 硬创公开课(附视频)
- 预告:机器人聊天的秘密|硬创公开课
- 预告:大海捞针的艺术,如何从海量视频里搜出目标图片? | 硬创公开课
- (一)ROS系统入门 Getting Started with ROS 以Kinetic为主更新 附课件PPT
- ROS机器人星火计划公开课总结
- ROS机器人星火计划公开课总结
- ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门
- 解析波士顿动力Handle机器人背后的技术(附PPT+视频)
- 机器人操作系统ROS Indigo 入门学习(0)——ROS的UNIX基础
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo
- 机器人操作系统ROS Indigo 入门学习(4)——创建一个ROS Package
- 机器人操作系统ROS Indigo 入门学习(5)——编译一个ROS Package
- Fiddler的实践心得(三): 重新认识Decode
- JAVA程序员一定知道的优秀第三方库(2016版)
- Java高级开发工程师面试考纲
- 以字符形式读写文件
- android MVP模式下对数据库进行简单操作
- 机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT) 文章摘要
- Oracle 12c创建pdb
- C++的 动态内存分配、命名空间、强制类型转换
- Python3 基础:some knowledge
- 微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度
- dom4j解析xml文件基本操作
- Java静态代理模式理解和实现
- 吐槽java时间那点事儿 Joda Time
- **JAVA** GUI图形界面编程awt包