Moveit 学习——使用MoveIt Setup Assistant创建husky

    科技2022-07-11  126

    使用 MoveIt Setup Assistant 创建 husky_kinova_moveit_config 功能包

    1.在之前创建的ws_moveit工作区中运行MoveIt Setup Assistant

    roslaunch moveit_setup_assistant setup_assistant.launch

    点击Create New MoveIt! Configuration Package按钮 点击browse按钮找到 husky.urdf.xacro 路径,然后点击Load Files。 发现它搜索的路径范围只包含上边显示的三个,可以添加路径,当然也可以直接把模型文件复制到/ws_moveit/src。 ROS path问题解决方案 路径问题解决后,又出错了: 太头疼了,可能还是机器人模型文件写的不够规范,还是老方法来解决 MoveIt Setup Assistant会开始加载机器人描述文件, 等待加载完成提示 Success! Use the left navigation pane to continue。 2.生成自碰撞矩阵Self-Collision Matrix

    默认的碰撞免检矩阵生成器搜索机器人所有关节,这个碰撞免检矩阵是可以安全地关闭检查,从而减少行动规划的处理时间在某些关节会关闭碰撞检查,比如总是碰撞,从不碰撞,在默认的位置碰撞,或在运动学链条上的相邻处。采样密度指定了多少个随机机器人位置来检查碰撞。更高的密度需要更多的计算时间,而较低的密度就要减少关闭的检查节点默认值是10000个碰撞检查。碰撞检查是并行完成,以减少处理时间。

    点击左侧的 Self-Collisions 面板按钮,点击 Generate Collision Matrix 按钮,等待自碰撞计算完成 3.添加虚拟关节 因为这里机械臂的基座是husky小车,是移动的,则不需要添加虚拟关节 4.添加规划组 MoveIt通过定义规划组(planning group)来语义上定义机机械臂的各个部分(如手臂,末端执行器等)。这是MoveIt中一个很重要的概念。简单来说就是定义某些关节为一个组合并起一个名字。

    点击左侧 Planning Groups 面板按钮选择 Add Group ,将会看到如下界面: 添加手臂规划组: 01.输入Group Name为kinova_j2n6s300 02.选择 kdl_kinematics_plugin/KDLKinematicsPlugin 作为运动学求解器。(注意:如果你有一个自定义的机器人,也可以选择自定义IK求解器,详见 Kinematics/IKFast) 03.保持其余选项不变 04.点击 Add Joints 按钮。在关节列表中选择手臂部分所属的关节,添加到右侧 05.点击 Save 存储规划组

    添加手爪规划组: 01.点击 Add Group 按钮 02.输入 Group Name 为 hand 03.保持其余选项不变 04.点击 Add Links 按钮 5.添加预置机器人位姿

    选择左侧Robot Poses点击Add Pose按钮,定义名称为home选择规划组kinova_j2n6s300, 右侧会出现各个关节的滑条,拖动设置想要的姿态点击Save保存注意 尽量拖动每一个关节,这样如果URDF中有设置错误就可以看出来

    6.配置末端执行器End Effectors MoveIt中会给末端执行器一个专门的标签-End Effectors。之前我们已经为末端执行器添加了规划组,这里我们要将其标记为End Effector

    选择左侧End Effectors点击Add End EffectorEnd Effector Name设置为handEnd Effector Group选择之前添加的规划组hand父关节选择为j2n6s300_link_6父规划组选择留空白 7.添加被动关节、3D感知、Gazebo仿真、ROS Control在这里跳过就可 8.添加作者信息,不添加的话生不成软件包 9.生成配置文件:设置好存储名称和位置,点击Generate Package,就完成了husky_kinova_moveit_config的创建。

    特别需要注意的一点就是在添加规划组的时候,一定要将joint或者link一个一个的添加到右栏中去,不能按Ctrl一块添加,这样是无效的操作,规划组里什么也没有,也就无法生成包。 10.运行

    roslaunch husky_kinova_moveit_config demo.launch rviz_tutorial:=true

    Processed: 0.009, SQL: 8