一、IKFAST 简介
IKFAST是一种基于解析算法的运动学插件,可以保证每次求解的一致性。
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**

(2)将 urdf 转换成 dae 文件
- 接上一步骤,依然在/ikfast_ws/src 中执行,以下程序都是
rosrun collada_urdf urdf_to_collada abb_irb6700_200_260.urdf abb_irb6700_200_260.dae
(4)查询连杆信息
openrave-robot.py abb_irb6700_200_260.dae --info links
3、为 abb_irb6700_200_260 生成IK求解器
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
全部评论(1)
赞美愚者
我按照您的步骤配置ur10+UR10时候在最后运行roslaunch的时候出现了[move_group-4] process has died [pid 10792, exit code 127, cmd /home/nielei/catkin_ws/devel/lib/moveit_ros_move_group/move_group --debug __name:=move_group __log:=/home/nielei/.ros/log/b0b5c652-948a-11ec-914d-000c29873124/move_group-4.log].log file: /home/nielei/.ros/log/b0b5c652-948a-11ec-914d-000c29873124/move_group-4*.log的错误,在这个路径我也没有找到说的这个log文件查看到底是什么错误,请问有什么解决办法吗?