如何利用ROSMoveIt快速搭建机器人运动规划平台?雷峰网

目前而言,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控制机器人大概分为以下几步:

建立机器人URDF模型(必须)

建立机器人ROS驱动

生成MoveIt配置文件(必须)

标定相机

修改MoveIt配置文件与launch文件

机器人,走你!(必须)

其中,上面未标明“(必须)”字样的只有在使用实际机器人时才需要。初学者如果只想在仿真里看看的话,可以先跳过。

|建立机器人URDF模型(必须)

URDF(UnifiedRobotDescriptionFormat)是ROS中使用的一种机器人描述文件,它以HTML的形式定义一个机器人。包含的内容有:连杆、关节名称,运动学参数、动力学参数、可视化模型、碰撞检测模型等。

后续碰撞检测、运动学求解、规划等都依赖于URDF文件。

那么,要如何建立URDF文件呢?如果你用的是单臂、串联机器人,并且你本人没有强迫症的话,可以使用ROS官方发布的sw_urdf_exporter,它可以帮你从SolidWorks中导出URDF文件。

但如果不幸你使用的是双臂(双臂机器人用这个插件经常出问题)或者非并联机器人(需要自己用mimic_joint改成串联形式),又或者你有强迫症(想要尽量简洁、漂亮的模型)的话,可以考虑自己手写URDF或者xacro文件(坑)。

这点我就不具体说了,简单写几个要点:

多臂用xacro来减少工作量;

坐标系设置尽量满足所有关节为0°时候,所有坐标系同姿态(这样可以避免引入pi);

如果想要有颜色的模型,可以自己生成每个零件的dae模型,而不使用stl模型;

可视化模型采用漂亮、精细的模型,碰撞模型可以使用简化的模型。

|建立机器人ROS驱动

如果你不用真实机器人,这步可以先跳过。

机器人的ROS驱动并没有什么标准的格式或者规定。对于MoveIt而言,只要求你有个ROSnode,它有两个功能:

1)发布关节角度/joint_states

如果连接实际机器人,MoveIt需要从机器人当前状态开始规划,因此这个ROS驱动需要能够实时获取机器人的各关节信息(如角度),并用过/joint_states消息发布;

2)接收规划结果,并下发给机器人

由于MoveIt规划的结果会以一个action的形式发布,所以我们的ROS驱动就应该提供一个actionserver,这个功能就是接收规划结果,下发给机器人,并反馈执行情况。action的类型是control_msgs/FollowJointTrajectory。具体action的写法可以参照ROS官网(坑)。

简单而言,一个action有五个部分:

这部分在MoveIt部分是看不到文档的,所以也是阻碍初学者使用MoveIt控制自己机器人的最大问题之一。但是了解了它的机理之后,就比较简单了。如果你是第一次使用MoveIt,极力推荐你先试试UR、Baxter等已经写好这部分驱动的机器人。

|生成MoveIt配置文件(必须)

这个利用MoveIt的setupassistant界面,按照教程很容易就能配置好。

这步做完,就可以直接在仿真里面看运动规划效果了。这是我觉得MoveIt对初学者最友善的地方,不用写一行代码就可以看到运动规划。

|标定相机

这个主要涉及相机模型与AX=XB求解问题,不多赘述。这步就是为了让机器人知道摄像头放在机器人的哪个位置。大家可以看看我实验室师弟写的自动标定演示:

一个launch文件就能完成标定,不知比我当年写的手动标定方法高多少。这个标定程序我们之后可能会开源出来。如果有机会我也会顺便讲讲它的原理(坑)。

|修改MoveIt配置文件与launch文件

因为前面生成的文件都是针对虚拟机器人的,如果需要连接实际机器人,需要修改一些配置文件,我可能记不太清具体要修改几个文件了,请以官方教程为主:

上述内容完成后,就可以EnjoyYourself了,无论是Rviz,Python还是C++,都可以用来进行运动规划,如果连接了真实机器人,那么也可以在实际机器人上完成运动规划。

其他

虽然写了这么多,但感觉还是没写清楚,最后随便列点之前大家在后台问过的比较多的问题:

|什么机器人能用MoveIt

MoveIt其实跟机器人关系不大,只要你有URDF文件,能接受控制指令,那么就能用MoveIt,移动机器人的话也可以,只是MoveIt现在没有针对Navigation做规划器。

|怎么用MoveIt做移动机器人3DNavigation

相对于传统Navigation包,MoveIt中可以做3D的碰撞检测,但是它尚未加入适合移动平台的规划算法。大概做法如下:

|怎么用MoveIt做飞行器或潜艇的路径规划

