无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻 > 公司新闻 >

鼓楼企业官网建设推荐—如何利用ROS MoveIt快速搭建智能手机器人运动规划平台?

时间:2021-04-28 01:56来源:未知 作者:鼓楼企业网站建设 点击:
同时OMPL本身也能用消费者自身撰写整体总体整体规划器 整体总体整体规划器原始化方式 操纵器插孔 传感技术技术性技术性性器插孔 整体总体整体规划器的取样提高提升优化算法 撞击

雷锋网(手机微信微信公众号:雷锋网)按:原文中写作者qqfly,上海市市交通出行交通出行高等院校机器设备人所博士研究生科学研究生生,高校大学本科高校大学毕业于清华大学高校高等院校机械设备机器设备工程项目新项目系,重要科学研究科学研究方向机器设备视觉效果实际效果与运动健身健身运动总体整体规划,原文中先发写作者手机上手机微信手机微信微信公众号:Nao(ID:qRobotics),雷锋网已获授权。

两个月前给自己挖了个坑,说要写写MoveIt,但一直没动手能力工作能力。
[标识:內容1]
重要有两个原因: 

1)这两个月重要在写小大学毕业毕业论文,终归博士研究生科学研究生生要高校大学毕业还得看大学毕业毕业论文,不能以靠手机微信微信公众号阅读文章文章内容量共享资源率; 

2)马上讲MoveIt仿佛务必挖很多坑,一直没想好怎样写比较好。 

重要是因为机器设备人运动健身健身运动总体整体规划涉及到到过量基本内容,倘若绕开不讲便能变为新坑;一时半会又没法讲完。 

因而,本次就重新手如何应用MoveIt快速搭建机器设备人运动健身健身运动总体整体规划综合服务平台来讲吧,先呈现Big Picture,其他重要点内容以后有时候间再逐渐地填。但可能会坑的地域我可以用(坑)标出出来。 

什么是MoveIt

最先看个视频详尽详细介绍吧:

   

看过视频,大家理应对MoveIt有一个大概的印象了。用MoveIt官方网网站(moveit.ros.org)的称呼: 

它是目前最初进的移动(坑)具体实际操作机器设备每人必备机手机软件,结合了最初进的运动健身健身运动总体整体规划、具体实际操作、三d认知能力、运动健身健身运动学、控制与导航栏栏提升优化算法。为这种层面的开发设计设计方案工作中工作人员提供了一个十分方便快捷的开发设计设计方案综合服务平台。 

这一称呼不太品牌形象化,换一个称呼就是MoveIt = RobotGo,中文汉语翻译成中文就是“机器设备人,走你!” 

因而,MoveIt的重要就是一款致力于于于让机器设备人能够单独运动健身健身运动及其相关技术性性的手机上手机软件,它的所有操纵控制模块都是重点围绕着运动健身健身运动总体整体规划的进行而设计方案计划方案的。 

下面大概详尽详细介绍下它的一些功效操纵控制模块。 

运动健身健身运动总体整体规划(Motion Planning):运动健身健身运动总体整体规划的详尽详细介绍内容之前手机微信微信公众号早就发已过,要让一个机器设备人进行运动健身健身运动总体整体规划,务必先将机器设备人抽象性性到构形房间内室内空间(C-Space)。MoveIt即可以帮大家把这类工作中中给做了,只需提供机器设备人URDF实体线实体模型,即可以开启好多个运动健身健身运动总体整体规划库(坑)的总体整体规划提升优化算法(如OMPL,SBPL,CHMOP),自动式转换成机器设备人运动健身健身运动健身运动运动轨迹。 

具体实际操作(Manipulation):这一目前还比较弱,就是根据辨别的物品转换成一系列产品商品姿态抓取物品(pick-and-place),不涉及到到一切建议意见反馈、驱动器力学、re-grasp等具体实际操作难点,因而我一般都不用这一操纵控制模块。 

