UR5机械臂仿真实例(二)moveit运动规划与gazebo仿真 [ubuntu20.04+ROSnoetic+gazebo11]

UR5机械臂MoveIt运动规划与Gazebo仿真教程

【UR5机械臂moveit运动规划与gazebo仿真】

1. 安装moveit

sudo apt install ros-noetic-moveit

2. 安装ur机器人的驱动

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

3. 进入工作空间进行下载驱动

注意:ur5官方没有出noetic版本,而noetic不再包含ur_msgs包,需要单独下载。

cd ~/catkin_ws/
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git src/Universal_Robots_ROS_Driver
git clone -b calibration_devel https://github.com/fmauch/universal_robot.git src/fmauch_universal_robot
git clone https://github.com/ros-industrial/ur_msgs.git src/ur_msgs
rosdep update
rosdep install --from-paths src --ignore-src -y
catkin_make

下载后,打开src/fmauch_universal_robot/ur5_moveit_config/launch/moveit_rviz.launch,添加:

<node pkg="tf" type="static_transform_publisher" name="link_name" args="0 0 0 0 0 0 map odom 0" />

如果不添加tf状态广播,rviz启动后会在fixed frame栏中出现unknown frame map错误。

添加后moveit_rviz.launch的内容为:

<launch>

  <arg name="debug" default="false" />
  <arg unless="$(arg debug)" name="launch_prefix" value="" />
  <arg     if="$(arg debug)" name="launch_prefix" value="gdb --ex run --args" />

  <arg name="rviz_config" default="" />
  <arg     if="$(eval rviz_config=='')" name="command_args" value="" />
  <arg unless="$(eval rviz_config=='')" name="command_args" value="-d $(arg rviz_config)" />

  <node name="$(anon rviz)" launch-prefix="$(arg launch_prefix)" pkg="rviz" type="rviz" respawn="false"
        args="$(arg command_args)" output="screen">
  </node>

  <node pkg="tf" type="static_transform_publisher" name="link_name" args="0 0 0 0 0 0 map odom 0" />

</launch>

4. 启动gazebo仿真和moveit

打开终端测试,Alt+T可以在同一个窗口打开多个终端,打开终端记得source devel/setup.bash。

roslaunch ur_gazebo ur5_bringup.launch
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

(1) ur5_bringup.launch:加载机器人参数、发布机器人状态、加载空白gazbeo世界、将model加载在gazbeo中、加载gazbeo中的控制器,并通过节点发布出来;

gazebo服务器在国外,使用起来可能会有些卡顿。

(2) ur5_moveit_planning_execution.launch:映射了控制器的命名空间,与gazebo_controller连接、启动move_group;

其中,“sim:=true”对应ur5_moveit_config/ur5_moveit_planning_execution.launch中下面这句代码。目的是将“/scaled_pos_joint_traj_controller/follow_joint_trajectory"重映射(remap)到"/pos_joint_traj_controller/follow_joint_trajectory",保持gazebo和moveit控制器的命名空间一致,实现两者的连接控制。"sim"即simulation,“sim:=true”即为启动仿真环境,若“sim:=false”(default)则为real robot。

<remap if="$(arg sim)" from="/scaled_pos_joint_traj_controller/follow_joint_trajectory" to="/pos_joint_traj_controller/follow_joint_trajectory"/>

(3) moveit_rviz.launch:启动rviz。

5. rviz设置

打开rviz后,将坐标系(Fixed Frame)改为base,点击Add添加RobotModel和MotionPlanning,将规划组(Planning Group)改为manipulator

拖动rviz中ur5机械臂末端的规划球至目标位置,或者在Joints里拖动关节角度(如果规划球拖不动机械臂,把Approx IK Solutions打勾)

点击plan进行运动轨迹规划,点击execute看到gazebo中机械臂按照轨迹运动

评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值