从零开始的机械臂yolov5抓取gazebo仿真(二)

这篇具有很好参考价值的文章主要介绍了从零开始的机械臂yolov5抓取gazebo仿真(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用moveit_setup_assistant配置机械臂(上)

观察机械臂模型

上一节中拿到了sunday_description功能包,将功能包放进工作空间进行编译,可将工作空间路径写进.bashrc文件中,这样就不必每次都source了

例如:source ~/catkin_ws/devel/setup.bash --extend

编译通过后,修改sunday_description/launch/display.launch文件将<arg name="gui" default="False" />改为<arg name="gui" default="Ture" />,运行launch文件

roslaunch sunday_description display.launch

从零开始的机械臂yolov5抓取gazebo仿真(二)
可以看到机械臂模型和控制关节运动的gui,若机械臂模型并不是竖直向上的,而是横着的或者倒的,请重新在solidworks中导出urdf模型,在solidworks中模型位置竖直方向为Z轴正向。

修改urdf文件,并转为xacro

转xacro

观察urdf模型无误后,复制sunday_description.urdf文件,并将其命名为sunday.xacro
修改<robot name="sunday_description"><robot name="sunday" xmlns:xacro="http://ros.org/wiki/xacro">

添加base_footprint
    <link name="base_footprint">
    </link>

    <joint name="base_link2base_footprint" type="fixed">
        <parent link="base_footprint" />
        <child link="base_link"/>
        <origin xyz="0 0 0.032" rpy="0 0 0" />
    </joint>

修改惯性参数

将每一个机械臂关节link的惯性参数修改为:

<inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1" />

这里修改为1是较为合理的选择,各位也可以参考之前的博客,将机械臂关节看做是圆柱体并计算大致惯性参数。

将机械臂在world中固定

这一段可以在使用moveit配置完后再添加

<!-- Used for fixing robot to Gazebo 'base_link' -->
  <link name="world"/>

  <joint name="fixed" type="fixed">
    <origin
      xyz="0 0 1.1"
      rpy="0 0 0" />
    <parent link="world"/>
    <child link="base_footprint"/>
  </joint>
添加d435摄像头

将原先的摄像头部分注释,添加realsense_ros_gazebo功能包中的realsense摄像头

  <!-- <xacro:include filename="$(find sunday_description)/urdf/realsense/realsense.xacro"/> -->
<xacro:include filename="$(find realsense_ros_gazebo)/xacro/depthcam.xacro"/>
<xacro:realsense_d435 sensor_name="camera" parent_link="link_5" rate="30">
    <origin xyz="-0.00068847 -0.06 -0.13" rpy="-3.14 0 -1.5708"/>
</xacro:realsense_d435>
添加ros_control插件
  <!-- ros_control plugin -->
  <gazebo>
    <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
      <robotNamespace>/sunday</robotNamespace>
      <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
      <legacyModeNS>true</legacyModeNS>
    </plugin>
  </gazebo>
添加传动
<!-- 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="joint_1"/>
<xacro:transmission_block joint_name="joint_2"/>
<xacro:transmission_block joint_name="joint_3"/>
<xacro:transmission_block joint_name="joint_4"/>
<xacro:transmission_block joint_name="joint_5"/>
<xacro:transmission_block joint_name="joint_6"/>
添加吸盘插件
  <!-- vacuum_gripper plugin -->
  <gazebo>
    <plugin name="gazebo_ros_vacuum_gripper" filename="libvacuum_plugin.so">
      <robotNamespace>/sunday/vacuum_gripper</robotNamespace>
      <bodyName>link_6</bodyName>
      <topicName>grasping</topicName>
      <maxDistance>0.05</maxDistance>
      <minDistance>0.03</minDistance>
    </plugin>
</gazebo>
为吸盘添加参数

为吸盘link6添加摩擦等属性

<gazebo reference="link_6">
  <mu1>50</mu1>
  <mu2>50</mu2>
  <minDepth>0.003</minDepth>
  <maxVel>0</maxVel>
  <kp>1000000.0</kp>
  <kd>1.0</kd>
  <material>Gazebo/Grey</material>
</gazebo>

完整代码可见开源代码sunday_description/urdf/sunday.xacro

小结

该小节主要完成了机械臂xacro文件的配置,下一节将用moveit_setup_assistant对该xacro文件进行配置。文章来源地址https://www.toymoban.com/news/detail-403439.html

到了这里,关于从零开始的机械臂yolov5抓取gazebo仿真(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包