利用ur5_ros_control实现基于速度的位置控制UR5机械臂

199
0
2021年1月3日 09时19分

结论:

 

相比于老的ur5_bringup.launch来控制机械臂可以更加柔顺的控制UR5机械臂。但是也存在规划时出现失败的情况,需要多次plan。具体怎么柔顺我会具体说明一下:

 

那末怎么使用呢?

 

1,安装驱动包

 

印象中我的下载方式:

git clone https://github.com/beta-robots/ur_modern_driver.git

首先需要下载带有ur5_ros_control.launch的ur_modern_driver驱动包

 

微信图片_20210101161425

 

打开ur5_ros_control.launch看一下包,发现这里已经很明确的指出了它可以用什么样的控制器进行机械臂控制。原来的ur5_bringup.launch包是没有这麽明确的。

 

很显然这里我们可以用到
joint_state_controller
force_torque_sensor_controller
vel_based_pos_traj_controller
pos_based_pos_traj_controller

 

微信图片_20210101161442

 

这里的vel_based_pos_traj_controller是非常具有诱惑力的,虽然不同于完全的速度控制,但是也是在基于速度基础上的位置控制。

 

2,修改moveit下控制器说明

 

找到
~/catkin_ws/src/universal_robot/ur5_moveit_config/config/controllers.yaml
修改成基于速度的位置控制器

 

controller_list:
#  - name: ""
  - name: "vel_based_pos_traj_controller"
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    joints:
      - shoulder_pan_joint
      - shoulder_lift_joint
      - elbow_joint
      - wrist_1_joint
      - wrist_2_joint
      - wrist_3_joint

 

3,运行语句

 

roslaunch ur_modern_driver ur5_ros_control.launch robot_ip:=192.168.1.107(自己的链接IP)
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch
roslaunch ur5_moveit_config moveit_rviz.launch config:=true

 

然后看到moveit下RVIZ界面(这里我添加了底座模型):

 

微信图片_20210101161518

 

4,对比实验

 

没有对比没有伤害

 

1,用原来的包是很难用到基于速度的位置控制的,根本链接不上

 

roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=192.168.1.107
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch

 

微信图片_20210101161542

 

只好改回了follow_joint_trajectory进行控制

 

微信图片_20210101161559

 

2,控制对比

 

ur5_ros_control控制视频:
比较柔顺,爱了。。

 

微信图片_20210101161649

 

ur5_bringup控制视频:

 

速度变化大,冲击力强,要打架的节奏

 

微信图片_20210101161713

 

结论:

 

利用新的控制可以实现相对柔顺的动作,不过相比于完全的速度控制还是有些差距,会出现规划失败的情况。

发表评论

后才能评论