使用ROS控制UR5的疑问

ros控制ur5步骤

原理

ros-industrial通过网线与UR机器人的控制器链接,通过网线向ur控制器上传URscript脚本程序,运行脚本程序并时刻接收ros-industrial的消息,脚本程序将ros消息转为机器执行命令。

控制UR5所需的包

1. ur_modern_driver:支持UR v3以上版本的ros驱动程序。通过该程序与UR控制器建立网络通讯,负责将ros的控制指令上传至UR控制器,也实时获取UR控制器的反馈信息并发布出来。

2. ros-kinetic-ur-description:里面包含了ur机器人的模型参数等信息,统一使用xacro格式进行保存。

3. ros-kinetic-moveit:一个机械臂运动规划库,上位机可以通过调用moveit!的函数解算达到目标所需的机械臂运动参数。

在Gazebo仿真环境中对ur5进行控制

步骤:

1. 启动Gazebo同时导入ur5的模型信息:

roslaunch ur_gazebo ur5.launch limited:=true

2. 启动moveit!的节点,并导入ur5的moveit!配置文件:

roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true

3. 打开可视化可交互的Rviz界面:

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

图1 节点与话题结构

样本采集程序设计

目前需要一个训练样本的采集程序(图2为采集数据的过程),需要同时获得图像与图像于参考坐标系的位姿信息。

图2 样本采集过程

疑问

1. 要控制机械臂,在采集程序里直接调用moveit!的函数就可以了吗?

2. 预设点位需要统一到一个参考坐标系,比如我要以ur5基座的坐标系为参考坐标系,这该怎么设置?

3. 当启动ur_modern_driver之后,手动移动机械臂,机械臂的运动信息是否会反馈至上位机,并且可以通过moveit!实时获取该信息吗?

4. 机械臂上会安装上夹爪和相机,按照官网教程,需要用示教器在PolyScope里设置TCP信息(重量,重心等),这些信息需要在data_acquisition程序中设置,还是只在PolyScope中设置就可以了?

5. 在模拟规划控制的时候,有时会出现异常的规划,比如机械臂摆动幅度过大,一般怎么避免呢?

6. 完成这个data_acquisition程序还有什么要注意的地方?

你可能感兴趣的:(使用ROS控制UR5的疑问)