每当我们需要运行一个ROS节点或工具时,都需要打开一个新的终端运行一个命令。当系统中的节点数量不断增加时,每个节点一个终端的模式会变得非常麻烦。那么有没有一种方式可以一次性启动所有节点呢?答案当然是肯定的。 启动文件(Launch File)便是ROS中一种同时启动多个节点的途径,还可以自动启动ROSMaster节点管理器,而且可以实现每个节点的各种配置,为多个节点的操作提供了很大便利。 一、基本
Windows官方终于支持ROS了! 近期微软官方终于发布消息称,将把ROS带到Windows 10,并且命名为“ROS1”,而且还推出了一个实验版本。 消息一出,古月君当然也摩拳擦掌想要尝试一番,同时也将安装和测试的内容记录于此。 一、安装Visual Studio 2017 微软的东东当然离不开VS,所以上来的第一步就是要安装Visual Studio 2017。需要登录以下链接下载在线
8月1日晚,古月君在深蓝学院的的公开课平台,和大家一起聊了下ROS机器人开发的相关案例,主要结合自身机器人开发经验,从机器人系统组成、移动机器人开发案例和机械臂开发案例等三个方面,介绍了古月君是如何将ROS应用于机器人项目开发的。 公开课的全部内容可以免费回看,有兴趣的小伙伴可以访问课程网站: http://www.shenlanxueyuan.com/open/course/13 另外古
VREP( Virtual Robot Experimentation Platform)是一款瑞士军刀级的机器人仿真软件,包含的功能众多,而且使用方便,在各种系统下都有相应的安装文件。 今天我们就来看看如何将ROS和vrep集成,把两个强大的平台结合到一起。 版本设定:Ubuntu16.04 + ROS Kinetic + vrep3.4 一、下载vrep 第一步当然是下载vrep软件啦
MoveIt!是ROS中一个重要的集成化开发平台,由一系列移动操作的功能包组成,提供运动规划、操作控制、3D感知、运动学等功能模块,是ROS社区中使用度排名前三的功能包,目前已经支持众多机器人硬件平台。 MoveIt!中的众多功能都使用插件机制集成,其中有一个重要的功能模块——运动学插件。 今天我们就来聊下MoveIt!中的运动学求解器。 一、KDL Kinematics and Dynam
HRMRP(Hybrid Real-time Mobile Robot Platform,混合实时移动机器人平台)是笔者在2012年和实验室的小伙伴们一起从零开始设计、开发的一款机器人平台,其中大部分扩展电路、驱动和ROS相关的底层功能都是我们自己开发。该机器人平台具有软硬件可编程、灵活性强、模块化、易扩展、实时性强等特点,机器人的整体结构如下图所示。 HRMRP具备丰富的传感器和执行器,在该
Universal Robots(优傲机器人)公司是一家引领协作机器人全新细分市场的先驱企业,该公司成立于2005年,关注机器人的用户可操作性和灵活度,总部位于丹麦的欧登塞市,主要的机器人产品有:UR3、UR5和UR10,分别针对不同的负载级别。 Universal Robots早在2009年便推出了第一款协作机器人——UR5,自重18公斤,负载高达5公斤,工作半径85cm,不仅颠覆了人们对于传
上一篇介绍了ROS中的元老机器人——PR2,虽然功能强大,但价格昂贵,无法推广。所以Willow Garage又开发了一款低成本的机器人平台——TurtleBot。 TurtleBot的目的是给入门级的机器人爱好者或从事移动机器人编程开发者提供一个基础平台,让他们直接使用TurtleBot自带的软硬件,专注于应用程序的开发,避免了设计草图、购买、加工材料、设计电路、编写驱动、组装等一系列工作。借
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打印的机械臂 自主开发的移动机器人 做工精美的机械手 我也分
我们在做机器人ROS开发时,常常会遇到相同速度控制消息的选择问题。比如说控制机器人移动的geometry_msgs::Twist消息,可以使用键盘节点发布,可以使用手柄节点发布,也可以在导航过程中由movebase发布,那么这些节点同时运行时,多个节点发布相同的速度控制话题,这个时候机器人就迷茫了,到底该听谁的呢?只能收到哪个数据就听谁的。 针对这样的问题,ROS提供了一种mux多路切换器——tw
2018年1月7日下午,第一次ROS Taipei年会顺利在台北举办,我也有幸受邀参与了这次活动,并第一次详细介绍了近两年来自己使用ROS进行机器人开发的具体细节。 在这次年会上,来自各地的开发者分享了ROS开发过程中的经验,并且展示了丰富多彩的机器人应用。 自主设计并3D打印的机械臂: 自主开发的移动机器人: 做工精美的机械手: 我也分享了创业过程中基于ROS开发的工业机器人——Kung
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均
ROS基础知识,古月的亿点干货集合
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信