ROS 机械臂+夹爪+gazebo+rviz配置

ROS 机械臂+夹爪+gazebo+rviz配置

最近想学习一下机械臂视觉抓取功能,于是重温了一下ROS moveit+gazebo的配置,同时学习如何在moveit中加入夹爪

编写urdf文件

这里直接使用universal_robot了,可以在此处下载GitHub - ros-industrial/universal_robot: ROS-Industrial Universal Robots support (https://wiki.ros.org/universal_robot)

这里是为了练习,同时在原有模型上加入夹爪,通过rosrun xacro xacro xxx.xacro > xxx.urdf可以导出urdf文件,之后改成xacro文件。

<?xml version="1.0" ?>
<robot name="***" xmlns:xacro="http://wiki.ros.org/xacro">
...
</robot>


这种格式就可以。

夹爪使用的是古月居中提供的一个简单的夹爪(太复杂的感觉容易出问题)。直接从【古月居】ROS机械臂开发中提供的网盘链接下载即可
在这里插入图片描述
在这里插入图片描述

之后加入到我们自己的机械臂模型中

<robot name="ur10e_gripper" xmlns:xacro="http://wiki.ros.org/xacro">

  <xacro:include filename="$(find ur_description)/urdf/ur10e.urdf.xacro"/>
  <xacro:include filename="$(find ur_description)/urdf/gripper.xacro"/>
  <xacro:include filename="$(find ur_description)/urdf/materials.urdf.xacro" />

  <xacro:property name="M_PI" value="3.14159"/>

  <xacro:gripper parent="tool0" color="Green" xyz="0 0 0" rpy="0 ${-M_PI/2} 0 "/>

  <!-- Transmissions for ROS Control -->
  <xacro:macro name="transmission_block" params="joint_name">
    <transmission name="tran1">
      <type>transmission_interface/SimpleTransmission</type>
      <joint name="${joint_name}">
        <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      </joint>
      <actuator name="motor1">
        <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
        <mechanicalReduction>1</mechanicalReduction>
      </actuator>
    </transmission>
  </xacro:macro>
  
  <xacro:transmission_block joint_name="gripper_finger_joint"/>

  <link name="world" />
  <joint name="world_joint" type="fixed">
    <parent link="world" />
    <child link = "base_link" />
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
  </joint>
  
</robot>

可以通过check_urdf urdf或者urdf_to_graphiz工具进行验证

######################
check_urdf urdf文件
########################
urdf_to_graphiz urdf文件

ros moveit配置

事先要先source一下

运行

roslaunch moveit_setup_assistant setup_assistant.launch

在这里插入图片描述

create new moveit,,当然,如果之前就配置过的话选择第二个,导入模型即可

在这里插入图片描述

planning groups这个比较重要,后面很多操作都是对这个Group来进行的,【命名、求解器……】

这个是机械臂本体arm的

在这里插入图片描述

这个是夹爪gripper的

在这里插入图片描述

这个是整体的
在这里插入图片描述

这里的话可以选择一个位置,比如我这里定义了一个Home

在这里插入图片描述

end effectors设置机器人末端的,加入夹爪的话也需要配置一下

在这里插入图片描述

控制器,这里选择position_controller/jointtrajectorycontroller这一个

在这里插入图片描述

其他的配置没什么需要注意得了,需要再工作空间新建一个文件夹用于存放生成的文件

在这里插入图片描述

之后生成即可

与rviz+gazebo联调

首先先测试一下rviz

运行demo.launch文件

在这里插入图片描述

接着测试gazebo+rviz

发现存在问题,rviz不显示【这个问题很多种】

在这里插入图片描述

修改配置文件

修改1 gazebo插件位置修改

在config文件中的Urdf最后加入此句话,这句话在urdf文件中本来有,但是位置错误,需要修改

    <gazebo>
        <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
            <robotNamespace>/</robotNamespace>
            <legacyModeNS>true</legacyModeNS>
            <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
        </plugin>
    </gazebo>

修改2 demo.lauch文件修改

  <!-- Choose controller manager: fake, simple, or ros_control -->
  <!-- 由fake修改为ros_control -->
  <arg name="moveit_controller_manager" default="ros_control" />
  <!-- Set execution mode for fake execution controllers -->
  <!-- 注释掉 -->
  <!-- <arg name="fake_execution_type" default="interpolate" /> -->
  <!-- Run the main MoveIt executable without trajectory execution (we do not have controllers configured by default) -->
  <include file="$(dirname)/move_group.launch">
    <arg name="allow_trajectory_execution" value="true"/>
    <arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
    <!-- 注释掉 -->
   <!-- <arg name="fake_execution_type" value="$(arg fake_execution_type)"/> -->
    <arg name="info" value="true"/>
    <arg name="debug" value="$(arg debug)"/>
    <arg name="pipeline" value="$(arg pipeline)"/>
    <arg name="load_robot_description" value="$(arg load_robot_description)"/>
  </include>

具体位置就在demo.launch文件中,修改即可,

【如果问题没解决】修改3:修改gazebo.launch文件

在这里插入图片描述注意这里面使用的urdf文件是否是config文件中的urdf文件!!!

【如果问题没解决】修改4 还有可能是gazebo环境重力设置

可以设置gazebo重力设置,在world文件中,减小重力设置,在gazebo.launch文件中,加入自己设置的环境
在这里插入图片描述
之后在运行demo_gazebo即可正常运行了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值