ros控制arduino的方法_【ROS-Moveit!】机械臂控制探索(2)——Moveit!与Gazebo联合仿真方法...

34153cd5319ebaaf473c453bb982af1d.png

前言

如果是第一次使用Moveit!,建议先按照 Moveit与rviz官方教程 做一次,主要熟悉Moveit!能干什么。

上一篇文章说明了Moveit的配置方法。实际上,网上关于Moveit!的配置与使用有着大把的教程。然而,它们大都是基于官方说明文档的思路,即在Moveit!中进行配置,编写控制算法后在rviz中进行可视化,很少有探讨如何在Gazebo中进行仿真的。

Gazebo是一款与ROS深度融合的仿真器,相比于rviz,其对环境的模拟更加真实。因此,我在网络上搜集大量资料,并结合自己的实验后,验证了一种Moveit!与Gazebo结合的联合仿真方法,在此总结。

  • 系统:ubuntu 18.04
  • ROS:melodic
  • 其余软件要求:Moveit!配置已完成(已有Moveit!创建的功能包);Gazebo可用;ros_control插件可用

概述

Moveit!与Gazebo的联合仿真,其主要思路为搭建ros_control和Moveit!的桥梁。先在Moveit!端配置关节和传感器接口yaml文件,将其加载到rviz端;再在机器人端配置ros_control和接口yaml文件,将机器人加载到Gazebo。最后同时启动加载有ros_control的Gazebo和加载有Moveit的rviz,达到联合仿真的目的。

Moveit!端的配置

在进行Moveit!端的配置之前,首先要保证你已经用配置助手成功生成了Moveit!配置功能包。

例如你的Moveit!配置功能包名为ROBOT_moveit_config,可以在终端中运行如下命令:

roslaunch ROBOT_moveit_config demo.launch

如果成功启动了rviz,界面中包含有你的机器人模型以及rviz控制界面,则说明满足要求。

建立控制器配置文件 controllers.yaml

首先,在 ROBOT_moveit_config/config/ 目录下创建名为 controllers.yaml 的配置文件:

  controller_manager_ns: ''
  controller_list:
    - name: ROBOT/group1_controller
      action_ns: follow_joint_trajectory
      type: FollowJointTrajectory
      default: true
      joints:
        - joint_1
        - joint_2
        - joint_3
        - joint_4
        - joint_5
        ...
    - name: ROBOT/group2_controller
      action_ns: follow_joint_trajectory
      type: FollowJointTrajectory
      default: true
      joints:
        - joint_6
        - joint_7
        - joint_8
        ...

其中,“name”的内容为机器人的规划组,前面要加入命名空间;“joints”的内容为关节名称。其余内容不变。

修改启动文件 ROBOT_moveit_controller_manager.launch.xml

只要是正常生成的配置功能包,其 launch 文件夹中就已经含有ROBOT_moveit_controller_manager.launch.xml 文件了,在此我们只需要将其内容修改如下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值