概述
文章目录
- 配置与使用
- 文件内容
- ur_gazebo
- ur5_ROS-Gazebo_pickup
配置与使用
https://github.com/ros-industrial/universal_robot有详细说明
- 用Gazebo
roslaunch ur_gazebo ur5.launch
rostopic list
follow_joint_trajectory
是MoveIt!
最终规划发布的 action
消息,由机器人控制器端接收该消息后控制机器人完成运动。从上边的话题列表中,可以找到follow_joint_trajectory
,由仿真机器人的控制器插件
订阅。
打开启动的ur5.launch
文件,可以看到以下代码段:
<rosparam file="$(find ur_gazebo)/controller/arm_controller_ur5.yaml" command="load"/>
控制器管理节点controller_manager启动了一个arm_controller插件,该插件的配置可以查看arm_controller_ur5.yaml文件:
arm_controller:
type:position_controllers/JointTrajectoryController
joints:
-shoulder_pan_joint
-shoulder_lift_joint
-elbow_joint
-wrist_1_joint
-wrist_2_joint
- wrist_3_joint
constraints:
goal_time: 0.6
stopped_velocity_tolerance: 0.05
shoulder_pan_joint: {trajectory: 0.1, goal: 0.1}
shoulder_lift_joint: {trajectory: 0.1, goal: 0.1}
elbow_joint: {trajectory: 0.1, goal: 0.1}
wrist_1_joint: {trajectory: 0.1, goal: 0.1}
wrist_2_joint: {trajectory: 0.1, goal: 0.1}
wrist_3_joint: {trajectory: 0.1, goal: 0.1}
stop_trajectory_duration: 0.5
state_publish_rate: 25
从上边的配置信息中可以看到,arm_controller是一个JointTrajectory
类型的控制器,接收follow_joint_trajectory中的轨迹信息后,完成机器人的运动控制。
- 用Moveit
ROS中类似于UR5这样的机械臂控制当然离不开MoveIt!,接下来我们就使用MoveIt!实现对gazebo中UR5的控制。
UR5的控制需要通过follow_joint_trajectory
这个action
接口实现,这就需要在MoveIt!端配置一个控制器插件,实现该接口的功能。该插件的配置在ur5_moveit_config
中已经实现,可以查看ur5_moveit_config
功能包中的controllers.yaml
文件:
controller_list:
- name:""
action_ns: follow_joint_trajectory
type:FollowJointTrajectory
joints:
-shoulder_pan_joint
-shoulder_lift_joint
-elbow_joint
-wrist_1_joint
-wrist_2_joint
所以我们并不需要进行任何修改,使用如下命令启动MoveIt!和rviz,启动过程会包含所需要的控制器插件:
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
参考https://www.pianshen.com/article/74011234943/,还可以
roslaunch ur5_moveit_config demo.launch
文件内容
ur_gazebo
我们会看到有教程说用类似下面的安装
$ sudo apt-get install
ros-melodic-ur-gazebo
ros-melodic-ur5-moveit-config
ros-melodic-ur-kinematics
然而,我们安装ur_universal的时候,即git clone sudo apt-get install ros-$ROS_DISTRO-universal-robot
的时候就已经包含了上面三个包,因为UR这个包是一个metapackage
ur5_ROS-Gazebo_pickup
项目地址
- 在
catkin_ws/src/
下,得有两个文件夹,一个是universal_robot
(安装的这个package
的时候知道,这其实是一个metapackage
),另一个是ur5_ROS-Gazebo
。 - 我们要更改
ur_ws/src/universal_robot/ur_description/urdf/
下的ur5_joint_limited_robot.urdf.xacro
文件。更改一轴的旋转角度范围。 - 在同样的文件夹下,备份
common.gazebo.xacro
和ur5.urdf.xacro
。因为这两个官方的文件不包含相机和真空抓取器模块,我们得用ur5_ROS-Gazebo/ur_description/urdf/
下面的对应文件替换它们。 - 然后,编译,运行。
cd ~/catkin_ws
catkin_make
roslaunch ur5_notebook initialize.launch
有空把其中的README部分全部实现一遍
最后
以上就是碧蓝凉面为你收集整理的Ubuntu18.04+Melodic+UR5配置与使用文件内容ur5_ROS-Gazebo_pickup的全部内容,希望文章能够帮你解决Ubuntu18.04+Melodic+UR5配置与使用文件内容ur5_ROS-Gazebo_pickup所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复