三d认知能力(Perception):这一实际上并不是说MoveIt结合了物品辨别、当然自然环境实体模型等操纵控制模块,仅仅它可以应用传感技术技术性器(坑)搜集的信息内容內容(点云或深层次图像)转换成用于碰撞检测的OctoMap。OctoMap这一物件挺好的,做SLAM的同学们们理应把握,它就是以八叉树型式说明点云,可以大大的的降低存储房间内室内空间,它看起来就跟大伙儿玩的minecraft相近。同时,这类三d OctoMap还能够依据贝叶斯标准不断及时升級。那般,机器设备人即可以避开真实全世界的阻拦物了。 

运动健身健身运动学(Kinematics):运动健身健身运动学机器设备人力资源作房间内室内空间与构形房间内室内空间(C-Space)的投影关系,因而MoveIt就它也包括在本身系统软件手机软件内。目前它可以可用多种多样多种多样运动健身健身运动学求出器,如OpenRave的ikfast(封闭式式解)、Orocos的KDL(数值解)、Trac_ik(考虑到到关节極限的数值解)、依据service的求出器(顾客本身定义)。(坑) 

碰撞检测(Collision Checking):碰撞检测是运动健身健身运动总体整体规划的一大灾难题,倘若采用依据采用的总体整体规划提升优化算法,那么大伙儿务必对每个抽样点做有效性辨别,这时候候候就务必进行碰撞检测。因而,运动健身健身运动总体整体规划务必提供一个高效率率的碰撞检测提升优化算法。多亏,我国中国香港大成县市高等院校的潘佳大神写了个FCL(Flexible Collision Library),可以十分快速地进行各种各样各种各样几何图形图型体(三d面片、OctoMap、基本几何图形图型体)的碰撞检测。(这一其实不是坑,马上用十分功能强大,但以后有机化学有机化学会可以好好地地说说,总而言之潘大神不可易看手机微信微信朋友圈,不容易班门弄斧)。 

健身运动运动轨迹插值(Trajectory Processing):由于大多数数数总体整体规划器仅有返回一系列产品商品相对性相对路径点,MoveIt可以根据机器设备人的控制关键主要参数(速度、加速度限制等)再度处理相对性相对路径,转换成一杂含有情况下间戳、位置、速度、加速度信息内容內容的详尽健身运动运动轨迹。 

控制(Controll):这一具体上不能以算控制,只是一个机器设备人控制插孔难点。由于不一样机器设备人的控制插孔都不一样,开发设计设计方案者只需简单修改配置文本文档,即可以让MoveIt发布出机器设备人相对性的控制指令(只是修改action名字而已)。 

导航栏栏(Navigation):它是个深坑,MoveIt虽然基本概念可以够进行运送设备人的导航栏栏,但是它没提供针对运送设备人的总体整体规划器。也就是说目前它的Navigation功效并不是能马上运用的(本身写总体整体规划器和碰撞检测早就超出初学者的要求了)。 

互动交流(Interaction):MoveIt给开发设计设计方案者提供了三种方式互动交流方式,Rviz图形网页页面(品牌形象化)、Python(快速程序撰写)、C++(丰富多彩五彩缤纷的高级功效)。 

目前来说,MoveIt还只是一个针对机械设备机器设备臂运动健身健身运动总体整体规划难点的手机上手机软件综合服务平台,临时性还其实不是适合用在Navigation、manipulation、control、perception等制造行业。 

为什么选择MoveIt

具体上,要锻练人体总体整体规划可以用很多方法:本身写、OMPL、OpenRave等。我曾人感觉选择MoveIt大概有三个原因: 

| 对初学者很友好 

前边大伙儿早就掌握,要想本身从头开始刚开始建立一个运动健身健身运动总体整体规划的手机上手机软件综合服务平台务必花消十分多力气:运动健身健身运动学正逆解、碰撞检测提升优化算法、当然自然环境辨别、总体整体规划提升优化算法,一切一点都是务必一段不短的时间积累才可能亲手进行的。初学者可能一一开始就被这类次序难点打退了。 

本身写:对初学者简直是灾难,非常是在是沒有人带的情况; 

OMPL:完全没有机器设备人的界定,务必顾客本身集成化化运动健身健身运动学、碰撞检测提升优化算法,它的官方网网文字文本文档也不涉及到到如何应用OMPL做机器设备人的运动健身健身运动总体整体规划难点; 

OpenRave:虽然OpenRave早就有本身的一套机器设备人描述方法,但是它的文字文本文档不太友好。 

