一、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)
您还未登录,请登录后发表或查看评论