ROS中常用的通讯机制是topic和service,但是在很多场景下,这两种通讯机制往往满足不了我们的需求,比如上一篇博客我们讲到的机械臂控制,如果用topic发布一个运动目标,由于topic没有反馈,还需要另外订阅一个机械臂状态的topic,来获得运动过程的状态。如果用service来发布运动目标,虽然可以获得反馈,但是反馈只有一次,对于我们的控制来讲数据太少了,而且如果反馈迟迟没收到,也只能傻
ROS中提供了丰富的机器人应用:SLAM、导航、MoveIt......但是你可能一直有一个疑问,这些功能包到底应该怎么样用到我们的机器人上,也就是说在应用和实际机器人或者机器人仿真器之间,缺少一个连接两者的东西。 ros_control就是ROS为用户提供的应用与机器人之间的中间件,包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等,可以帮助机器人应用快速落地,提高开发效率。
最近在打开Gazebo的时候,总是出现如下的错误提示,而且显示区无法显示任何模型: Warning [ModelDatabase.cc:334] Getting models from[http://gazebosim.org/models/]. This may take a few seconds. Warning [gazebo.cc:215] Waited 1seconds
今天正好有时间,尝试了一下3D地图建模,记录一下流程: 一、安装rgbdslam功能包 在工作空间中下载代码并解压: wget -q http://github.com/felixendres/rgbdslam_v2/archive/indigo.zip unzip -q indigo.zip 然后回到catkin_ws的目录下,安装依赖: rosdep inst
ROS2虽然重新设计了架构实现,但是也考虑到了与ROS1的兼容,专门开发了一个功能包——ros1_bridge,来完成ROS2与ROS1之间的通讯。但是目前ros1_bridge这个包的功能有限,还不提供python实现,而且仅支持ros2/common_interfaces repository中列出的通讯类型,如果要支持自己定义的接口,还需要自己编译ros1_bridge包。
上一篇我们小试牛刀,初步尝试了一下ROS2中的节点通信,这一篇我们来看一下ROS2中“全新”的编译系统——Ament。ROS编译系统从初期使用的rosbuild,到groovy版本之后的catkin,再到ROS2中的Ament,可谓是一波三者,虽然编译系统并不是ROS框架中的核心部分,但却是开发者最常接触的一个重要功能,了解其基本使用方法,常常可以发挥事半功倍的效果。 众
看了之前ROS2的框架设计,是不是对ROS2产生了很多好奇。相比ROS1,ROS2中融入了很多新的东西,但是很多核心的概念并没有改变。 一、ROS中的Graph 还记不记得ROS1中Graph的几个概念?(可以出门左转复习《ROS探索总结(二)——ROS总体框架》)节点、消息、主题、服务,在ROS2里边又新加入了一个“发现(Discovery)”的概念。节点
ROS已经走过九个年头,伴随着机器人技术的大发展,ROS也得到了极大的推广和应用。尽管ROS还存在不少的局限性,但是ROS社区内的功能包还是逐年呈指数级上涨,为机器人开发者带来了巨大的便利。不少开发者和研究机构还针对ROS的局限性进行了改良,这些局部功能的改善往往很难带来整体性能的提升,机器人开发者对新一代ROS的呼声越来越大,ROS2.0的消息也不绝于耳,终于在ROSCon 20
ROS刚刚度过了9岁生日,这九年以来,无论国外还是国内,越来越多机器人开发者或者机构选择ROS,同时也为社区贡献了更多更优秀的代码,从下边这张图我们可以看到,这种成长几乎是指数级的。 2007年11月,Willow Garage公司孕育许久的一个宝宝终于诞生了,并且取名叫做ROS,Willow Garage 专门为他设计了一个机器人玩具——PR2,没想到,ROS宝宝悟性
原文链接:http://spectrum.ieee.org/automaton/robotics/robotics-software/celebrating-9-years-of-ros Image: OSRF Kinetic Kame is the tenth ROS distribution release. This is a guest post. The views expressed
在之前的博客中(https://www.guyuehome.com/531),展示了目前我们机械臂的控制效果。在技术层面,机械臂的路径规划由ROS MoveIt完成,如果你用过MoveIt,应该知道MoveIt会根据控制指令,发布一个/joint_path_command消息: - positions: [7.498824743379373e-06, 0.00014502150
终于结束了18届高交会的功夫茶项目展示,总体来讲,展示效果不错,吸引了众多各年龄段的观众,还上了回CCTV的新闻。 在这里做一个阶段性的总结,也是自己这大半年来的所做所得。 今年4月中旬我来到深圳,和其他几个师兄创建了现在的公司——深圳星河智能科技有限公司,主打工业机器人。5月份完成了Ethercat主站部分的开发,6月份使用ROS建立了整套机器人的开发环境和可视化界面,7月份在实体机器人上
机器人通过机器视觉看到色彩斑斓的世界,但是人类最美好的不只是看到的,还有听到的,让机器人听懂人类的语音,同样是一样非常美妙的事情。 机器听觉,简单来说就是让机器人能听懂人说的话,以便更好的服务于人类。将语音——人类最自然的沟通和交换信息的媒介应用到智能机器人控制中,在机器人系统上增加语音接口,用语音代替键盘输入,并进行人机对话,不仅是将语音识别从理论转化为实用的有效证明,同时也是机器人
工业机器人是机器人中非常重要的一个部分,在工业领域应用广泛而且成熟,ROS迅猛发展的过程中,也不断渗入到工业领域,从而产生了一个新的分支——ROS-Industrial(ROS-I)。 ROS-I的官网: http://rosindustrial.org/ 一、ROS-I的目标 将ROS强大的功能应用到工业生产的过程中; 为工业机器人的研究与应用提供快捷有效的开发途径; 为工业机器
在之前的基础学习中,我们已经对moveit有了一个基本的认识,在实际的应用中,GUI提供的功能毕竟有限,很多实现还是需要我们在代码中完成,moveit的move_group也提供了丰富的C++ API,不仅可以帮助我们使用代码完成GUI可以实现的功能,还可以加入更多丰富的功能。我们继续使用《Mastering ROS for robotics Programming》中的源码作为学习对象。
MoveIt!由ROS中一系列移动操作的功能包组成,包含运动规划,操作控制,3D感知,运动学,碰撞检测等等,而且提供友好的GUI。官方网站:http://moveit.ros.org/,上边有MoveIt!的教程和API说明。 一、架构 下图是MoveIt的总体框架: move_group是MoveIt的核心部分,可以综合机器人的各独立组件,为用户提供一系列需要的动作指令和服务。从架构图中我
URDF文件完成后,可以在rviz中显示机器人的模型,如果要在gazebo中进行物理环境仿真,还需要为URDF文件加入一些gazebo相关的标签。既然是仿真,那么机器人应该像真在真实环境中一样,可以通过传感器感知周围环境,还可以根据指令进行运动。 在gazebo中可以通过插入一些插件,来仿真机器人的传感器、执行器的特性,这些插件通过<gazebo>元素中的<plugin>标
Unified Robot Description Format,统一机器人描述格式,简称为URDF。ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型。 1 URDF语法规范 参见:XML specifications 2 组件 URDF由一些不同的功能包和组件组成,下图描述了这些组件之间的联系。 3
1、什么是tf变换 ROS中的很多软件包都需要机器人发布tf变换树,那么什么是tf变换树呢?抽象的来讲,一棵tf变换树定义了不同坐标系之间的平移与旋转变换关系。具体来说,我们假设有一个机器人,包括一个机器人移动平台和一个安装在平台之上的激光雷达,以这个机器人为例,定义两个坐标系,一个坐标系以机器人移动平台的中心为原点,称为base_link参考系,另一个坐标系以激光雷达的中心为原点
《ros by example》中语音识别一章中,有学习如何让机器人说话的内容,今天在尝试的过程中发现一个indigo版本的问题。 按照以下流程运行: roscore rosrun sound_play soundplay_node.py rosrun sound_play say.py "Greetings Humans. Take me to your leader."
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信