做机械臂导航时遇到的问题8:逆运动学求解:在笛卡尔空间规划

在进行机械臂导航时,遇到逆运动学求解问题,即使已知末端执行器位姿参数也无法得到逆解。尝试配置ikfast未果,通过下载并测试URDF文件能成功求解。解决问题的关键包括:修复package.xml中作者邮箱,删除base_link的inertia标签,调整roslaunch文件以匹配需求,并使用my_robot_arbotix_ok.launch文件作为ikUrdfArbotix.launch的基础。同时,关注joint_states话题中的position和velocity信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于机械臂导航来说,重要的内容还是逆运动学求解,包括后续的基于视觉实现对目标的抓取。我在做逆运动学求解时遇到很大的困难,我创建的3自由度的机械臂模型文件,求解不出逆运动学解。也参考了ros wiki 官网,也有一些人的资料,最终也没解决,经过一个星期的尝试和排除,猜测可能是urdf模型有问题,link、joint坐标系设置没有统一,还有求解器不适合4自由度以下的机械臂求解,无法求解出结果。现将个人的经历叙述如下。
参考的资料有:
1、KUKA youbot机械臂与Moveit工具包(2):http://blog.csdn.net/yaked/article/details/45621517

2、如何利用ROS MoveIt快速搭建机器人运动规划平台:https://www.leiphone.com/news/201612/nxlXgriSLasNgAcX.html?viewType=weixin

3、ROS 运动规划 (Motion Planning): MoveIt! 与 OMPL:http://blog.csdn.net/improve100/article/details/50619925

4、ros论坛:https://answers.ros.org/question/240723/fail-aborted-no-motion-plan-found-no-execution-attempted/


一、逆运动学求解遇到的问题

1、给出末端执行器的位姿参数,就是position(x,y,z)、orientation(x,y,z,w)在确定位置可达的情况下还是无法求出逆解。Fail: ABORTED: No motion plan found. No execution attempted



2、博客资料里说的方法都尝试过,包括配置ikfast,但是我跟博客作者一样没有配置成功,后来从"ROS 运动规划 (Motion Planning): MoveIt! 与 OMPL"下载了urdf文件,进行配置测试,发现可以求解逆运动学,于是我开始新建一个机械臂的urdf文件。


二、SolidWorks生成urdf文件
1、用SolidWorks建立一个6自由度的机械臂模型,并且通过urdf插件生成ik_urdf包。

需要注意的是:link、joint坐标系设置尽量满足所有关节为0°时候,所有坐标系同姿态(这样可以避免引入pi)

  



三、通过moveit设置助手生成moveit配置文件ik_urdf_moveit_config



四、控制文件配置的主要步骤

1、 修改package.xml的作者邮箱信息,原来的邮箱格式不正确




2、 删除urdf文件中base_link的inertia标签,base_link不需要定义惯性属性



3、 根据需要roslaunch的文件做一些文件目录的修改(比如做机械臂导航时遇到的问题2:solidworks用sw_urdf插件生成urdf文件包后,需要修改的部分


4、 配置arbotix控制文件(类似于做机械臂导航时遇到的问题3:如何用arbotix接口控制机械臂
(4.1) 新建启动arbotix节点文件:ik_urdf_arbotix.launch文件

我们将(做机械臂导航时遇到的问题7:正向运动学求解:在关节空间进行规划)中的my_robot_arbotix_ok.launch文件复制到urdf包内的launch文件夹下,命名ik_urdf_arbotix.launch,修改完成后的代码如下:


<launch>
   <!-- Make sure we are not using simulated time -->
   <param name="/use_sim_time" value="false" />
  
   <!-- Launch the arbotix driver in fake mode by default -->
   <arg name="sim" default&
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值