PR2(Personal Robot 2,个人机器人2代)是Willow Garage公司设计的机器人平台,其中数字2代表第二代机器人。 PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的夹爪;PR2依靠底部的四个轮子移动,在头部、胸部、肘部、夹爪上分别安装有高分辨率摄像头、激光测距仪、惯性测量单元、触觉传感器等丰富的传感设备。在PR2的底部有两台八核电脑作为机器人各硬件的控制和通信中枢
诞生于2007年的ROS,发展速度之迅猛超出了所有人的预料,已经成为一个机器人领域的生态系统,可以提供机器人相关的全方位技术,从硬件到软件,从框架到功能,从驱动到应用。。。 前边三篇已经分别从通信机制、开发工具、应用功能这三个方面浅谈了笔者对ROS产品化探索的一点总结,本篇就来聊聊最后一个部分——从生态系统的角度来看,ROS可以为机器人产品化提供哪些思路。 什么是生态系统? 维基百科的解释是:生态
上篇我们讲到ROS中的开发工具,可以提高我们的开发效率,每一种工具都有其擅长之地,也有其不足之处,所以在设计、开发机器人产品的过程中,可以综合考虑,发挥每一个开发工具的优势。本篇我们来分析一下ROS中丰富的应用功能。 说起ROS中的应用功能,可就非常庞杂了,涵盖各种各样的功能包,简单做一个如下的分类: 1. 底层驱动 2. 上层功能 3. 控制模块 4. 常用组件 就这几种应用功能,我们来具体
上篇讲到,在通信机制部分,我们完全舍弃了ROS基于话题和服务的通信机制,自己又实现了一套通信系统,具体的实现主要基于Linux系统的各种通信方式,此处暂且不表,这篇我们来看下ROS另外一个重要部分——开发工具,如何在机器人产品化过程中应用。 ROS相关的开发工具有很多,大致可以分为以下几种类型: 1.ROS原生工具,比如rviz、qt工具箱、命令行工具等; 2.编译和测试工具,基于已有工具进一步
近几年,机器人和人工智能繁荣发展,曾经运行在实验室的机器人已经逐渐走入千家万户的生活。作为机器人开发利器的ROS也得到了非常广泛的应用,成为机器人领域的普遍标准。 ROS原本针对科研领域的PR2机器人开发,这种大繁荣的景象远远超过ROS的最初目标,也使得ROS的缺陷在广泛应用的同时暴露无遗: 1. 缺乏构建多机器人系统的标准方法;2. 在Windows、MacOS、RTOS等系统上无法应用或者功
2018年1月7日下午,第一届ROS Taipei年会顺利在台北举办,我有幸受邀参加了这次活动,并详细介绍了近两年来自己使用ROS进行机器人开发的具体细节。 在这次年会上,来自各地的开发者分享了ROS开发过程中的经验,并且展示了丰富多彩的机器人应用。 ROS Taipei 2018开发者年会合影 自主设计并3D打印的机械臂 自主开发的移动机器人 做工精美的机械手 我也分
随着人工智能的发展,机器人也迎来了全新的发展机遇。机器人与人工智能大潮的喷发,必将像互联网一般,再次为人们的现代生活带来一次全新的革命。 1. 历史起源 硬件技术的飞速发展,在促进机器人领域快速发展和复杂化的同时,也对机器人系统的软件开发提出了巨大挑战。机器人平台与硬件设备越来越丰富,致使软件代码的复用性和模块化需求越加强烈,而已有的机器人系统又不能很好地适应需求。 为迎接机器人软件开发面临的巨大
我们在做机器人ROS开发时,常常会遇到相同速度控制消息的选择问题。比如说控制机器人移动的geometry_msgs::Twist消息,可以使用键盘节点发布,可以使用手柄节点发布,也可以在导航过程中由movebase发布,那么这些节点同时运行时,多个节点发布相同的速度控制话题,这个时候机器人就迷茫了,到底该听谁的呢?只能收到哪个数据就听谁的。 针对这样的问题,ROS提供了一种mux多路切换器——tw
2018年1月7日下午,第一次ROS Taipei年会顺利在台北举办,我也有幸受邀参与了这次活动,并第一次详细介绍了近两年来自己使用ROS进行机器人开发的具体细节。 在这次年会上,来自各地的开发者分享了ROS开发过程中的经验,并且展示了丰富多彩的机器人应用。 自主设计并3D打印的机械臂: 自主开发的移动机器人: 做工精美的机械手: 我也分享了创业过程中基于ROS开发的工业机器人——Kung
ROS起源于2007年11月,2017年11月刚好满10岁。ROS的最初目标是在机器人领域提高代码的复用率,谁都没有想到,ROS社区中的功能包会呈指数级发展,目前已经成为机器人领域的事实标准。 ROS最初设计的目标机器人是PR2,这款机器人搭载了当时最先进的移动计算平台,而且网络性能优异,不需要考虑实时性方面的问题,主要应用于科研领域。如今ROS应用的机器人领域越来越广:轮式机器人、人形机
ROS中的参数服务器无法在线动态更新,也就是说如果Listener不主动查询参数值,就无法获知Talker是否已经修改了参数。这就对ROS参数服务器的使用造成了很大的局限,很多场景下我们还是需要动态更新参数的机制,例如参数调试、功能切换等,所以ROS提供了另外一个非常有用的功能包——dynamic_reconfigure,实现这种动态配置参数的机制。 例如下图是启动Kinect后openni功
? 上周四(9月28日),星火在线课堂举办了第一次在线课程,我有幸成为第一位分享嘉宾,与大家分享了一下MoveIt!的相关内容,直播过程中共有800多位小伙伴共同参与,该课程也永久免费开放,有兴趣的小伙伴可以继续访问该课程,参与或者回顾课程的所有内容。 课程地址:https://m.weike.fm/lecture/4867575?lecture_id=4867575 以下是课程PPT内容:
上一篇我们探索了SMACH有限状态机的基本概念和使用方法,本篇继续深入研究几个SMACH的典型应用。 一、数据传递 在很多场景下,状态和状态之间有一定耦合,后一个状态的工作需要使用到前一个状态中的数据,这个时候就需要在状态跳转的同时,将需要的数据传递给下一个状态。SMACH支持状态之间的数据传递。 先来运行例程看下效果: roscore rosrun smach_tutorials u
SMACH 是状态机的意思,是基于Python实现的一个功能强大且易于扩展的库。 smach本质上并不依赖于ROS,可以用于任意Python项目,不过在ROS中元功能包executive_smach将smach和ROS很好的集成在了一起,可以为机器人复杂应用开发提供任务级的状态机框架,此外元功能包还集成了actionlib和smach_viewer。 为避免误导,本文以下提到的SMACH均
MatLab有非常便捷的可视化编程,我们可以借助Matlab来制作一些小的可视化工具,我们在之前的博客中,使用rviz的插件功能实现过一个速度控制的小工具,今天就来探索研究如何用Matlab来实现类似的工具。 本文使用的完整代码可见:github 一、了解Matlab的可视化编程 Matlab的可视化编程非常简单,首先在命令窗口中输入“guide”命令来启动可视化编程: 然后选择默认的
众所周知Matlab是一款强大的数据处理工具,在科研、教学、商业领域广泛应用,不管你从事哪个行业的工作,多多少少都会用过或者听说过这款工具。Matlab有一个吊炸天的工具箱,几乎和哆啦A梦的口袋差不多,可以提供丰富而强大的扩展功能,其中有一个robotics工具箱,提供了一些机器人需要用到的工具,当然也包括ROS相关的工具。今天我们就来探索一下Matlab中的ROS工具如何使用吧。 一、
ROS Summer School如期在“热情似火”的魔都上海举办,本人也有幸参与了这次活动。 今年的Summer School可谓高手云集,先来看看强大的讲师整容,其中一定有你心中的“大神”: 活动前两天本人在深圳讲星火计划的进阶课程,遗憾没有参加,错过了不少精彩内容。(据说田博一张ppt讲半个小时!) 23号星火计划结束后,我火速前往上海。第三天上午是 张瑞雷老师的
rviz是ROS官方的一款3D可视化工具,几乎我们需要用到的所有机器人相关数据都可以在rviz中展现,当然由于机器人系统的需求不同,很多时候rviz中已有的一些功能仍然无法满足我们的需求,这个时候rviz的plugin机制就派上用场了。上一篇我们探索了插件的概念和基本实现,这一篇通过rviz中的插件实现,来进行巩固加深。 rviz作为一种可扩展化的视图工具,可以使用这种插件机制来扩展丰富的功能,进
原文链接:http://www.huodongxing.com/event/7390189565300 ROS“星火计划”2017东莞站火热招募中 玩机器人不知道ROS?你OUT啦! 机器人研发的核心技术是操作系统。ROS是目前主流的机器人操作系统之一。ROS最早起源于斯坦福大学实验室与机器人技术公司Willow Garage2007年合作的项目。ROS基于Linux系统,可靠性高
在ROS的开发中,常常会接触到一个名词——插件(plugin)。这个名词在计算机软件开发中是常常会提到的,具体含义可以参考百度百科的插件词条。在ROS中,插件的概念类似,简单来讲,ROS中的插件(plugin)就是可以动态加载的扩展功能类。ROS中的pluginlib功能包,提供了加载和卸载plugin的C++库,开发者在使用plugin时,不需要考虑plugin类的链接位置,只需要将plugin
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信