drz_telemax_base.gazebo.xacro 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?xml version="1.0"?>
  2. <robot xmlns:xacro="http://www.ros.org/wiki/xacro">
  3. <xacro:macro name="telemax_base_gazebo_plugins">
  4. <!-- Base link gazebo properties TODO should this be chassis link?-->
  5. <!-- <gazebo reference="base_link">
  6. <mu1>0.0</mu1>
  7. <mu2>0.0</mu2>
  8. <kp>1000000.0</kp>
  9. <kd>100.0</kd>
  10. <minDepth>0.001</minDepth>
  11. <maxVel>1.0</maxVel>
  12. </gazebo>-->
  13. <gazebo>
  14. <!-- Publish ground truth -->
  15. <plugin name="p3d_base_controller" filename="libgazebo_ros_p3d.so">
  16. <alwaysOn>true</alwaysOn>
  17. <updateRate>50.0</updateRate>
  18. <bodyName>base_link</bodyName>
  19. <topicName>ground_truth/state</topicName>
  20. <gaussianNoise>0.01</gaussianNoise>
  21. <frameName>world</frameName>
  22. <xyzOffsets>0 0 0</xyzOffsets>
  23. <rpyOffsets>0 0 0</rpyOffsets>
  24. </plugin>
  25. <!-- IMU plugin -->
  26. <plugin name="imu_controller" filename="libhector_gazebo_ros_imu.so">
  27. <alwaysOn>true</alwaysOn>
  28. <updateRate>50.0</updateRate>
  29. <bodyName>base_link</bodyName>
  30. <topicName>imu/data</topicName>
  31. <accelDrift>0.0 0.0 0.0</accelDrift>
  32. <accelGaussianNoise>0.1 0.1 0.1</accelGaussianNoise>
  33. <rateDrift>0.0 0.0 0.0</rateDrift>
  34. <rateGaussianNoise>0.05 0.05 0.05</rateGaussianNoise>
  35. <headingDrift>0.0</headingDrift>
  36. <headingGaussianNoise>0.05</headingGaussianNoise>
  37. </plugin>
  38. </gazebo>
  39. </xacro:macro>
  40. <xacro:macro name="tracked_vehicle_gazebo_plugin" params="tracks_separation">
  41. <gazebo reference="main_track_left_fixed_joint">
  42. <preserveFixedJoint>true</preserveFixedJoint>
  43. </gazebo>
  44. <gazebo reference="main_track_right_fixed_joint">
  45. <preserveFixedJoint>true</preserveFixedJoint>
  46. </gazebo>
  47. <xacro:set_track_gazebo_properties link="flipper_front_left_link"/>
  48. <xacro:set_track_gazebo_properties link="flipper_back_left_link"/>
  49. <xacro:set_track_gazebo_properties link="flipper_front_right_link"/>
  50. <xacro:set_track_gazebo_properties link="flipper_back_right_link"/>
  51. <gazebo>
  52. <plugin filename="libgazebo_ros_tracked_vehicle_plugin.so" name="multi_tracked_vehicle">
  53. <command_topic>/cmd_vel_raw</command_topic>
  54. <body>base_link</body>
  55. <left_track0>flipper_front_left_link</left_track0>
  56. <left_track1>flipper_back_left_link</left_track1>
  57. <right_track0>flipper_front_right_link</right_track0>
  58. <right_track1>flipper_back_right_link</right_track1>
  59. <track_mu>0.7</track_mu>
  60. <track_mu2>150</track_mu2>
  61. <tracks_separation>${tracks_separation}</tracks_separation>
  62. <steering_efficiency>0.5</steering_efficiency>
  63. <max_linear_speed>1.0</max_linear_speed>
  64. <max_angular_speed>1.0</max_angular_speed>
  65. </plugin>
  66. <plugin filename="libkeys_to_cmd_vel_plugin.so" name="keyboard_control">
  67. <cmd_vel_topic>~/robot_description_gazebo/cmd_vel</cmd_vel_topic>
  68. </plugin>
  69. </gazebo>
  70. </xacro:macro>
  71. <xacro:macro name="set_track_gazebo_properties" params="link">
  72. <gazebo reference="${link}">
  73. <!-- <mu1>0.0</mu1>
  74. <mu2>0.0</mu2>
  75. <kp>1000000.0</kp>
  76. <kd>100.0</kd>
  77. <minDepth>0.001</minDepth>
  78. <maxVel>1.0</maxVel>-->
  79. </gazebo>
  80. </xacro:macro>
  81. <xacro:macro name="force_based_move_gazebo_plugin">
  82. <plugin name="force_based_move_controller" filename="libgazebo_ros_force_based_move.so">
  83. <commandTopic>/cmd_vel_raw</commandTopic>
  84. <odometryTopic>odom</odometryTopic>
  85. <odometryFrame>odom</odometryFrame>
  86. <odometryRate>20.0</odometryRate>
  87. <robotBaseFrame>base_link</robotBaseFrame>
  88. <yaw_velocity_p_gain>500</yaw_velocity_p_gain>
  89. <x_velocity_p_gain>3000</x_velocity_p_gain>
  90. <y_velocity_p_gain>3000</y_velocity_p_gain>
  91. <publishOdometryTf>1</publishOdometryTf>
  92. </plugin>
  93. </xacro:macro>
  94. <xacro:macro name="gazebo_ros_control_plugin">
  95. <gazebo>
  96. <!-- Gazebo ros control -->
  97. <plugin name="gazebo_ros_control_select_joints" filename="libgazebo_ros_control_select_joints.so">
  98. <robotNamespace>telemax_control</robotNamespace>
  99. <joints>arm_joint_0 arm_joint_1 arm_joint_2 arm_joint_3 arm_joint_4 arm_joint_5 gripper_joint flipper_front_left_joint flipper_front_right_joint flipper_back_left_joint flipper_back_right_joint</joints>
  100. </plugin>
  101. </gazebo>
  102. </xacro:macro>
  103. </robot>