ROS 控制实际工业机器人(Staubli tx90)(三)

ROS 控制实际工业机器人(Staubli tx90)(三)

  • 通过提供的staubli_tx90_support包建立moveit包
    • 运行moveit配置助手
    • 更改moveit包配置文件,使之连接上真实机器人
    • 控制

通过提供的staubli_tx90_support包建立moveit包

运行moveit配置助手

roslaunch moveit_setup_assistant setup_assistant.launch

ROS 控制实际工业机器人(Staubli tx90)(三)_第1张图片
选择support包里官方提供的urdf文件
至于为什么一定要使用ros官方提供的staubli包中的文件,因为官方包命名更为准确,同时包含了关节速度限制,后面会介绍。
ROS 控制实际工业机器人(Staubli tx90)(三)_第2张图片
点击生成碰撞矩阵,这样做的好处是可以防止乡邻关节的误碰撞提示,同时不会让机器人其他关节相互碰撞。
ROS 控制实际工业机器人(Staubli tx90)(三)_第3张图片
添加虚拟Joint
ROS 控制实际工业机器人(Staubli tx90)(三)_第4张图片
添加planning group
ROS 控制实际工业机器人(Staubli tx90)(三)_第5张图片
点Add Kin.Chain,并选择baselink和toplink,这里没有添加末端工具,所以直接选择六关节
ROS 控制实际工业机器人(Staubli tx90)(三)_第6张图片
添加一个点位,因为实验室机器人初始关节角为(0,0,90,0,45,0)
ROS 控制实际工业机器人(Staubli tx90)(三)_第7张图片
把作者信息填一下,然后选择生成包的位置就可以生存moveit包啦
ROS 控制实际工业机器人(Staubli tx90)(三)_第8张图片

更改moveit包配置文件,使之连接上真实机器人

1.demo.launch文件中参数fake_execution的值改为false



  
    
     
    
    
  

2.move_group.launch文件中的moveit_controller_manager参数。
move_group.launch文件中,moveit_controller_manager在选择参数值时,“unless”前面那个velue值要修改,写一个自己机器人名称作为前缀,实验室机器人叫“staubli tx90“


  
    
     
    
  

3.接下来,这个参数会传递给trajectory_execution.launch.xml文件,该文件中有下面这句话


4.修改staubli_tx90_moveit_controller_manager.launch.xml文件

这是一个空文件,填写如下参数








5.创建controllers.yaml配置文件
上一步的代码最后一句指向了config目录下一个叫做controllers.yaml的文件,config目录中只有fake_controllers.yaml,所以,现在要做的就是复制一份这个文件,然后将名字改为controllers.yaml,打开这个新文件,将文件修改成如下形式:

controller_list:
  - name: ""
    action_ns: joint_trajectory_action
    type: FollowJointTrajectory
    joints:
      - joint_1
      - joint_2
      - joint_3
      - joint_4
      - joint_5
      - joint_6

name和action_ns参数为什么这样填,是因为运行rqt_graph,查看到的动作消息名称为/joint_trajectory_action。
运行rqt_graph

rosrun rqt_graph rqt_graph

控制

运行launch文件夹中的demo.launch。
使用moveit自带的拖拽器控制机器人 ,plan和execute就可以开始控制啦

你可能感兴趣的:(ros)