这个与上个问题类似,MoveIt没有针对刚体的规划算法,如果可以接受RRT的规划结果,那么理论上讲是可以直接使用的。

|如何在MoveIt上使用自己的规划算法

我只尝试过先在OMPL中写自己的规划器,之后通过修改moveit_planner中的ompl_interface,将自己的规划器用到MoveIt中;如果是非Sampling-based方法,那就要去看看MoveIt的Plugin怎么改了,这部分我没经验。

THE END
1.云渲染服务器怎么搭建腾讯云开发者社区云渲染服务器怎么搭建 云渲染是一种将计算机图形渲染的结果传输到云端,并在云端进行计算和处理,最后将结果返回给用户的技术。搭建云渲染服务器需要考虑以下几个方面: 1. 选择合适的云服务提供商:选择合https://cloud.tencent.com/developer/information/%E4%BA%91%E6%B8%B2%E6%9F%93%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%80%8E%E4%B9%88%E6%90%AD%E5%BB%BA-video
2.keyshot+AI产品设计渲染(第一期)草图keyshot+AI产品设计渲染(第一期),草图,产品设计,设计渲染,keyshothttps://www.163.com/dy/article/JJP9PUU80511AR28.html
3.ue4云渲染服务器怎么搭建?云渲染服务器是一种基于云计算的渲染解决方案,通过将任务分布到多个计算节点上并行处理,实现快速高效的渲染。下面就是如何搭建UE4云渲染服务器的步骤: 首先,我们需要选择一个合适的云渲染平台,例如AWS、Azure或Google Cloud。这些平台都提供了强大的计算资源和完善的云服务,适合于构建云渲染服务器。 https://www.3d66.com/ku/news/2481.html
4.渲云云渲染农场效果图和3D影视动画渲染平台渲云是一家全面拥抱公有云的云渲染农场,专业提供CG行业云端渲染解决方案, 用户遍及亚洲、欧美、中东等区域,现已支持3ds Max/Sketchup/Maya/C4D/V-Ray/Corona等主流3D软件,参与渲染制作众多知名影视动画及建筑设计作品.https://www.xrender.com/
5.京东低代码平台:浅谈水滴拖拽画布的设计与实现# 复杂页面的渲染效果 目前水滴低代码平台已经完成了页面自举的能力,平台历史开发的页面,已经使用搭建化的方式进行了替代,下图展示的是平台首页搭建的效果。 未来规划 # 1. 辅助搭建 在搭建场景使用绝对定位布局的方式,给用户的操作带来了很大的开放性,但随之而来的问题就是搭建精确度的保证。很多情况下,用户需要手动https://maimai.cn/article/detail?fid=1765292488&efid=bKAN--xcQKA-GHuVrTXBqQ
6.情感语文(精选十篇)3. 搭建平台, 内化情感 由于情感是具有瞬时性和不稳定性的, 所以在对事物评价以后, 教师要将学生获得种种情感的体验组织到一个内在和谐的系统内, 使之内化为用来指导自己行动的某种理念, 才算是完成了一次完整的情感教育。阅读教学《“精彩极了”和“糟糕透了”》一文后, 学生的情感体验已被父爱和母爱所感染。https://www.360wenmi.com/f/cnkey67kp08d.html
7.鸿蒙ArkUI实战开发基于OpenGL渲染视频画面帧鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选? 记录一场鸿蒙开发岗位面试经历~ 持续更新中…… 场景描述 在直播场景中,会有礼物、魔法等表情临时出现在画面,需要获取视频画面帧进行纹理更新后再渲染 通过OpenGL渲染视频画面帧。 ? 在ArkTS侧调用createAVPlayer()创建AVPlayer实例,初始化进入idle状态。设置业务https://zhuanlan.zhihu.com/p/12755712665
8.RenderG渲染农场3d云渲染平台renderg云渲染农场,渲染客户端,效果图渲染,免费渲染,渲染集群,3dmax,max渲染,maya渲染,houdini渲染,在线渲染,c4d渲染,是国内领先的云渲染平台https://www.renderg.com/
9.融媒体中心建设与发展对策研究帮我搜(三)对新技术平台搭建并不完美 科技的发展改变了传统的获取信息的方式。但全省融媒体在新技术的运用上还不够成熟,没有考虑到新技术,新技术的使用和接受度也远不及商业媒体,造成全省融媒体平台建设不完善,内容质量高,产能低,缺乏吸引力。此外,平台建设不成熟,平台研发功能不完善,造成用户缺乏、用户体验不佳的现象。https://bjbws.com/case_detail/748/MTczODc=.html
10.tmagic表单渲染 魔方的表单配置项,使用了我们开发的基于 element-ui 的 @tmagic/form,@tmagic/form 也可以在其他地方单独使用。支持渲染 JS Schema 提供的表单描述。 使用 playground 的示例项目,就是为开发者提供的基础应用示例。开发者可以基于此或者参考自行实现,搭建一个基于魔方的可视化搭建平台。 https://gitee.com/webapp_qsr/tmagic-editor
11.猫眼娱乐与腾讯云战略合作升级,携手打造高效渲染平台助力业务增长9月5-6日,2024腾讯全球数字生态大会在深圳宝安国际会展中心举办。会上,猫眼娱乐与腾讯云宣布达成战略合作。未来,双方将在深度长期合作的基础上,基于腾讯云在数字化、AIGC、全球基础设施等方面的技术优势,共同探索猫眼娱乐渲染平台的搭建和模型调优,助力客户快速且灵活地完成动画渲染任务。 https://news.hexun.com/2024-09-09/214437772.html
12.GitHubJatteny/tmagic表单渲染 魔方的表单配置项,使用了我们开发的基于 element-ui 的 @tmagic/form,@tmagic/form 也可以在其他地方单独使用。支持渲染 JS Schema 提供的表单描述。 使用 playground 的示例项目,就是为开发者提供的基础应用示例。开发者可以基于此或者参考自行实现,搭建一个基于魔方的可视化搭建平台。 https://github.com/Jatteny/tmagic-editor
13.英特尔酷睿i512600K处理器怎么样?英特尔酷睿i5平台搭建 12代酷睿处理器的推出对于消费者来说有了更多的选择,而为了满足12代酷睿处理器所需的供电,各大主板厂商也增加了主板的规格。除了CPU之外,我们在其他硬件上选择的仍然与Intel Core i9-12900K测评相同,包括拥有20+1相供电的ROG MAXIMUS Z690 Hero主板,搭载双8Pin接口,保证了处理器在全速运行时候的稳定。 https://www.jb51.net/hardware/cpu/796545_all.html
14.如何搭建云渲染服务器教程图?Worktile社区搭建云渲染服务器需要具备一定的技术知识和经验,如果您不熟悉相关技术,建议寻求专业的技术支持或咨询。同时,根据您的实际需求和预算,适当调整以上步骤以满足您的要求。希望这个教程图能够帮助您顺利搭建一个高效的云渲染服务器。 1.选择云平台和服务器配置 https://worktile.com/kb/ask/1248002.html
15.如何搭建一个高可用的服务端渲染工程?陌路y单个流量降级 – 偶发的服务端渲染失败降级为客户端渲染 Disconf / Apollo 配置降级 – 分布式配置平台修改配置主动降级,比如可预见性的大流量情况下(双十一),可提前通过配置平台将整个应用集群都降级为客户端渲染 CPU 阈值降级 – 物理机 / Docker 实例 CPU 资源占用达到阈值触发降级,避免负载均衡服务器在某些情况下https://www.cnblogs.com/moluy/p/14024759.html
16.Intel酷睿P9500处理器性能天梯图评测常见问题一、测试平台搭建 为了全面评测Intel酷睿P9500处理器的性能表现,我们选择了联想小新Pro 14 2022作为测试平台。该笔记本搭载了14英寸2.8K 120Hz高刷屏幕,16GB双通道内存,512GB PCIe 4.0固态硬盘等高端配置,可以充分发挥Intel酷睿P9500处理器的性能优势。测试过程中,我们将笔记本接入稳定的电源,并关闭了所有后台程序,以保https://www.xiaoyuxitong.com/cjwt/156322.html
17.线下实景观展,线上云端逛展“图洽会云平台”搭建进行时记者从图洽会组委会了解到,作为本届图洽会最具亮点的内容之一—图洽会“云平台”已经完成前期模块设计,功能搭建正在进行中。图洽会云平台将依托大数据、人工智能、移动互联网、云计算、区块链等一系列数字化技术,充分利用5G、3D、VR等技术,打破地域、时间、空间、距离和成本等限制,通过在线上搭建一个VR虚拟网络展览https://m.yb983.com/tuiguang/p/267549.html
18.3D展览搭建模拟实训系统平台基于3D模拟技术,拥有大量的仿真构件素材,为体现搭建设计的丰富效果,平台可上传二维平面图功能,如个性化订制展会宣传标识、标语、广告语、招贴等等。通过平台可创建多门类多种效果的,从而达到平台的综合利用。 4、作品渲染导出 凡是在平台自主创建或设计的作品,经过系统的渲染输出,可自行保存到电脑或存储到个人的平台http://hzzyk.hncpu.com/info/1039/1901.htm