用MoveIt的话,初学者只需提早提前准备机器设备人的实体线实体模型,追随案例实例教程走,就可以以在三十分鐘内进行仿真模拟模拟仿真当然自然环境中的机器设备人运动健身健身运动总体整体规划演试。 

| 方便快捷科学研究科学研究 

这一理应是更重要的因素。运动健身健身运动总体整体规划由很多子难点构成,每个子难点都可以以以变为一个科学研究科学研究点。MoveIt大部分所有构件都是以Plugin的方法工作中中的,也就是说大伙儿可以随时随地随地拆卸它的任一操纵控制模块。目前它可用以下构件的修改: 

运动健身健身运动学求出器 

总体整体规划提升优化算法 同时OMPL自身也可用顾客本身编写总体整体规划器 

总体整体规划器初始化方法 

控制器插孔 

传感技术技术性器插孔 

总体整体规划器的抽样提升优化算法 

碰撞检测提升优化算法 

OctoMap升級提升优化算法 

倘若是做这类课题研究科学研究科学研究科学研究的人,完全可以先用MoveIt建立一个当然自然环境,之后修改相对性Plugin,换为本身的提升优化算法。那般可使大伙儿将侧重于点放进重要矛盾上。 

| 活跃性性的社群营销营销推广 

这一点具体上就是ROS相对性性于其他机器设备人开发设计设计方案综合服务平台的优点。MoveIt依靠于ROS,也是有着很高的人气值值(去年的调研结果看,MoveIt是ROS中运用度排名第三的package)。 

活跃性性的社群营销营销推广对于学习培训学习培训是有非常大的助益的: 

①遇到难点十分非常容易问及能解决的人,一刚开始MoveIt还没有有出文字文本文档,因为我是借助MoveIt的mail lists初学者新手入门的; 

②网站、案例实例教程、编号维护保养维护保养升級十分好,MoveIt刚公布时,一直有一大堆Bug,现如今才过2年,早就十分作用强劲了,官方网网案例实例教程也早就十分人的本质化了。 

怎样样运用MoveIt

要用MoveIt控制机器设备人大概分为以下两步: 

建立机器设备人URDF实体线实体模型(尽量) 

建立机器设备人ROS驱动器器 

转换成MoveIt配置文本文档(尽量) 

标定拍照机 

修改MoveIt配置文本文档与launch文本文档 

机器设备人,走你!(尽量) 

在这其中,上面未标明“(尽量)”字眼的唯一在运用实际机器设备人时才务必。初学者倘若只求在仿真模拟模拟仿真里看一下的话,可以先绕开。 


| 建立机器设备人URDF实体线实体模型(尽量) 

URDF(Unified Robot Description Format)是ROS中运用的一种机器设备人描述文本文档,它以HTML的方法定义一个机器设备人。包含的内容有:连杆、关节姓名,运动健身健身运动学关键主要参数、驱动器力学关键主要参数、可视性性化实体线实体模型、碰撞检测实体线实体模型等。

过后碰撞检测、运动健身健身运动学求出、总体整体规划等都借助于URDF文本文档。 

那么,要如何建立URDF文本文档呢?倘若你用的是单臂、连接起来机器设备人,并且你自身没有迫使症的话,可让用ROS官方网网发布的sw_urdf_exporter,它可以帮你从SolidWorks中导出来来URDF文本文档。

但倘若不幸你运用的是双臂(双臂机器设备人用这一手机软件经常出难点)或者非并连接网络器人(务必本身用mimic_joint改成连接起来方法),又或者让你迫使症(要费尽心思将会简洁、漂亮的实体线实体模型)的话,可以考虑到到本身笔写URDF或者xacro文本文档(坑)。 

这一点因为我虚假际讲过,简单写许多个重要点: 

多臂用xacro来减少工作中中量; 

坐标系设置尽量考虑到所有关节为0°状况下,所有坐标系同姿态(那般可以避免引入pi); 

倘若要想有色彩的实体线实体模型,可以本身转换成每个零件的dae实体线实体模型,而不可用stl实体线实体模型; 

可视性性化实体线实体模型采用漂亮、细腻的实体线实体模型,碰撞实体线实体模型可让用简易化的实体线实体模型。 

