【ROS】MoveIt-rviz-七自由度机械臂仿真

机器人学实验,仅供参考

参考资料
[1] Mastering ROS for Robotics Programming [是一本书]
[2] 这篇博客
[3] Mastering ROS for Robotics Programming的代码链接失效了,,,不知道跑哪里去了

实验开始

安装MoveIt!

sudo apt install ros-melodic-moveit

新建工作空间

mkdir -p ~/catkin_moveit_ws/src

把书配套源码的mastering_ros_robot_description_pkg包,放入/catkin_moveit_ws/src里面,然后进入工作空间编译:

cd catkin_moveit_ws/
catkin_make

编译

首先

source ./devel/setup.bash

启动MoveIt!

roslaunch moveit_setup_assistant setup_assistant.launch

选择加载现成的文件
/home/gwz/catkin_moveit_ws/src/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.urdf

  1. 导入机械臂urdf文件

【ROS】MoveIt-rviz-七自由度机械臂仿真_第1张图片

换个机械臂,安装

# 不了:sudo apt-get install ros-melodic-franka-description 

【ROS】MoveIt-rviz-七自由度机械臂仿真_第2张图片

  1. 配置自碰撞矩阵(Self-Collisions)
    选择默认的采样点数量10000,生成碰撞矩阵。 点击Generate Collision Matrix即可。

【ROS】MoveIt-rviz-七自由度机械臂仿真_第3张图片

  1. 定义虚拟关节(Virtual Joints)

    若一个机械手固定在移动机器人上,要定义一个虚拟关节,虚拟关节能够与移动基座关联.这里的机械手是固定不动的,因此不要虚拟关节。

  2. 创建规划组(Planning Groups)
    为达到目标位姿,要创建两个规划组,一个是机械臂(arm)部分,一个是夹具(gripper)部分。

    添加第一个Group:点击Add Group,设置规划组名称(Group Name)为arm,运动学求解器(Kinematic Solver)为kdl_kinematic_plugin/KDLKinematicsPlugin,其他默认;然后点击下面的Add Link,选中base_link并点击Choose Selected作为Base Link

    添加第二个Group:点击Add Group,设置规划组名称(Group Name)为gripper,不设置运动学求解器(Kinematic Solver),其他默认;然后点击下面的Add Joints,添加finger_joint1和finger_joint2,保存退出;双击Links,添加gripper_finger_link1和gripper_finger_link2

【ROS】MoveIt-rviz-七自由度机械臂仿真_第4张图片

【ROS】MoveIt-rviz-七自由度机械臂仿真_第5张图片
【ROS】MoveIt-rviz-七自由度机械臂仿真_第6张图片
最后设置得到的效果如下

【ROS】MoveIt-rviz-七自由度机械臂仿真_第7张图片

  1. 设置机器人的位姿
    就是自己定义一些位姿,需要的时候机械臂可以立即到达这个位置。也可以不设置

  2. 设置末端执行器
    点击Add End Effector,按照下图设置即可

【ROS】MoveIt-rviz-七自由度机械臂仿真_第8张图片

后面几个看着填就行啦(作者名、邮件啥的)

【ROS】MoveIt-rviz-七自由度机械臂仿真_第9张图片

  1. 配置文件(Configuration Files)
    设置配置文件的保存位置,点击Generate Package即可

启动节点

roslaunch seven_dof_arm_config demo.launch

【ROS】MoveIt-rviz-七自由度机械臂仿真_第10张图片

可以实现简单的鼠标拖动,用鼠标拖动爪子抓的球,沿着三个方向运动

左下角的Motion Planning插件,可以实现机械臂的轨迹规划,博客里面不方便演示。

你可能感兴趣的:(人工智能,ubuntu)