• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

ABB–配置MoveIt!运动学插件IKFAST

人工智能 Steve_long 3025次浏览 0个评论

一、IKFAST 简介 IKFAST是一种基于解析算法的运动学插件,可以保证每次求解的一致性。
Alt 1、准备工作

(1)先创建ikfast的工作空间

mkdir -p ~/ikfast_ws/src
cd ~/ikfast_ws/src
catkin_init_workspace 
cd ~/ikfast_ws
catkin_make 
source devel/setup.bash

(2)然后,将 irb6700_200_260.xacro 和 irb6700_200_260_macro.xacro 文件拷贝到 /ikfast_ws/src 中 2、开始配置abb文件 (1)转换生成URDF文件

cd ~/ikfast_ws/src
rosrun xacro xacro --inorder -o irb6700_200_260.urdf irb6700_200_260.xacro
  • 得到 irb6700_200_260.urdf 文件,打开,看到 robot name,需要确保URDF的名称和 robot name 一样,因此将 irb6700_200_260.urdf 改为 **abb_ irb6700_200_260.urdf** ABB--配置MoveIt!运动学插件IKFAST

(2)将 urdf 转换成 dae 文件

  • 接上一步骤,依然在/ikfast_ws/src 中执行,以下程序都是
rosrun collada_urdf urdf_to_collada abb_irb6700_200_260.urdf abb_irb6700_200_260.dae
  • 如果出现 [rospack] Error: package ‘collada_urdf’ not found,运行以下程序,即可解决
    sudo apt-get install ros-kinetic-collada-urdf
    

    (3)OpenRave 中打开

    openrave abb_irb6700_200_260.dae
    

    在这里插入图片描述

(4)查询连杆信息

openrave-robot.py abb_irb6700_200_260.dae --info links

在这里插入图片描述 3、为 abb_irb6700_200_260 生成IK求解器

  • 参数什么的都放在里面了,大家自己参照 ROS进阶——MoveIt!运动学插件IKFAST配置.对比理解
  • 依旧接着上面在/ikfast_ws/src 中执行
    python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=abb_irb6700_200_260.dae --iktype=transform6d --baselink=1 --eelink=11 --savefile=ikfast61.cpp
    
  • 对比理解
python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot="$MYROBOT_NAME".dae --iktype=transform6d --baselink="$BASE_LINK" --eelink="$EEF_LINK" --savefile="$IKFAST_OUTPUT_PATH"

(1)创建一个空的软件包,名称为 abb_irb6700_200_260_moveit_plugins

catkin_create_pkg abb_irb6700_200_260_moveit_plugins
cd ~/ikfast_ws
catkin_make

(2)将 abb_irb6700_200_260_moveit_config 文件复制到 /ikfast_ws/src 中,再次 catkin_make

  • …_moveit_config 的名称,得和URDF的保持一致,需要通过 MoveIt! Setup Assistant 重新配置
  • 重新配置时,添加 Planning groups 时,设置 Group Name 为 manipulator

(3)复制 ikfast.h 文件到 abb_irb6700_200_260_moveit_plugins / include 文件夹下

  • ikfast.h 文件可在 abb_irb2400_moveit_plugins / irb2400_kinematics / include 中找到,复制过去即可

(4)将先前在软件包创建的 ikfast61.cpp 文件,重命名为 abb_irb6700_200_260_manipulator_ikfast_solver (5)执行了后,在/ikfast_ws/src 路径下打开两个终端,一个运行 roscore ;另一个运行:

rosrun moveit_kinematics create_ikfast_moveit_plugin.py abb_irb6700_200_260 manipulator abb_irb6700_200_260_moveit_plugins abb_irb6700_200_260_manipulator_ikfast_solver.cpp
  • 对比理解
    rosrun moveit_kinematics create_ikfast_moveit_plugin.py "$MYROBOT_NAME" "$PLANNING_GROUP" "$MOVEIT_IK_PLUGIN_PKG" "$IKFAST_OUTPUT_PATH"
    

    (5)要是没有error,说明创建成功。此刻可看到运动学求解器已被替换成 ikfast ABB--配置MoveIt!运动学插件IKFAST (6)最后将以下两个文件包放进原工作空间,再catkin_make就可以了 (7)启动演示

    roslaunch abb_irb6700_200_260_moveit_config demo.launch
    

    4、总结

  • 此次安装方法 abb 的机械臂文件都可以,比如ABB 6640 等
  • 本次安装都在 /ikfast_ws/src 中进行


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ABB–配置MoveIt!运动学插件IKFAST
喜欢 (0)

您必须 登录 才能发表评论!

加载中……