首页 > 系统相关 >ubuntu18.04+ ROS melodic 安装trac-ik

ubuntu18.04+ ROS melodic 安装trac-ik

时间:2024-01-15 17:55:19浏览次数:36  
标签:melodic 插件 trac aubo IK kinematics ROS MoveIt

IKFast 太麻烦了,出现错误太多,安装失败!

转而安装Trac-IK,方法很简单,ROS的软件源中已经集成了TRAC-IK的安装包,可以直接使用以下命令安装:

sudo apt-get install ros-melodic-trac-ik

然后修改机械臂MoveIt!配置功能包下的kinematics.yaml文件就可以使用啦:

 
  1. arm:
  2. kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  3. kinematics_solver_attempts: 3
  4. kinematics_solver_search_resolution: 0.005

接下来再次运行demo.launch,默认加载的就是TRAC-IK运动学插件了,试试规划求解的效率是不是高了很多!

但是TRAC-IK也有问题,它是一种数值算法,每次求解得到的关节位置不一定相同。

IKFAST是一种基于解析算法的运动学插件,可以保证每次求解的一致性。

换掉KDL(以aubo机械臂的功能包、更换Trac_IK求解器为例,其他机械臂思路类似。)

在aubo_robot功能包下找到目录src/aubo_i5_moveit_config/config/kinematics.yaml文件,打开它,在manipulator_i5:下面一行,把kdl那一行注释掉,仿写Trac_IK的求解器,结果如下图所示,这样就更换完了,运行自己的程序试一下就行。

 

注:具体的修改问题,如果是你自己编写的机械臂功能包,那有可能部分配置文件中没有编写共享参数的代码,因为节点之间的变量空间是不相同的,所以如果不连接到该变量空间,就会出现可能rviz中,gazebo中和现实机械臂的规划器使用的不是一个规划器的问题。

解决:在aubo_robot功能包下找到目录src/aubo_i5_moveit_config/launch,其中我的aubo机械臂的文件是moveit_planning_execution.launch

打开后查看我用到了哪些东西:

 

 

ROS-I、MoveIt和Rviz三个插件。

这里因为我使用了ROS-I和MoveIt!(Rviz只是可视化,真正的运动还是靠MoveIt实现,所以不用管它),所以要确保这两个都用到了Trac_IK插件,所以都应该有下面代码段(Block):

1.ROS-I插件,即planning_context.launch文件中。

  2.MoveIt插件,即move_group.launch文件中。

 

到此就所有的配置完毕了,用下面这行命令查询ROS下kinematics运行的参数叫啥:

rosparam list | grep kinematics

可以看到我的工程中求解器的参数叫这个名字:

 转自https://blog.csdn.net/D124lab/article/details/121531344

 

标签:melodic,插件,trac,aubo,IK,kinematics,ROS,MoveIt
From: https://www.cnblogs.com/bile/p/17965939

相关文章

  • 【渗透测试】Vulnhub Corrosion 1
    渗透环境攻击机:   IP: 192.168.226.129(Kali)靶机:     IP:192.168.226.128靶机下载地址:https://www.vulnhub.com/entry/corrosion-1,730/进行渗透一、获取端口信息nmap或者arp-scan都能扫除IP,这里就不赘述了。先看看开放了哪些端口。开放了22和80端口,访问8......
  • 聊一聊为什么我要整合Microsoft.Extensions.DependencyInjection和Castle.Core
    前言如果用到动态代理,大家可能会有几种选择,排到前列的是Autofac+Castle、AspectCore和DoraInterception,我将从我当时研究的经历,以及我遇到的场景,为大家展示下聊一聊我为什么要费时费力的整合Microsoft.Extensions.DependencyInjection和Castle.Core当时遇到的场景直接上源码......
  • Implicit隐式渲染入门 SDF SphereTracing
    Implicit何为隐式?隐式(Implicit)的是显式(explicit)的反义词。explicit可以简单理解为用网格等信息描述的几何形状,网格信息是离散的,信息量越大描述越精准。Implicit则不需要顶点等显式信息,用方程,或者说有符号距离场(SignedDistanceField)即SDF,表示几何形状的数学模型。SDF在SD......
  • Programming Abstractions in C阅读笔记:p246-p247
    《ProgrammingAbstractionsinC》学习第68天,p246-p247总结,总计2页。一、技术总结本章通过“thegameofnim(尼姆游戏)”,这类以现实生活中事物作为例子进行讲解的情况,往往对学习者要求比较高,需要学习者具备一定的人文、历史知识或专业知识,如果缺乏这方面的知识,就会导致读者在......
  • 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(完结篇)
    聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(完结篇) 合集-聊一聊如何整合Microsoft默认的Ioc容器和Castle.Core(4) 1.聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)01-122.聊一聊如何结合Microsoft.Extension......
  • 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三)
    聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三) 合集-聊一聊如何整合Microsoft默认的Ioc容器和Castle.Core(4) 1.聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)01-122.聊一聊如何结合Microsoft.Extensions.De......
  • 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)
    聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二) 合集-聊一聊如何整合Microsoft默认的Ioc容器和Castle.Core(4) 1.整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)01-122.聊一聊如何结合Microsoft.Extensions.DependenyI......
  • 聊一聊如何结合Microsoft.Extensions.DependenyInjection和Castle.Core
    聊一聊如何结合Microsoft.Extensions.DependenyInjection和Castle.Core 合集-聊一聊如何整合Microsoft默认的Ioc容器和Castle.Core(4) 1.聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)01-122.聊一聊如何结合Microsoft.Extensions.Depend......
  • Center-based 3D Object Detection and Tracking
    zotero-key:A37ALEJ3zt-attachments:-"280"title:Center-based3DObjectDetectionandTrackingcitekey:yinCenterbased3DObject2021tags:-paperCenter-based3DObjectDetectionandTrackingZoteroAbstractThree-dimensionalobjectsare......
  • 网络攻击技术(二)——Cross-site scripting
    网络攻击技术(二)——Cross-sitescripting 1.1.1摘要     在本系列的第一篇博文中,我向大家介绍了SQLInjection常用的攻击和防范的技术。这个漏洞可以导致一些非常严重的后果,但幸运的是我们可以通过限制用户数据库的权限、使用参数化的SQL语句或使用ORM等技术来防范......