| 建立机器设备人ROS驱动器器 

倘若你不起作用真实机器设备人,这步可以先绕开。 

机器设备人的ROS驱动器器并没有什么标准的文档文件格式或者规定。对于MoveIt来说,如果求让你个ROS node,它有两个功效: 

1)发布关节角度/joint_states 

倘若连接实际机器设备人,MoveIt务必从机器设备人现如今状况一开始总体整体规划,因此这一ROS驱动器器务必能够及时得到机器设备人的各关节信息内容內容(如角度),而且使用过/joint_states信息内容发布; 

2)接纳总体整体规划结果,并下达给机器设备人 

由于MoveIt总体整体规划的结果会以一个action的方法发布,因而大伙儿的ROS驱动器器就理应提供一个action server,这一功效就是接纳总体整体规划结果,下达给机器设备人,并建议意见反馈推行情况。action的类型是control_msgs/FollowJointTrajectory。 具体action的撰写可以参照ROS官方网网站(坑)。

简单来说,一个action有五个一一部分: 

action_name/goal:这一就是总体整体规划的相对性相对路径,大伙儿务必接纳这一相对性相对路径,并将所有相对性相对路径点剖析成机器设备人控制器可以辨别的方法,之后下达给机器设备人,尽量要有; 

action_name/cancel:这一指令可以随时随地随地中断早已推行的姿态,但实际上并不是尽量的功效; 

action_name/feedback:这一是及时建议意见反馈推行状况,十分简易的就是将机器设备人现如今关节角度等信息内容內容建议意见反馈回家,非尽量; 

action_name/status:这一用于显示信息信息内容机器设备人情世故况,如早已推行姿态、等待、推行结束等待,非尽量; 

action_name/result:这一就是在姿态推行完之后给MoveIt建议意见反馈一个推行结果,这一是尽量要有的,当然,便于简单,可以已接纳到goal就建议意见反馈推行获得取得成功。 

这一一部分在MoveIt一一部分是看不到文字文本文档的,因而也是阻止初学者运用MoveIt控制本身机器设备人的很大难点之一。但是把握了它的基本原理之后,就比较简单了。 倘若你是第一次运用MoveIt,不遗余力明显强烈推荐你先试一下UR、Baxter等早就写好这一一部分驱动器器的机器设备人。 

| 转换成MoveIt配置文本文档(尽量) 

这一应用MoveIt的setup assistant网页页面,按照案例实例教程十分非常容易便可以配置好。 

这步干了,即可以马上在仿真模拟模拟仿真里面看运动健身健身运动总体整体规划具体实际效果了。它就是我觉得MoveIt对初学者最友善的地域,不用写一行编号即可以看到运动健身健身运动总体整体规划。 

| 标定拍照机 

这一重要涉及到到拍照机实体线实体模型与AX=XB求出难点,非常少过量诠释。 这步就是便于让机器设备人掌握拍攝头放进机器设备人的哪个位置。大家可以看看见我实验室师弟写的自动式标定演试: 

一个launch文本文档便可以开展标定,不知道道比我当时写的手动式式标定方法高多少钱。这一标定程序大伙儿之后可能会开源系统系统软件出来。倘若有机化学有机化学会因为为我能顺便讲讲它的基本概念(坑)。 

| 修改MoveIt配置文本文档与launch文本文档 

因为前边转换成的文本文档都是针对虚拟机器设备人的,倘若务必连接实际机器设备人,务必修改一些配置文本文档,我也许记不太清具体要修改许多个文本文档了,要以官方网网案例实例教程核心: 

controllers.yaml:这一就是要根据你的ROS驱动器器中的action来修改,MoveIt可以根据这一配置文本文档发布出与机器设备人驱动器器相一致的action。简单地说,就是action的名字、类型、关节名字许多个信息内容內容。 

robot_moveit_controller_manager.launch:这一额外提升,就是没有能用fake controller的状况下会找寻上述controller.yaml文本文档,发布出适当的action类型。 

sensors.yaml:这一务必额外提高,它重要定义了点云的信息内容姓名、OctoMap特点等。 

