ROS学习笔记(1):moveit规划轨迹控制机器人在gazebo中的仿真

ROS学习笔记(1):moveit规划轨迹控制机器人在gazebo中的仿真

环境:VMware Workstation Pro15
   Ununtu18.04
   ROS Melodic
  自从看了古月居有关moveit和rviz的基本使用技巧之后,开始研究如何利用moveit来控制机器人在gazebo中仿真。起初也是照猫画虎的按照古月居的教程走,但是发现他的教程实在是太早了,并且我查阅了大量其他教程,发现关于ROS的教程十有八九都是基于Kinetic的,对于新手来说学习实在是有些困难。
  经过两个周的折腾。总结出如何在gazebo中仿真的配置步骤。
(1)moveit配置
新手请注意:1. 启动moveit!Setup Assisstant前先启动roscore。否则会报错。
      2. virtual joints一栏可以不用配置
      3. ROS Control是为了gazebo仿真用的,可以直接点击Auto Add FollowJointTrajectory Controllers for each planning group
      4.Simulation是可以直接生成在gazebo中直接运行的URDF文件。这样就省了好多从SolidWorks中生成的URDF文件转化为XACRO文件的繁琐过程。

(2)Gazebo仿真文件配置
  1.配置xxx_moveit_config/config/ros_controller.yaml文件。
   直接在文件末尾加入如下代码。

arm_controller:
  type: position_controllers/JointTrajectoryController
  joints:
    - XJ
    - YJ
    - ZJ
    - RJ1
    - RJ2
#  constraints:
#      goal_time: 0.6
#      stopped_velocity_tolerance: 0.05
#      XJ: {trajectory: 0.1, goal: 0.1}
#      YJ: {trajectory: 0.1, goal: 0.1}
#      ZJ: {trajectory: 0.1, goal: 0.1}
#      RJ1: {trajectory: 0.1, goal: 0.1}
#      RJ2: {trajectory: 0.1, goal: 0.1}      
#  stop_trajectory_duration: 0.5
#  state_publish_rate:  25
#  action_monitor_rate: 1
  gains:
    XJ:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
    YJ:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
    ZJ:   {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0}
    RJ1:  {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0}
    RJ2:  {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0}

   注:在moveit中配置动作组的名称一定要与controller名称相对应。比如我之前动作组的名称为arm.那么这里的就是arm_controller。
  2.配置xxx_moveit_config/launch/ros_controller.launch文件
   文件中原始代码为:

<node name="contro
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值