moveit_sensor_manager.launch:一样的,提高传感技术技术性器配置文本文档后,大伙儿也务必在launch文本文档中提高对配置文本文档的加载。 

其他(可选择择):industrial_robot_simulator、warehouse、joystick、总体整体规划器、总体整体规划提升优化算法库…… 

机器设备人,走你!(尽量) 

上述内容开展后,即可以Enjoy Yourself了,无论是Rviz, Python 还是C++,都可以以以用以进行运动健身健身运动总体整体规划,倘若连接了真实机器设备人,那么还能够在实际机器设备人勤奋行运动健身健身运动总体整体规划。 

其他 

虽然写了那麼多,但感觉还是未写清楚,最后随便列点之前大家在后台管理管理方法问过的比较多的难点: 

| 什么机器设备人能用MoveIt 

MoveIt具体上跟机器设备人关系其实不大,如果让你URDF文本文档,能接受控制指令,那么便可以用MoveIt,运送设备人的话还能够,只是MoveIt现如今没有针对Navigation做总体整体规划器。 

| 怎样用MoveIt做运送设备人三d Navigation 

相对性性于传统式式Navigation包,MoveIt里能够做三d的碰撞检测,但是它仍未加上适合移动智能终端服务平台的总体整体规划提升优化算法。大概做法下列: 

修改FCL,对外开放对外开放出碰撞检测涵数(全新升级版本号号好像早就可以马上开启了); 

写一个总体整体规划器:十分简易的就是本身写一个A*或Dijkstra,还能够想方式将SBPL用起来(我没在运送设备人上放过),那般即可以进行全局性性总体整体规划了; 

写一个action server,接受总体整体规划结果,同时将其转换成Navigation包的gloal_planner一样文档文件格式,应用Navigation的local_planner开展相对性相对路径跟踪;当然,这一步还能够本身写local_planner。 

| 怎样用MoveIt做出航器或深潜艇的相对性相对路径总体整体规划 

这一与上一难点相仿,MoveIt没有针对刚体的总体整体规划提升优化算法,倘若可以接受RRT的总体整体规划结果,那么基本基础理论上讲是可以马上运用的。 

| 如何在MoveIt上运用本身的总体整体规划提升优化算法 

我只尝试过先在OMPL中写本身的总体整体规划器,之后依据修改moveit_planner中的ompl_interface,将本身的总体整体规划器选用MoveIt中; 倘若恩恩怨怨Sampling-based方法,那麼就需要去看看看一下MoveIt的Plugin怎样改了,这一一部分我没工作中工作经验。 

| 如何学习培训学习培训MoveIt 

关注我的手机微信微信公众号(划重要); 

学ROS基本因素:三种信息内容体系等; 

学案例实例教程:按照官方网网站案例实例教程走一遍; 

遇到难点,先在ROS问答区或MoveIt的mail lists查找不是是有相近难点,如没有,则本身在上述综合服务平台明确提出难题; (到此, 你早就采用MoveIt了,但采用具体实际效果没什么疑惑不大好) 

看MoveIt各部分API,阐释其高级功效; 

根据本身务必,修改一一部分源码(例如对外开放对外开放出FCL的各种各样各种各样功效),之后再MoveIt官方网网github上确立明确提出修改源码乞求(PR); (到此,你早就掌握了MoveIt这一专用型专用工具,可以充裕充足充分发挥MoveIt的功效) 

根据本身的科学研究科学研究内容,写本身的Plugin,充裕发掘MoveIt的发展趋势发展潜力; 

倘若具体实际效果好,那么在IROS/ICRA发paper,交流会中找MoveIt的写作者们闲谈,回家了了后到github上把本身的编号开源系统系统软件,并PR到MoveIt上。 

 

机器设备人,走你!                        

雷锋网经典著作权文章内容內容,没承受权禁止转截。详尽信息内容见。


上海市市交通出行交通出行高等院校机器设备人所博士研究生科学研究生生,高校大学本科高校大学毕业于清华大学高校高等院校机械设备机器设备工程项目新项目系,重要科学研究科学研究方向机器设备视觉效果实际效果与运动健身健身运动总体整体规划,自己手机上手机微信手机微信微信公众号:Nao(ID:qRobotics)

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信

在线咨询
联系电话

400-888-8866