asterix_model.urdf 74 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079
  1. <?xml version="1.0" ?>
  2. <!-- =================================================================================== -->
  3. <!-- | This document was autogenerated by xacro from /home/yannic/Dokumente/urdf/asterix_ugv.urdf.xacro | -->
  4. <!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
  5. <!-- =================================================================================== -->
  6. <robot name="asterix_ugv">
  7. <!-- Base link gazebo properties TODO should this be chassis link?-->
  8. <gazebo reference="base_link">
  9. <mu1>0.0</mu1>
  10. <mu2>0.0</mu2>
  11. <kp>1000000.0</kp>
  12. <kd>100.0</kd>
  13. <minDepth>0.001</minDepth>
  14. <maxVel>1.0</maxVel>
  15. </gazebo>
  16. <gazebo>
  17. <!-- Publish ground truth -->
  18. <plugin filename="libgazebo_ros_p3d.so" name="p3d_base_controller">
  19. <alwaysOn>true</alwaysOn>
  20. <updateRate>50.0</updateRate>
  21. <bodyName>base_link</bodyName>
  22. <topicName>ground_truth/state</topicName>
  23. <gaussianNoise>0.01</gaussianNoise>
  24. <frameName>world</frameName>
  25. <xyzOffsets>0 0 0</xyzOffsets>
  26. <rpyOffsets>0 0 0</rpyOffsets>
  27. </plugin>
  28. <!-- IMU plugin -->
  29. <plugin filename="libhector_gazebo_ros_imu.so" name="imu_controller">
  30. <alwaysOn>true</alwaysOn>
  31. <updateRate>50.0</updateRate>
  32. <bodyName>base_link</bodyName>
  33. <topicName>imu_quat</topicName>
  34. <accelDrift>0.0 0.0 0.0</accelDrift>
  35. <accelGaussianNoise>0.1 0.1 0.1</accelGaussianNoise>
  36. <rateDrift>0.0 0.0 0.0</rateDrift>
  37. <rateGaussianNoise>0.05 0.05 0.05</rateGaussianNoise>
  38. <headingDrift>0.0</headingDrift>
  39. <headingGaussianNoise>0.05</headingGaussianNoise>
  40. </plugin>
  41. <!-- Gazebo ros control for flipper joints -->
  42. <plugin filename="libgazebo_ros_control_select_joints.so" name="gazebo_ros_control_select_joints">
  43. <robotNamespace>flipper_control</robotNamespace>
  44. <joints>flipper_front_joint flipper_back_joint</joints>
  45. </plugin>
  46. </gazebo>
  47. <!-- Measured from CAD file -->
  48. <!-- <xacro:arg name="add_self_filter_geom" default="0"/>-->
  49. <!--<xacro:property name="add_self_filter_geom" value="${arg add_self_filter_geom}"/>-->
  50. <!-- Measured from CAD file -->
  51. <material name="black">
  52. <color rgba="0.0 0.0 0.0 1.0"/>
  53. </material>
  54. <material name="blue">
  55. <color rgba="0.0 0.0 0.8 1.0"/>
  56. </material>
  57. <material name="green">
  58. <color rgba="0.0 0.8 0.0 1.0"/>
  59. </material>
  60. <material name="grey">
  61. <color rgba="0.5 0.5 0.5 1.0"/>
  62. </material>
  63. <material name="orange">
  64. <color rgba="1.0 0.4235294117647059 0.0392156862745098 1.0"/>
  65. </material>
  66. <material name="brown">
  67. <color rgba="0.8705882352941177 0.8117647058823529 0.7647058823529411 1.0"/>
  68. </material>
  69. <material name="red">
  70. <color rgba="0.8 0.0 0.0 1.0"/>
  71. </material>
  72. <material name="white">
  73. <color rgba="1.0 1.0 1.0 1.0"/>
  74. </material>
  75. <!-- Measured from CAD file -->
  76. <link name="base_link"/>
  77. <joint name="chassis_joint" type="fixed">
  78. <parent link="base_link"/>
  79. <child link="chassis_link"/>
  80. </joint>
  81. <link name="chassis_link">
  82. <inertial>
  83. <origin rpy="0 0 0" xyz="0 0 -0.063"/>
  84. <mass value="15"/>
  85. <inertia ixx="0.151065" ixy="0.0" ixz="0.0" iyy="0.49262625" iyz="0.0" izz="0.60400125"/>
  86. </inertial>
  87. <visual>
  88. <origin rpy="0 0 0" xyz="0 0 0"/>
  89. <geometry>
  90. <mesh filename="package://asterix_description/meshes/asterix_chassis.stl" scale="0.001 0.001 0.001"/>
  91. </geometry>
  92. <material name="MatteMetalicSlateBlue">
  93. <color rgba="0 0.18 0.32 1"/>
  94. </material>
  95. </visual>
  96. <collision>
  97. <origin rpy="0 0 0" xyz="0 0 0.063"/>
  98. <geometry>
  99. <box size="0.615 0.324 0.126"/>
  100. </geometry>
  101. <material name="MatteMetalicSlateBlue"/>
  102. </collision>
  103. </link>
  104. <joint name="main_track_left_fixed_joint" type="fixed">
  105. <origin rpy="0 0 0" xyz="0.0 0.16941 0.0535 "/>
  106. <parent link="chassis_link"/>
  107. <child link="main_track_left_link"/>
  108. </joint>
  109. <link name="main_track_left_link">
  110. <inertial>
  111. <origin rpy="0 0 0" xyz="0 0 0 "/>
  112. <mass value="2.65"/>
  113. <inertia ixx="0.013095416666666667" ixy="0.0" ixz="0.0" iyy="0.06557336666666666" iyz="0.0" izz="0.05530461666666666"/>
  114. </inertial>
  115. <!-- ==== Visuals ====-->
  116. <visual>
  117. <geometry>
  118. <mesh filename="package://asterix_description/meshes/asterix_main_track.stl" scale="0.001 0.001 0.001"/>
  119. </geometry>
  120. <material name="LightBlack">
  121. <color rgba="0.1 0.1 0.1 1"/>
  122. </material>
  123. </visual>
  124. <!-- ==== Collision geom ==== -->
  125. <!-- Standard track geom -->
  126. <collision>
  127. <geometry>
  128. <box size="0.494 0.08 0.23"/>
  129. </geometry>
  130. </collision>
  131. <!-- Front wheel -->
  132. <collision>
  133. <origin rpy="1.5707963267948966 0 0" xyz="0.247 0 0"/>
  134. <geometry>
  135. <cylinder length="0.08" radius="0.115"/>
  136. </geometry>
  137. </collision>
  138. <!-- Back wheel -->
  139. <collision>
  140. <origin rpy="1.5707963267948966 0 0" xyz="-0.247 0 0"/>
  141. <geometry>
  142. <cylinder length="0.08" radius="0.115"/>
  143. </geometry>
  144. </collision>
  145. </link>
  146. <joint name="main_track_right_fixed_joint" type="fixed">
  147. <origin rpy="0 0 0" xyz="0.0 -0.16941 0.0535 "/>
  148. <parent link="chassis_link"/>
  149. <child link="main_track_right_link"/>
  150. </joint>
  151. <link name="main_track_right_link">
  152. <inertial>
  153. <origin rpy="0 0 0" xyz="0 0 0 "/>
  154. <mass value="2.65"/>
  155. <inertia ixx="0.013095416666666667" ixy="0.0" ixz="0.0" iyy="0.06557336666666666" iyz="0.0" izz="0.05530461666666666"/>
  156. </inertial>
  157. <!-- ==== Visuals ====-->
  158. <visual>
  159. <geometry>
  160. <mesh filename="package://asterix_description/meshes/asterix_main_track.stl" scale="0.001 0.001 0.001"/>
  161. </geometry>
  162. <material name="LightBlack">
  163. <color rgba="0.1 0.1 0.1 1"/>
  164. </material>
  165. </visual>
  166. <!-- ==== Collision geom ==== -->
  167. <!-- Standard track geom -->
  168. <collision>
  169. <geometry>
  170. <box size="0.494 0.08 0.23"/>
  171. </geometry>
  172. </collision>
  173. <!-- Front wheel -->
  174. <collision>
  175. <origin rpy="1.5707963267948966 0 0" xyz="0.247 0 0"/>
  176. <geometry>
  177. <cylinder length="0.08" radius="0.115"/>
  178. </geometry>
  179. </collision>
  180. <!-- Back wheel -->
  181. <collision>
  182. <origin rpy="1.5707963267948966 0 0" xyz="-0.247 0 0"/>
  183. <geometry>
  184. <cylinder length="0.08" radius="0.115"/>
  185. </geometry>
  186. </collision>
  187. </link>
  188. <!-- front is either 1 (for front flipper) or -1 (for back flipper) -->
  189. <joint name="flipper_front_joint" type="revolute">
  190. <origin rpy="0 3.141592653589793 3.141592653589793" xyz="0.247 0.0 0.0535"/>
  191. <axis xyz="0 1 0"/>
  192. <limit effort="1000" lower="-3.141592653589793" upper="3.141592653589793" velocity="1"/>
  193. <parent link="chassis_link"/>
  194. <child link="flipper_front_motor_link"/>
  195. </joint>
  196. <link name="flipper_front_motor_link">
  197. <inertial>
  198. <origin rpy="0 0 0" xyz="0 0 0"/>
  199. <mass value="1"/>
  200. <inertia ixx="0.041666666666666664" ixy="0.0" ixz="0.0" iyy="0.041666666666666664" iyz="0.0" izz="0.041666666666666664"/>
  201. </inertial>
  202. <visual>
  203. <origin rpy="0.0 0.0 0.0" xyz="0 0.0 0.0"/>
  204. <geometry>
  205. <cylinder length="0.01" radius="0.01"/>
  206. </geometry>
  207. </visual>
  208. <collision>
  209. <origin rpy="0.0 0.0 0.0" xyz="0 0.0 0.0"/>
  210. <geometry>
  211. <cylinder length="0.01" radius="0.01"/>
  212. </geometry>
  213. </collision>
  214. </link>
  215. <!-- mirror is either 1 (no mirror) or -1 (mirror) -->
  216. <joint name="flipper_front_left_joint" type="fixed">
  217. <parent link="flipper_front_motor_link"/>
  218. <child link="flipper_front_left_link"/>
  219. <origin rpy="3.141592653589793 1.5707963267948966 0" xyz="0 -0.23411 0"/>
  220. </joint>
  221. <link name="flipper_front_left_link">
  222. <inertial>
  223. <origin rpy="0 0 0" xyz="0 0 0"/>
  224. <mass value="2.55"/>
  225. <inertia ixx="0.0117725" ixy="0.0" ixz="0.0" iyy="0.0224825" iyz="0.0" izz="0.0117725"/>
  226. </inertial>
  227. <!-- TODO inertia__-->
  228. <!-- <inertial> <origin xyz="0.086 -0.005 0" rpy="0 0 0"/> <mass value="1.5"/> <inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" /> </inertial>-->
  229. <visual>
  230. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  231. <geometry>
  232. <mesh filename="package://asterix_description/meshes/asterix_flipper.stl" scale="0.001 0.001 -0.001 "/>
  233. </geometry>
  234. <material name="LightBlack">
  235. <color rgba="0.1 0.1 0.1 1"/>
  236. </material>
  237. </visual>
  238. <!-- Main wheel -->
  239. <collision>
  240. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  241. <geometry>
  242. <cylinder length="0.05" radius="0.115"/>
  243. </geometry>
  244. </collision>
  245. <!-- Track top -->
  246. <collision>
  247. <origin rpy="0 0.14 0" xyz="0.15744 0 0.0625"/>
  248. <geometry>
  249. <box size="0.26 0.05 0.06"/>
  250. </geometry>
  251. </collision>
  252. <!-- Track bottom -->
  253. <collision>
  254. <origin rpy="0 -0.14 0" xyz="0.15744 0 -0.0625"/>
  255. <geometry>
  256. <box size="0.26 0.05 0.06"/>
  257. </geometry>
  258. </collision>
  259. <!-- Small wheel -->
  260. <collision>
  261. <origin rpy="1.5707963267948966 0 0" xyz="0.28396 0 0"/>
  262. <geometry>
  263. <cylinder length="0.05" radius="0.075"/>
  264. </geometry>
  265. </collision>
  266. </link>
  267. <!-- mirror is either 1 (no mirror) or -1 (mirror) -->
  268. <joint name="flipper_front_right_joint" type="fixed">
  269. <parent link="flipper_front_motor_link"/>
  270. <child link="flipper_front_right_link"/>
  271. <origin rpy="3.141592653589793 1.5707963267948966 0" xyz="0 0.23411 0"/>
  272. </joint>
  273. <link name="flipper_front_right_link">
  274. <inertial>
  275. <origin rpy="0 0 0" xyz="0 0 0"/>
  276. <mass value="2.55"/>
  277. <inertia ixx="0.0117725" ixy="0.0" ixz="0.0" iyy="0.0224825" iyz="0.0" izz="0.0117725"/>
  278. </inertial>
  279. <!-- TODO inertia__-->
  280. <!-- <inertial> <origin xyz="0.086 -0.005 0" rpy="0 0 0"/> <mass value="1.5"/> <inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" /> </inertial>-->
  281. <visual>
  282. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  283. <geometry>
  284. <mesh filename="package://asterix_description/meshes/asterix_flipper.stl" scale="0.001 0.001 0.001 "/>
  285. </geometry>
  286. <material name="LightBlack">
  287. <color rgba="0.1 0.1 0.1 1"/>
  288. </material>
  289. </visual>
  290. <!-- Main wheel -->
  291. <collision>
  292. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  293. <geometry>
  294. <cylinder length="0.05" radius="0.115"/>
  295. </geometry>
  296. </collision>
  297. <!-- Track top -->
  298. <collision>
  299. <origin rpy="0 0.14 0" xyz="0.15744 0 0.0625"/>
  300. <geometry>
  301. <box size="0.26 0.05 0.06"/>
  302. </geometry>
  303. </collision>
  304. <!-- Track bottom -->
  305. <collision>
  306. <origin rpy="0 -0.14 0" xyz="0.15744 0 -0.0625"/>
  307. <geometry>
  308. <box size="0.26 0.05 0.06"/>
  309. </geometry>
  310. </collision>
  311. <!-- Small wheel -->
  312. <collision>
  313. <origin rpy="1.5707963267948966 0 0" xyz="0.28396 0 0"/>
  314. <geometry>
  315. <cylinder length="0.05" radius="0.075"/>
  316. </geometry>
  317. </collision>
  318. </link>
  319. <!--Needed for gazebo-->
  320. <transmission name="flipper_front_joint_transmission">
  321. <type>transmission_interface/SimpleTransmission</type>
  322. <joint name="flipper_front_joint">
  323. <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
  324. </joint>
  325. <actuator name="flipper_front_joint_motor">
  326. <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
  327. <mechanicalReduction>1</mechanicalReduction>
  328. </actuator>
  329. </transmission>
  330. <!-- front is either 1 (for front flipper) or -1 (for back flipper) -->
  331. <joint name="flipper_back_joint" type="revolute">
  332. <origin rpy="0 3.141592653589793 0" xyz="-0.247 0.0 0.0535"/>
  333. <axis xyz="0 1 0"/>
  334. <limit effort="1000" lower="-3.141592653589793" upper="3.141592653589793" velocity="1"/>
  335. <parent link="chassis_link"/>
  336. <child link="flipper_back_motor_link"/>
  337. </joint>
  338. <link name="flipper_back_motor_link">
  339. <inertial>
  340. <origin rpy="0 0 0" xyz="0 0 0"/>
  341. <mass value="1"/>
  342. <inertia ixx="0.041666666666666664" ixy="0.0" ixz="0.0" iyy="0.041666666666666664" iyz="0.0" izz="0.041666666666666664"/>
  343. </inertial>
  344. <visual>
  345. <origin rpy="0.0 0.0 0.0" xyz="0 0.0 0.0"/>
  346. <geometry>
  347. <cylinder length="0.01" radius="0.01"/>
  348. </geometry>
  349. </visual>
  350. <collision>
  351. <origin rpy="0.0 0.0 0.0" xyz="0 0.0 0.0"/>
  352. <geometry>
  353. <cylinder length="0.01" radius="0.01"/>
  354. </geometry>
  355. </collision>
  356. </link>
  357. <!-- mirror is either 1 (no mirror) or -1 (mirror) -->
  358. <joint name="flipper_back_left_joint" type="fixed">
  359. <parent link="flipper_back_motor_link"/>
  360. <child link="flipper_back_left_link"/>
  361. <origin rpy="3.141592653589793 1.5707963267948966 0" xyz="0 0.23411 0"/>
  362. </joint>
  363. <link name="flipper_back_left_link">
  364. <inertial>
  365. <origin rpy="0 0 0" xyz="0 0 0"/>
  366. <mass value="2.55"/>
  367. <inertia ixx="0.0117725" ixy="0.0" ixz="0.0" iyy="0.0224825" iyz="0.0" izz="0.0117725"/>
  368. </inertial>
  369. <!-- TODO inertia__-->
  370. <!-- <inertial> <origin xyz="0.086 -0.005 0" rpy="0 0 0"/> <mass value="1.5"/> <inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" /> </inertial>-->
  371. <visual>
  372. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  373. <geometry>
  374. <mesh filename="package://asterix_description/meshes/asterix_flipper.stl" scale="0.001 0.001 0.001 "/>
  375. </geometry>
  376. <material name="LightBlack">
  377. <color rgba="0.1 0.1 0.1 1"/>
  378. </material>
  379. </visual>
  380. <!-- Main wheel -->
  381. <collision>
  382. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  383. <geometry>
  384. <cylinder length="0.05" radius="0.115"/>
  385. </geometry>
  386. </collision>
  387. <!-- Track top -->
  388. <collision>
  389. <origin rpy="0 0.14 0" xyz="0.15744 0 0.0625"/>
  390. <geometry>
  391. <box size="0.26 0.05 0.06"/>
  392. </geometry>
  393. </collision>
  394. <!-- Track bottom -->
  395. <collision>
  396. <origin rpy="0 -0.14 0" xyz="0.15744 0 -0.0625"/>
  397. <geometry>
  398. <box size="0.26 0.05 0.06"/>
  399. </geometry>
  400. </collision>
  401. <!-- Small wheel -->
  402. <collision>
  403. <origin rpy="1.5707963267948966 0 0" xyz="0.28396 0 0"/>
  404. <geometry>
  405. <cylinder length="0.05" radius="0.075"/>
  406. </geometry>
  407. </collision>
  408. </link>
  409. <!-- mirror is either 1 (no mirror) or -1 (mirror) -->
  410. <joint name="flipper_back_right_joint" type="fixed">
  411. <parent link="flipper_back_motor_link"/>
  412. <child link="flipper_back_right_link"/>
  413. <origin rpy="3.141592653589793 1.5707963267948966 0" xyz="0 -0.23411 0"/>
  414. </joint>
  415. <link name="flipper_back_right_link">
  416. <inertial>
  417. <origin rpy="0 0 0" xyz="0 0 0"/>
  418. <mass value="2.55"/>
  419. <inertia ixx="0.0117725" ixy="0.0" ixz="0.0" iyy="0.0224825" iyz="0.0" izz="0.0117725"/>
  420. </inertial>
  421. <!-- TODO inertia__-->
  422. <!-- <inertial> <origin xyz="0.086 -0.005 0" rpy="0 0 0"/> <mass value="1.5"/> <inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" /> </inertial>-->
  423. <visual>
  424. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  425. <geometry>
  426. <mesh filename="package://asterix_description/meshes/asterix_flipper.stl" scale="0.001 0.001 -0.001 "/>
  427. </geometry>
  428. <material name="LightBlack">
  429. <color rgba="0.1 0.1 0.1 1"/>
  430. </material>
  431. </visual>
  432. <!-- Main wheel -->
  433. <collision>
  434. <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
  435. <geometry>
  436. <cylinder length="0.05" radius="0.115"/>
  437. </geometry>
  438. </collision>
  439. <!-- Track top -->
  440. <collision>
  441. <origin rpy="0 0.14 0" xyz="0.15744 0 0.0625"/>
  442. <geometry>
  443. <box size="0.26 0.05 0.06"/>
  444. </geometry>
  445. </collision>
  446. <!-- Track bottom -->
  447. <collision>
  448. <origin rpy="0 -0.14 0" xyz="0.15744 0 -0.0625"/>
  449. <geometry>
  450. <box size="0.26 0.05 0.06"/>
  451. </geometry>
  452. </collision>
  453. <!-- Small wheel -->
  454. <collision>
  455. <origin rpy="1.5707963267948966 0 0" xyz="0.28396 0 0"/>
  456. <geometry>
  457. <cylinder length="0.05" radius="0.075"/>
  458. </geometry>
  459. </collision>
  460. </link>
  461. <!--Needed for gazebo-->
  462. <transmission name="flipper_back_joint_transmission">
  463. <type>transmission_interface/SimpleTransmission</type>
  464. <joint name="flipper_back_joint">
  465. <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
  466. </joint>
  467. <actuator name="flipper_back_joint_motor">
  468. <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
  469. <mechanicalReduction>1</mechanicalReduction>
  470. </actuator>
  471. </transmission>
  472. <gazebo reference="main_track_left_fixed_joint">
  473. <preserveFixedJoint>true</preserveFixedJoint>
  474. </gazebo>
  475. <gazebo reference="main_track_right_fixed_joint">
  476. <preserveFixedJoint>true</preserveFixedJoint>
  477. </gazebo>
  478. <gazebo reference="flipper_front_left_joint">
  479. <preserveFixedJoint>true</preserveFixedJoint>
  480. </gazebo>
  481. <gazebo reference="flipper_front_right_joint">
  482. <preserveFixedJoint>true</preserveFixedJoint>
  483. </gazebo>
  484. <gazebo reference="flipper_back_left_joint">
  485. <preserveFixedJoint>true</preserveFixedJoint>
  486. </gazebo>
  487. <gazebo reference="flipper_back_right_joint">
  488. <preserveFixedJoint>true</preserveFixedJoint>
  489. </gazebo>
  490. <gazebo reference="chassis_link">
  491. <visual>
  492. <material>
  493. <ambient>0 0.18 0.32 1</ambient>
  494. <diffuse>0 0.18 0.32 1</diffuse>
  495. <specular>0.1 0.1 0.1 1</specular>
  496. <emissive>0 0 0 0</emissive>
  497. </material>
  498. </visual>
  499. </gazebo>
  500. <gazebo reference="main_track_left_link">
  501. <!-- <mu1>0.0</mu1> <mu2>0.0</mu2> <kp>1000000.0</kp> <kd>100.0</kd> <minDepth>0.001</minDepth> <maxVel>1.0</maxVel>-->
  502. <material>Gazebo/FlatBlack</material>
  503. </gazebo>
  504. <gazebo reference="flipper_front_left_link">
  505. <!-- <mu1>0.0</mu1> <mu2>0.0</mu2> <kp>1000000.0</kp> <kd>100.0</kd> <minDepth>0.001</minDepth> <maxVel>1.0</maxVel>-->
  506. <material>Gazebo/FlatBlack</material>
  507. </gazebo>
  508. <gazebo reference="flipper_back_left_link">
  509. <!-- <mu1>0.0</mu1> <mu2>0.0</mu2> <kp>1000000.0</kp> <kd>100.0</kd> <minDepth>0.001</minDepth> <maxVel>1.0</maxVel>-->
  510. <material>Gazebo/FlatBlack</material>
  511. </gazebo>
  512. <gazebo reference="main_track_right_link">
  513. <!-- <mu1>0.0</mu1> <mu2>0.0</mu2> <kp>1000000.0</kp> <kd>100.0</kd> <minDepth>0.001</minDepth> <maxVel>1.0</maxVel>-->
  514. <material>Gazebo/FlatBlack</material>
  515. </gazebo>
  516. <gazebo reference="flipper_front_right_link">
  517. <!-- <mu1>0.0</mu1> <mu2>0.0</mu2> <kp>1000000.0</kp> <kd>100.0</kd> <minDepth>0.001</minDepth> <maxVel>1.0</maxVel>-->
  518. <material>Gazebo/FlatBlack</material>
  519. </gazebo>
  520. <gazebo reference="flipper_back_right_link">
  521. <!-- <mu1>0.0</mu1> <mu2>0.0</mu2> <kp>1000000.0</kp> <kd>100.0</kd> <minDepth>0.001</minDepth> <maxVel>1.0</maxVel>-->
  522. <material>Gazebo/FlatBlack</material>
  523. </gazebo>
  524. <gazebo>
  525. <plugin filename="libgazebo_ros_tracked_vehicle_plugin.so" name="multi_tracked_vehicle">
  526. <command_topic>/cmd_vel_raw</command_topic>
  527. <body>base_link</body>
  528. <left_track0>main_track_left_link</left_track0>
  529. <left_track1>flipper_front_left_link</left_track1>
  530. <left_track2>flipper_back_left_link</left_track2>
  531. <right_track0>main_track_right_link</right_track0>
  532. <right_track1>flipper_front_right_link</right_track1>
  533. <right_track2>flipper_back_right_link</right_track2>
  534. <track_mu>0.7</track_mu>
  535. <track_mu2>150</track_mu2>
  536. <tracks_separation>0.49882000000000004</tracks_separation>
  537. <steering_efficiency>0.5</steering_efficiency>
  538. <max_linear_speed>1.0</max_linear_speed>
  539. <max_angular_speed>1.0</max_angular_speed>
  540. </plugin>
  541. <plugin filename="libkeys_to_cmd_vel_plugin.so" name="keyboard_control">
  542. <cmd_vel_topic>~/robot_description_gazebo/cmd_vel</cmd_vel_topic>
  543. </plugin>
  544. </gazebo>
  545. <joint name="autonomy_box_joint" type="fixed">
  546. <origin rpy="0 0 0" xyz="0.1085 0 0.149"/>
  547. <parent link="chassis_link"/>
  548. <child link="autonomy_box_link"/>
  549. </joint>
  550. <!-- Computer box and cage -->
  551. <link name="autonomy_box_link">
  552. <inertial>
  553. <mass value="0.1"/>
  554. <origin xyz="0 0 0"/>
  555. <inertia ixx="4.900000000000002e-05" ixy="0.0" ixz="0.0" iyy="4.900000000000002e-05" iyz="0.0" izz="4.900000000000002e-05"/>
  556. </inertial>
  557. <visual>
  558. <origin rpy="0 0 0" xyz="-0.095 -0.095 0"/>
  559. <geometry>
  560. <mesh filename="package://hector_components_description/meshes/autonomy_box/visionbox_no_lidar.stl" scale="0.001 0.001 0.001"/>
  561. </geometry>
  562. <material name="Grey">
  563. <color rgba="0.5 0.5 0.5 1"/>
  564. </material>
  565. </visual>
  566. <collision>
  567. <origin rpy="0 0 0" xyz="0 0 0.0595"/>
  568. <geometry>
  569. <box size="0.19 0.19 0.119"/>
  570. </geometry>
  571. <material name="Grey">
  572. <color rgba="0.5 0.5 0.5 1"/>
  573. </material>
  574. </collision>
  575. <!--Protection vertical profiles-->
  576. <collision>
  577. <origin rpy="0 0 0" xyz="0.085 0.085 0.279"/>
  578. <geometry>
  579. <!--<box size="${alu_profile_side_length} ${alu_profile_side_length} ${top_protection_bottom-computer_box_height}"/>-->
  580. <cylinder length="0.32" radius="0.02"/>
  581. </geometry>
  582. <material name="Grey">
  583. <color rgba="0.5 0.5 0.5 1"/>
  584. </material>
  585. </collision>
  586. <collision>
  587. <origin rpy="0 0 0" xyz="-0.085 0.085 0.279"/>
  588. <geometry>
  589. <!--<box size="${alu_profile_side_length} ${alu_profile_side_length} ${top_protection_bottom-computer_box_height}"/>-->
  590. <cylinder length="0.32" radius="0.02"/>
  591. </geometry>
  592. <material name="Grey">
  593. <color rgba="0.5 0.5 0.5 1"/>
  594. </material>
  595. </collision>
  596. <collision>
  597. <origin rpy="0 0 0" xyz="-0.085 -0.085 0.279"/>
  598. <geometry>
  599. <!--<box size="${alu_profile_side_length} ${alu_profile_side_length} ${top_protection_bottom-computer_box_height}"/>-->
  600. <cylinder length="0.32" radius="0.02"/>
  601. </geometry>
  602. <material name="Grey">
  603. <color rgba="0.5 0.5 0.5 1"/>
  604. </material>
  605. </collision>
  606. <collision>
  607. <origin rpy="0 0 0" xyz="0.085 -0.085 0.279"/>
  608. <geometry>
  609. <!--<box size="${alu_profile_side_length} ${alu_profile_side_length} ${top_protection_bottom-computer_box_height}"/>-->
  610. <cylinder length="0.32" radius="0.02"/>
  611. </geometry>
  612. <material name="Grey">
  613. <color rgba="0.5 0.5 0.5 1"/>
  614. </material>
  615. </collision>
  616. <!--Top geom-->
  617. <collision>
  618. <origin rpy="0 1.5707963267948966 0" xyz="0 0.085 0.449"/>
  619. <geometry>
  620. <!--<box size="${computer_box_length} ${alu_profile_side_length} ${alu_profile_side_length}"/>-->
  621. <cylinder length="0.19" radius="0.02"/>
  622. </geometry>
  623. <material name="Grey">
  624. <color rgba="0.5 0.5 0.5 1"/>
  625. </material>
  626. </collision>
  627. <collision>
  628. <origin rpy="0 1.5707963267948966 0" xyz="0 -0.085 0.449"/>
  629. <geometry>
  630. <!--<box size="${computer_box_length} ${alu_profile_side_length} ${alu_profile_side_length}"/>-->
  631. <cylinder length="0.19" radius="0.02"/>
  632. </geometry>
  633. <material name="Grey">
  634. <color rgba="0.5 0.5 0.5 1"/>
  635. </material>
  636. </collision>
  637. <collision>
  638. <origin rpy="1.5707963267948966 1.5707963267948966 0" xyz="0.085 0 0.449"/>
  639. <geometry>
  640. <!--<box size="${alu_profile_side_length} ${computer_box_width} ${alu_profile_side_length}"/>-->
  641. <cylinder length="0.19" radius="0.02"/>
  642. </geometry>
  643. <material name="Grey">
  644. <color rgba="0.5 0.5 0.5 1"/>
  645. </material>
  646. </collision>
  647. <collision>
  648. <origin rpy="1.5707963267948966 1.5707963267948966 0" xyz="-0.085 0 0.449"/>
  649. <geometry>
  650. <!--<box size="${alu_profile_side_length} ${computer_box_width} ${alu_profile_side_length}"/>-->
  651. <cylinder length="0.19" radius="0.02"/>
  652. </geometry>
  653. <material name="Grey">
  654. <color rgba="0.5 0.5 0.5 1"/>
  655. </material>
  656. </collision>
  657. <!-- 360 cam mount -->
  658. <collision>
  659. <origin rpy="0 0 0" xyz="0 0 0.5135000000000001"/>
  660. <geometry>
  661. <!--<box size="${computer_box_length} ${alu_profile_side_length} ${alu_profile_side_length}"/>-->
  662. <cylinder length="0.10899999999999996" radius="0.02"/>
  663. </geometry>
  664. <material name="Grey">
  665. <color rgba="0.5 0.5 0.5 1"/>
  666. </material>
  667. </collision>
  668. </link>
  669. <!-- IMU -->
  670. <joint name="imu_link_joint" type="fixed">
  671. <origin rpy="0 0 0" xyz="0 0 0"/>
  672. <parent link="autonomy_box_link"/>
  673. <child link="imu_link"/>
  674. </joint>
  675. <link name="imu_link">
  676. </link>
  677. <joint name="spin_lidar_joint_fixed" type="fixed">
  678. <origin rpy="0.0 0.0 0.0" xyz="0 0 0.33865"/>
  679. <parent link="autonomy_box_link"/>
  680. <child link="spin_lidar_mount_link_fixed"/>
  681. </joint>
  682. <link name="spin_lidar_mount_link_fixed">
  683. </link>
  684. <joint name="spin_lidar_spin_joint" type="continuous">
  685. <origin rpy="0.0 0.0 0.0" xyz="0 0 0.33865"/>
  686. <parent link="autonomy_box_link"/>
  687. <child link="spin_lidar_mount_link"/>
  688. <axis xyz=" 0 0 1"/>
  689. <limit effort="1000" velocity="100"/>
  690. <joint_properties damping="500.0" friction="200.0"/>
  691. </joint>
  692. <link name="spin_lidar_mount_link">
  693. <visual>
  694. <origin rpy="0 0 3.141592653589793" xyz="0 0 -0.21803"/>
  695. <geometry>
  696. <mesh filename="package://hector_components_description/meshes/autonomy_box/visionbox_lidar_mount_only.stl" scale="0.001 0.001 0.001"/>
  697. </geometry>
  698. <material name="Grey">
  699. <color rgba="0.5 0.5 0.5 1"/>
  700. </material>
  701. </visual>
  702. <inertial>
  703. <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
  704. <mass value="0.1"/>
  705. <inertia ixx="9.000000000000002e-06" ixy="0.0" ixz="0.0" iyy="9.000000000000002e-06" iyz="0.0" izz="9.000000000000002e-06"/>
  706. </inertial>
  707. </link>
  708. <joint name="spin_lidar_laser_joint" type="fixed">
  709. <origin rpy="-2.35147 -3.13295 3.14155" xyz="0 -0.00396994 0"/>
  710. <parent link="spin_lidar_mount_link"/>
  711. <child link="spin_lidar_laser_frame"/>
  712. </joint>
  713. <link name="spin_lidar_laser_frame">
  714. <inertial>
  715. <mass value="0.83"/>
  716. <origin xyz="0 0 0"/>
  717. <inertia ixx="0.0008856838700000001" ixy="0.0" ixz="0.0" iyy="0.0008856838700000001" iyz="0.0" izz="0.0008856838700000001"/>
  718. </inertial>
  719. <visual>
  720. <origin rpy="1.5707963267948966 0 3.141592653589793" xyz="0 0 -0.0378"/>
  721. <geometry>
  722. <mesh filename="package://hector_sensors_description/meshes/vlp16/VLP16_base_1.dae" scale="0.001 0.001 0.001"/>
  723. </geometry>
  724. </visual>
  725. <visual>
  726. <origin rpy="1.5707963267948966 0 3.141592653589793" xyz="0 0 -0.0378"/>
  727. <geometry>
  728. <mesh filename="package://hector_sensors_description/meshes/vlp16/VLP16_base_2.dae" scale="0.001 0.001 0.001"/>
  729. </geometry>
  730. </visual>
  731. <visual>
  732. <origin rpy="1.5707963267948966 0 3.141592653589793" xyz="0 0 -0.0378"/>
  733. <geometry>
  734. <mesh filename="package://hector_sensors_description/meshes/vlp16/VLP16_scan.dae" scale="0.001 0.001 0.001"/>
  735. </geometry>
  736. </visual>
  737. <collision>
  738. <origin rpy="0 0 0" xyz="0 0 -0.00225"/>
  739. <geometry>
  740. <cylinder length="0.0717" radius="0.0516"/>
  741. </geometry>
  742. </collision>
  743. </link>
  744. <gazebo reference="spin_lidar_laser_frame">
  745. <sensor name="spin_lidar_laser-VLP16" type="ray">
  746. <pose>0 0 0 0 0 0</pose>
  747. <visualize>false</visualize>
  748. <update_rate>10</update_rate>
  749. <ray>
  750. <scan>
  751. <horizontal>
  752. <samples>512</samples>
  753. <resolution>1</resolution>
  754. <min_angle>-3.141592653589793</min_angle>
  755. <max_angle>3.141592653589793</max_angle>
  756. </horizontal>
  757. <vertical>
  758. <samples>8</samples>
  759. <resolution>1</resolution>
  760. <min_angle>-0.2617993877991494</min_angle>
  761. <max_angle>0.2617993877991494</max_angle>
  762. </vertical>
  763. </scan>
  764. <range>
  765. <min>0.1</min>
  766. <max>100</max>
  767. <resolution>0.001</resolution>
  768. </range>
  769. <noise>
  770. <type>gaussian</type>
  771. <mean>0.0</mean>
  772. <stddev>0.0</stddev>
  773. </noise>
  774. </ray>
  775. <plugin filename="libgazebo_ros_velodyne_laser.so" name="gazebo_ros_laser_controller">
  776. <topicName>/spin_lidar/vlp16</topicName>
  777. <frameName>spin_lidar_laser_frame</frameName>
  778. <min_range>0.1</min_range>
  779. <max_range>100</max_range>
  780. <gaussianNoise>0.008</gaussianNoise>
  781. </plugin>
  782. </sensor>
  783. </gazebo>
  784. <transmission name="spin_lidar_spin_joint_joint_transmission">
  785. <type>transmission_interface/SimpleTransmission</type>
  786. <joint name="spin_lidar_spin_joint">
  787. <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
  788. </joint>
  789. <actuator name="spin_lidar_spin_joint_joint_motor">
  790. <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
  791. <mechanicalReduction>1</mechanicalReduction>
  792. </actuator>
  793. </transmission>
  794. <gazebo reference="spin_lidar_spin_joint">
  795. <implicitSpringDamper>1</implicitSpringDamper>
  796. </gazebo>
  797. <gazebo reference="spin_lidar_spin_joint">
  798. <implicitSpringDamper>1</implicitSpringDamper>
  799. </gazebo>
  800. <gazebo>
  801. <!-- ros_control plugin -->
  802. <plugin filename="libgazebo_ros_control_select_joints.so" name="gazebo_ros_control_select_joints">
  803. <robotNamespace>spin_lidar_control</robotNamespace>
  804. <joints>spin_lidar_spin_joint</joints>
  805. </plugin>
  806. </gazebo>
  807. <gazebo reference="spin_lidar_mount_link">
  808. <visual>
  809. <material>
  810. <ambient>0.1 0.1 0.1 1</ambient>
  811. <diffuse>0.48 0.48 0.48 1</diffuse>
  812. <emissive>0.237 0.237 0.237 1</emissive>
  813. <specular>0.8 0.8 0.8 1</specular>
  814. </material>
  815. </visual>
  816. </gazebo>
  817. <joint name="camera360_center_joint" type="fixed">
  818. <origin rpy="0.0 0 0" xyz="0 0 0.579"/>
  819. <parent link="autonomy_box_link"/>
  820. <child link="camera360_center_link"/>
  821. </joint>
  822. <link name="camera360_center_link">
  823. <!-- Sphere body -->
  824. <visual>
  825. <origin rpy="0 0 0" xyz="0 0 0"/>
  826. <geometry>
  827. <sphere radius="0.02"/>
  828. </geometry>
  829. <material name="Grey">
  830. <color rgba="0.5 0.5 0.5 1"/>
  831. </material>
  832. </visual>
  833. <collision>
  834. <origin rpy="0 0 0" xyz="0 0 0"/>
  835. <geometry>
  836. <sphere radius="0.04"/>
  837. </geometry>
  838. <material name="Grey">
  839. <color rgba="0.5 0.5 0.5 1"/>
  840. </material>
  841. </collision>
  842. <!-- Cable -->
  843. <!-- <visual>
  844. <origin xyz="${visual_radius + cable_collision_length/2} 0 0" rpy="0 0 0"/>
  845. <geometry>
  846. <box size="${cable_collision_length} 0.03 0.03"/>
  847. </geometry>
  848. <material name="Grey">
  849. <color rgba="0.5 0.5 0.5 1"/>
  850. </material>
  851. </visual>-->
  852. <collision>
  853. <origin rpy="0 0 0" xyz="0.036000000000000004 0 0"/>
  854. <geometry>
  855. <box size="0.05 0.03 0.03"/>
  856. </geometry>
  857. <material name="Grey">
  858. <color rgba="0.5 0.5 0.5 1"/>
  859. </material>
  860. </collision>
  861. </link>
  862. <joint name="camera360_right_joint" type="fixed">
  863. <origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="0 -0.01925392 0"/>
  864. <parent link="camera360_center_link"/>
  865. <child link="camera360_right_link"/>
  866. </joint>
  867. <link name="camera360_right_link"/>
  868. <joint name="camera360_right_optical_joint" type="fixed">
  869. <origin rpy="-1.5707963267948966 0.0 -1.5707963267948966" xyz="0 0 0"/>
  870. <parent link="camera360_right_link"/>
  871. <child link="camera360_right_optical_frame"/>
  872. </joint>
  873. <link name="camera360_right_optical_frame"/>
  874. <gazebo reference="camera360_right_link">
  875. <sensor name="camera360_right_camera_sensor" type="wideanglecamera">
  876. <update_rate>10</update_rate>
  877. <camera>
  878. <!--<horizontal_fov>${hfov * M_PI/180.0}</horizontal_fov>-->
  879. <horizontal_fov>3.141592653589793</horizontal_fov>
  880. <image>
  881. <format>R8G8B8</format>
  882. <width>1504</width>
  883. <height>1504</height>
  884. </image>
  885. <clip>
  886. <near>0.01</near>
  887. <far>100</far>
  888. </clip>
  889. <lens>
  890. <!--
  891. Crashes gazebo on some machines, so revert for now
  892. <type>custom</type>
  893. <custom_function>
  894. <c1>2</c1>
  895. <c2>2</c2>
  896. <f>1.0</f>
  897. <fun>sin</fun>
  898. </custom_function>
  899. <cutoff_angle>${fov/2}</cutoff_angle>
  900. <env_texture_size>1024</env_texture_size>
  901. -->
  902. <type>stereographic</type>
  903. <scale_to_hfov>true</scale_to_hfov>
  904. <cutoff_angle>1.5707</cutoff_angle>
  905. <env_texture_size>512</env_texture_size>
  906. </lens>
  907. </camera>
  908. <plugin filename="libgazebo_ros_camera.so" name="camera360_right_camera_controller">
  909. <cameraName>camera360/right</cameraName>
  910. <imageTopicName>image_raw</imageTopicName>
  911. <cameraInfoTopicName>not_used</cameraInfoTopicName>
  912. <frameName>camera360_right_optical_frame</frameName>
  913. </plugin>
  914. </sensor>
  915. </gazebo>
  916. <joint name="camera360_left_optical_joint" type="fixed">
  917. <origin rpy="-3.1402707 0.0036289 -3.1175768" xyz="0.002862424041614364 -0.00013127655875068252 -0.03724378451297336"/>
  918. <parent link="camera360_right_optical_frame"/>
  919. <child link="camera360_left_optical_frame"/>
  920. </joint>
  921. <link name="camera360_left_optical_frame"/>
  922. <joint name="camera360_left_joint" type="fixed">
  923. <origin rpy="0 -1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
  924. <parent link="camera360_left_optical_frame"/>
  925. <child link="camera360_left_link"/>
  926. </joint>
  927. <link name="camera360_left_link"/>
  928. <gazebo reference="camera360_left_link">
  929. <sensor name="camera360_left_camera_sensor" type="wideanglecamera">
  930. <update_rate>10</update_rate>
  931. <camera>
  932. <!--<horizontal_fov>${hfov * M_PI/180.0}</horizontal_fov>-->
  933. <horizontal_fov>3.141592653589793</horizontal_fov>
  934. <image>
  935. <format>R8G8B8</format>
  936. <width>1504</width>
  937. <height>1504</height>
  938. </image>
  939. <clip>
  940. <near>0.01</near>
  941. <far>100</far>
  942. </clip>
  943. <lens>
  944. <!--
  945. Crashes gazebo on some machines, so revert for now
  946. <type>custom</type>
  947. <custom_function>
  948. <c1>2</c1>
  949. <c2>2</c2>
  950. <f>1.0</f>
  951. <fun>sin</fun>
  952. </custom_function>
  953. <cutoff_angle>${fov/2}</cutoff_angle>
  954. <env_texture_size>1024</env_texture_size>
  955. -->
  956. <type>stereographic</type>
  957. <scale_to_hfov>true</scale_to_hfov>
  958. <cutoff_angle>1.5707</cutoff_angle>
  959. <env_texture_size>512</env_texture_size>
  960. </lens>
  961. </camera>
  962. <plugin filename="libgazebo_ros_camera.so" name="camera360_left_camera_controller">
  963. <cameraName>camera360/left</cameraName>
  964. <imageTopicName>image_raw</imageTopicName>
  965. <cameraInfoTopicName>not_used</cameraInfoTopicName>
  966. <frameName>camera360_left_optical_frame</frameName>
  967. </plugin>
  968. </sensor>
  969. </gazebo>
  970. <joint name="front_rgbd_cam_mount_joint" type="fixed">
  971. <origin rpy="0.0 0.4363323129985824 0" xyz="0.07187 -0.03 0.46295000000000003"/>
  972. <parent link="autonomy_box_link"/>
  973. <child link="front_rgbd_cam_mount_link"/>
  974. </joint>
  975. <link name="front_rgbd_cam_mount_link">
  976. </link>
  977. <joint name="front_rgbd_cam_joint" type="fixed">
  978. <origin rpy="0 0 0" xyz="0.010700000000000001 0.0175 0.0125"/>
  979. <parent link="front_rgbd_cam_mount_link"/>
  980. <child link="front_rgbd_cam_link"/>
  981. </joint>
  982. <link name="front_rgbd_cam_link">
  983. <inertial>
  984. <mass value="0.072"/>
  985. <origin rpy="0 0 0" xyz="0 0 0"/>
  986. <inertia ixx="5.8083e-4" ixy="0" ixz="0" iyy="3.0833e-5" iyz="0" izz="5.9083e-4"/>
  987. </inertial>
  988. <visual>
  989. <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0.0042 -0.0175 0.0"/>
  990. <geometry>
  991. <mesh filename="package://hector_sensors_description/meshes/intel_realsense_d435/D435.dae" scale="0.001 0.001 0.001"/>
  992. </geometry>
  993. </visual>
  994. <collision>
  995. <origin rpy="0 0 0" xyz="-0.008300000000000002 -0.0175 0.0"/>
  996. <geometry>
  997. <!--Dimensions taken from https://click.intel.com/intelr-realsensetm-depth-camera-d435.html-->
  998. <box size="0.025 0.09 0.025"/>
  999. </geometry>
  1000. </collision>
  1001. </link>
  1002. <gazebo reference="front_rgbd_cam_link">
  1003. <material>Gazebo/Grey</material>
  1004. </gazebo>
  1005. <gazebo reference="front_rgbd_cam_link">
  1006. <sensor name="front_rgbd_cam" type="depth">
  1007. <update_rate>20</update_rate>
  1008. <camera>
  1009. <horizontal_fov>1.2112585008840648</horizontal_fov>
  1010. <image>
  1011. <format>B8G8R8</format>
  1012. <width>640</width>
  1013. <height>480</height>
  1014. </image>
  1015. <clip>
  1016. <near>0.3</near>
  1017. <far>9.0</far>
  1018. </clip>
  1019. </camera>
  1020. <plugin filename="libgazebo_ros_openni_kinect.so" name="front_rgbd_cam_camera_controller">
  1021. <cameraName>front_rgbd_cam</cameraName>
  1022. <imageTopicName>color/image_rect_color</imageTopicName>
  1023. <cameraInfoTopicName>color/camera_info</cameraInfoTopicName>
  1024. <depthImageTopicName>depth/image_raw</depthImageTopicName>
  1025. <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
  1026. <pointCloudTopicName>depth/color/points</pointCloudTopicName>
  1027. <frameName>front_rgbd_cam_color_optical_frame</frameName>
  1028. </plugin>
  1029. </sensor>
  1030. </gazebo>
  1031. <joint name="back_rgbd_cam_mount_joint" type="fixed">
  1032. <origin rpy="0.0 0.4363323129985824 3.141592653589793" xyz="-0.07187 0.03 0.46295000000000003"/>
  1033. <parent link="autonomy_box_link"/>
  1034. <child link="back_rgbd_cam_mount_link"/>
  1035. </joint>
  1036. <link name="back_rgbd_cam_mount_link">
  1037. </link>
  1038. <joint name="back_rgbd_cam_joint" type="fixed">
  1039. <origin rpy="0 0 0" xyz="0.010700000000000001 0.0175 0.0125"/>
  1040. <parent link="back_rgbd_cam_mount_link"/>
  1041. <child link="back_rgbd_cam_link"/>
  1042. </joint>
  1043. <link name="back_rgbd_cam_link">
  1044. <inertial>
  1045. <mass value="0.072"/>
  1046. <origin rpy="0 0 0" xyz="0 0 0"/>
  1047. <inertia ixx="5.8083e-4" ixy="0" ixz="0" iyy="3.0833e-5" iyz="0" izz="5.9083e-4"/>
  1048. </inertial>
  1049. <visual>
  1050. <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0.0042 -0.0175 0.0"/>
  1051. <geometry>
  1052. <mesh filename="package://hector_sensors_description/meshes/intel_realsense_d435/D435.dae" scale="0.001 0.001 0.001"/>
  1053. </geometry>
  1054. </visual>
  1055. <collision>
  1056. <origin rpy="0 0 0" xyz="-0.008300000000000002 -0.0175 0.0"/>
  1057. <geometry>
  1058. <!--Dimensions taken from https://click.intel.com/intelr-realsensetm-depth-camera-d435.html-->
  1059. <box size="0.025 0.09 0.025"/>
  1060. </geometry>
  1061. </collision>
  1062. </link>
  1063. <gazebo reference="back_rgbd_cam_link">
  1064. <material>Gazebo/Grey</material>
  1065. </gazebo>
  1066. <gazebo reference="back_rgbd_cam_link">
  1067. <sensor name="back_rgbd_cam" type="depth">
  1068. <update_rate>20</update_rate>
  1069. <camera>
  1070. <horizontal_fov>1.2112585008840648</horizontal_fov>
  1071. <image>
  1072. <format>B8G8R8</format>
  1073. <width>640</width>
  1074. <height>480</height>
  1075. </image>
  1076. <clip>
  1077. <near>0.3</near>
  1078. <far>9.0</far>
  1079. </clip>
  1080. </camera>
  1081. <plugin filename="libgazebo_ros_openni_kinect.so" name="back_rgbd_cam_camera_controller">
  1082. <cameraName>back_rgbd_cam</cameraName>
  1083. <imageTopicName>color/image_rect_color</imageTopicName>
  1084. <cameraInfoTopicName>color/camera_info</cameraInfoTopicName>
  1085. <depthImageTopicName>depth/image_raw</depthImageTopicName>
  1086. <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
  1087. <pointCloudTopicName>depth/color/points</pointCloudTopicName>
  1088. <frameName>back_rgbd_cam_color_optical_frame</frameName>
  1089. </plugin>
  1090. </sensor>
  1091. </gazebo>
  1092. <joint name="tracker_joint" type="fixed">
  1093. <origin rpy="1.5707963267948966 0 -1.5707963267948966" xyz="-0.07 -0.06 0.464 "/>
  1094. <parent link="autonomy_box_link"/>
  1095. <child link="tracker_link"/>
  1096. </joint>
  1097. <link name="tracker_link">
  1098. <inertial>
  1099. <mass value="0.089"/>
  1100. <origin rpy="0 0 0" xyz="0 0 0"/>
  1101. <inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.0001" iyz="0" izz="0.0001"/>
  1102. </inertial>
  1103. <!-- inertia not measured yet -->
  1104. <visual>
  1105. <origin rpy="0 0 0" xyz="0 0 0"/>
  1106. <geometry>
  1107. <mesh filename="package://hector_sensors_description/meshes/vive_tracker/tracker.stl"/>
  1108. </geometry>
  1109. <material name="DarkGrey">
  1110. <color rgba="0.175 0.175 0.175 1"/>
  1111. </material>
  1112. </visual>
  1113. <collision>
  1114. <origin rpy="0 0 0" xyz="0 0.021144 -0.003673"/>
  1115. <geometry>
  1116. <box size="0.0944 0.0423 0.0921"/>
  1117. <!-- Bounding box extracted from STL -->
  1118. </geometry>
  1119. </collision>
  1120. </link>
  1121. <gazebo reference="tracker_link">
  1122. <material>Gazebo/DarkGrey</material>
  1123. </gazebo>
  1124. <gazebo>
  1125. <plugin filename="libgazebo_ros_p3d.so" name="tracker_odom">
  1126. <frameName>world</frameName>
  1127. <bodyName>base_link</bodyName>
  1128. <topicName>/tracker/odometry</topicName>
  1129. <updateRate>100.0</updateRate>
  1130. <!--gaussianNoise>0.0001</gaussianNoise-->
  1131. </plugin>
  1132. </gazebo>
  1133. <gazebo reference="autonomy_box_link">
  1134. <visual>
  1135. <material>
  1136. <ambient>0.1 0.1 0.1 1</ambient>
  1137. <diffuse>0.48 0.48 0.48 1</diffuse>
  1138. <emissive>0.237 0.237 0.237 1</emissive>
  1139. <specular>0.8 0.8 0.8 1</specular>
  1140. </material>
  1141. </visual>
  1142. </gazebo>
  1143. <joint name="sensor_head_mount_joint" type="fixed">
  1144. <origin rpy="0.0 0.0 3.141592653589793" xyz="-0.2815 0.00856 0.093"/>
  1145. <parent link="base_link"/>
  1146. <child link="sensor_head_mount_link"/>
  1147. </joint>
  1148. <link name="sensor_head_mount_link">
  1149. <inertial>
  1150. <mass value="0.09"/>
  1151. <origin xyz="0 0 0"/>
  1152. <inertia ixx="2.25e-05" ixy="0.0" ixz="0.0" iyy="2.25e-05" iyz="0.0" izz="2.25e-05"/>
  1153. </inertial>
  1154. <visual>
  1155. <origin rpy="0 0 0" xyz="0 0 0"/>
  1156. <geometry>
  1157. <mesh filename="package://hector_components_description/meshes/xm430_sensor_head/sensor_head_link_0.stl" scale="0.001 0.001 0.001"/>
  1158. </geometry>
  1159. <material name="DarkGrey"/>
  1160. </visual>
  1161. <collision>
  1162. <origin rpy="0 0 0" xyz="0.0 -0.01 0.017"/>
  1163. <geometry>
  1164. <box size="0.0285 0.07 0.034"/>
  1165. </geometry>
  1166. </collision>
  1167. </link>
  1168. <joint name="sensor_head_yaw_joint" type="revolute">
  1169. <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
  1170. <parent link="sensor_head_mount_link"/>
  1171. <child link="sensor_head_yaw_link"/>
  1172. <axis xyz="0 0 1"/>
  1173. <limit effort="4" lower="-1.5707963267948966" upper="1.5707963267948966" velocity="4.81710873"/>
  1174. </joint>
  1175. <link name="sensor_head_yaw_link">
  1176. <inertial>
  1177. <mass value="0.09"/>
  1178. <origin xyz="0 0 0"/>
  1179. <inertia ixx="4.41e-05" ixy="0.0" ixz="0.0" iyy="4.41e-05" iyz="0.0" izz="4.41e-05"/>
  1180. </inertial>
  1181. <visual>
  1182. <origin rpy="0 0 0" xyz="0 0 0.036"/>
  1183. <geometry>
  1184. <mesh filename="package://hector_components_description/meshes/xm430_sensor_head/sensor_head_link_1.stl" scale="0.001 0.001 0.001"/>
  1185. </geometry>
  1186. <material name="DarkGrey"/>
  1187. </visual>
  1188. <collision>
  1189. <origin rpy="0 0 0" xyz="0.0 0.0 0.0625"/>
  1190. <geometry>
  1191. <box size="0.0285 0.034 0.055"/>
  1192. </geometry>
  1193. </collision>
  1194. </link>
  1195. <joint name="sensor_head_pitch_joint" type="revolute">
  1196. <origin rpy="-1.5707963267948966 0 0" xyz="0.0 0.0 0.0765"/>
  1197. <parent link="sensor_head_yaw_link"/>
  1198. <child link="sensor_head_pitch_link"/>
  1199. <axis xyz="0 0 1"/>
  1200. <limit effort="4" lower="-1.5707963267948966" upper="1.5707963267948966" velocity="4.81710873"/>
  1201. </joint>
  1202. <link name="sensor_head_pitch_link">
  1203. <inertial>
  1204. <mass value="0.03"/>
  1205. <origin xyz="0 0 0"/>
  1206. <inertia ixx="1.4700000000000003e-05" ixy="0.0" ixz="0.0" iyy="1.4700000000000003e-05" iyz="0.0" izz="1.4700000000000003e-05"/>
  1207. </inertial>
  1208. <visual>
  1209. <origin rpy="1.5707963267948966 3.141592653589793 0" xyz="0 0 0"/>
  1210. <geometry>
  1211. <mesh filename="package://hector_components_description/meshes/xm430_sensor_head/sensor_head_link_2.stl" scale="0.001 0.001 0.001"/>
  1212. </geometry>
  1213. <material name="DarkGrey"/>
  1214. </visual>
  1215. <collision>
  1216. <origin rpy="0 0 0" xyz="0.0 -0.0255 0.0"/>
  1217. <geometry>
  1218. <box size="0.025 0.005 0.045"/>
  1219. </geometry>
  1220. <material name="DarkGrey"/>
  1221. </collision>
  1222. <collision>
  1223. <origin rpy="0 0 0" xyz="0.0 -0.0075 0.02"/>
  1224. <geometry>
  1225. <box size="0.025 0.035 0.006"/>
  1226. </geometry>
  1227. <material name="DarkGrey"/>
  1228. </collision>
  1229. <collision>
  1230. <origin rpy="0 0 0" xyz="0.0 -0.0075 -0.02"/>
  1231. <geometry>
  1232. <box size="0.025 0.035 0.006"/>
  1233. </geometry>
  1234. <material name="DarkGrey"/>
  1235. </collision>
  1236. <collision>
  1237. <origin rpy="0 0 0" xyz="0.0 -0.0075 0.0"/>
  1238. <geometry>
  1239. <box size="0.025 0.035 0.045"/>
  1240. </geometry>
  1241. </collision>
  1242. </link>
  1243. <gazebo reference="sensor_head_yaw_link">
  1244. <material>Gazebo/DarkGrey</material>
  1245. </gazebo>
  1246. <gazebo reference="sensor_head_pitch_link">
  1247. <material>Gazebo/DarkGrey</material>
  1248. </gazebo>
  1249. <gazebo reference="sensor_head_mount_link">
  1250. <material>Gazebo/DarkGrey</material>
  1251. </gazebo>
  1252. <transmission name="sensor_head_yaw_joint_joint_transmission">
  1253. <type>transmission_interface/SimpleTransmission</type>
  1254. <joint name="sensor_head_yaw_joint">
  1255. <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
  1256. </joint>
  1257. <actuator name="sensor_head_yaw_joint_joint_motor">
  1258. <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
  1259. <mechanicalReduction>1</mechanicalReduction>
  1260. </actuator>
  1261. </transmission>
  1262. <gazebo reference="sensor_head_yaw_joint">
  1263. <implicitSpringDamper>1</implicitSpringDamper>
  1264. </gazebo>
  1265. <transmission name="sensor_head_pitch_joint_joint_transmission">
  1266. <type>transmission_interface/SimpleTransmission</type>
  1267. <joint name="sensor_head_pitch_joint">
  1268. <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
  1269. </joint>
  1270. <actuator name="sensor_head_pitch_joint_joint_motor">
  1271. <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
  1272. <mechanicalReduction>1</mechanicalReduction>
  1273. </actuator>
  1274. </transmission>
  1275. <gazebo reference="sensor_head_pitch_joint">
  1276. <implicitSpringDamper>1</implicitSpringDamper>
  1277. </gazebo>
  1278. <gazebo>
  1279. <plugin filename="libgazebo_ros_control_select_joints.so" name="gazebo_ros_control_select_joints">
  1280. <robotNamespace>sensor_head_control</robotNamespace>
  1281. <joints>sensor_head_yaw_joint sensor_head_pitch_joint</joints>
  1282. </plugin>
  1283. </gazebo>
  1284. <joint name="sensor_head_thermal_cam_joint" type="fixed">
  1285. <origin rpy="1.5707963267948966 0 0" xyz="-0.01 -0.0692 0"/>
  1286. <parent link="sensor_head_pitch_link"/>
  1287. <child link="sensor_head_thermal_cam_frame"/>
  1288. </joint>
  1289. <link name="sensor_head_thermal_cam_frame">
  1290. <inertial>
  1291. <mass value="0.03"/>
  1292. <origin xyz="0 0 0"/>
  1293. <inertia ixx="1.2000000000000002e-06" ixy="0.0" ixz="0.0" iyy="1.2000000000000002e-06" iyz="0.0" izz="1.2000000000000002e-06"/>
  1294. </inertial>
  1295. </link>
  1296. <joint name="sensor_head_thermal_cam_optical_joint" type="fixed">
  1297. <origin rpy="-1.5707963267948966 0.0 -1.5707963267948966" xyz="0 0 0"/>
  1298. <parent link="sensor_head_thermal_cam_frame"/>
  1299. <child link="sensor_head_thermal_cam_optical_frame"/>
  1300. </joint>
  1301. <link name="sensor_head_thermal_cam_optical_frame"/>
  1302. <gazebo reference="sensor_head_thermal_cam_frame">
  1303. <material>Gazebo/Grey</material>
  1304. </gazebo>
  1305. <gazebo reference="sensor_head_thermal_cam_frame">
  1306. <sensor name="thermal_camera_sensor" type="camera">
  1307. <update_rate>10</update_rate>
  1308. <camera>
  1309. <horizontal_fov>1.5707963267948966</horizontal_fov>
  1310. <image>
  1311. <format>R8G8B8</format>
  1312. <width>206</width>
  1313. <height>156</height>
  1314. </image>
  1315. <clip>
  1316. <near>0.01</near>
  1317. <far>10</far>
  1318. </clip>
  1319. </camera>
  1320. <plugin filename="libgazebo_ros_thermal_camera.so" name="thermal_camera_controller">
  1321. <alwaysOn>true</alwaysOn>
  1322. <updateRate>10</updateRate>
  1323. <cameraName>sensor_head_thermal_cam</cameraName>
  1324. <imageTopicName>image_raw</imageTopicName>
  1325. <cameraInfoTopicName>camera_info</cameraInfoTopicName>
  1326. <frameName>sensor_head_thermal_cam_optical_frame</frameName>
  1327. </plugin>
  1328. </sensor>
  1329. </gazebo>
  1330. <joint name="sensor_head_rgbd_cam_joint" type="fixed">
  1331. <origin rpy="1.5707963267948966 0.0 0.0" xyz="0.0253 -0.043 0.0175"/>
  1332. <parent link="sensor_head_pitch_link"/>
  1333. <child link="sensor_head_rgbd_cam_link"/>
  1334. </joint>
  1335. <link name="sensor_head_rgbd_cam_link">
  1336. <inertial>
  1337. <mass value="0.072"/>
  1338. <origin rpy="0 0 0" xyz="0 0 0"/>
  1339. <inertia ixx="5.8083e-4" ixy="0" ixz="0" iyy="3.0833e-5" iyz="0" izz="5.9083e-4"/>
  1340. </inertial>
  1341. <visual>
  1342. <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0.0042 -0.0175 0.0"/>
  1343. <geometry>
  1344. <mesh filename="package://hector_sensors_description/meshes/intel_realsense_d435/D435.dae" scale="0.001 0.001 0.001"/>
  1345. </geometry>
  1346. </visual>
  1347. <collision>
  1348. <origin rpy="0 0 0" xyz="-0.008300000000000002 -0.0175 0.0"/>
  1349. <geometry>
  1350. <!--Dimensions taken from https://click.intel.com/intelr-realsensetm-depth-camera-d435.html-->
  1351. <box size="0.025 0.09 0.025"/>
  1352. </geometry>
  1353. </collision>
  1354. </link>
  1355. <gazebo reference="sensor_head_rgbd_cam_link">
  1356. <material>Gazebo/Grey</material>
  1357. </gazebo>
  1358. <gazebo reference="sensor_head_rgbd_cam_link">
  1359. <sensor name="sensor_head_rgbd_cam" type="depth">
  1360. <update_rate>20</update_rate>
  1361. <camera>
  1362. <horizontal_fov>1.2112585008840648</horizontal_fov>
  1363. <image>
  1364. <format>B8G8R8</format>
  1365. <width>640</width>
  1366. <height>480</height>
  1367. </image>
  1368. <clip>
  1369. <near>0.3</near>
  1370. <far>9.0</far>
  1371. </clip>
  1372. </camera>
  1373. <plugin filename="libgazebo_ros_openni_kinect.so" name="sensor_head_rgbd_cam_camera_controller">
  1374. <cameraName>sensor_head_rgbd_cam</cameraName>
  1375. <imageTopicName>color/image_rect_color</imageTopicName>
  1376. <cameraInfoTopicName>color/camera_info</cameraInfoTopicName>
  1377. <depthImageTopicName>depth/image_raw</depthImageTopicName>
  1378. <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
  1379. <pointCloudTopicName>depth/points</pointCloudTopicName>
  1380. <frameName>sensor_head_rgbd_cam_color_optical_frame</frameName>
  1381. </plugin>
  1382. </sensor>
  1383. </gazebo>
  1384. <!-- Gazebo ros control for arm joints -->
  1385. <!-- Moved outside -->
  1386. <!-- <gazebo>
  1387. <plugin name="gazebo_ros_control_select_joints" filename="libgazebo_ros_control_select_joints.so">
  1388. <robotNamespace>manipulator_arm_control</robotNamespace>
  1389. <joints>${name}_joint_0 ${name}_joint_1 ${name}_joint_2 ${name}_joint_3 ${name}_joint_4 ${name}_joint_5</joints>
  1390. <eStopTopic>/ui_emergency_stop</eStopTopic>
  1391. </plugin>
  1392. </gazebo>-->
  1393. <!-- Link 0 -->
  1394. <gazebo reference="arm_link_0">
  1395. <mu1>0.2</mu1>
  1396. <mu2>0.2</mu2>
  1397. <material>Gazebo/DarkGrey</material>
  1398. </gazebo>
  1399. <!-- Link 1 -->
  1400. <gazebo reference="arm_link_1">
  1401. <mu1>0.2</mu1>
  1402. <mu2>0.2</mu2>
  1403. <material>Gazebo/DarkGrey</material>
  1404. </gazebo>
  1405. <!-- Link 2 -->
  1406. <gazebo reference="arm_link_2">
  1407. <mu1>0.2</mu1>
  1408. <mu2>0.2</mu2>
  1409. <material>Gazebo/DarkGrey</material>
  1410. </gazebo>
  1411. <!-- Link 3 -->
  1412. <gazebo reference="arm_link_3">
  1413. <mu1>0.2</mu1>
  1414. <mu2>0.2</mu2>
  1415. <material>Gazebo/DarkGrey</material>
  1416. </gazebo>
  1417. <!-- Link 4 -->
  1418. <gazebo reference="arm_link_4">
  1419. <mu1>0.2</mu1>
  1420. <mu2>0.2</mu2>
  1421. <material>Gazebo/DarkGrey</material>
  1422. </gazebo>
  1423. <!-- Link 5 -->
  1424. <gazebo reference="arm_link_5">
  1425. <mu1>0.2</mu1>
  1426. <mu2>0.2</mu2>
  1427. <material>Gazebo/DarkGrey</material>
  1428. </gazebo>
  1429. <!-- End Effector -->
  1430. <gazebo reference="arm_end_link">
  1431. <mu1>0.2</mu1>
  1432. <mu2>0.2</mu2>
  1433. <material>Gazebo/DarkGrey</material>
  1434. </gazebo>
  1435. <joint name="arm_fixed_joint" type="fixed">
  1436. <origin rpy="0.0 0.0 3.141592653589793" xyz="-0.2115 -0.093 0.061"/>
  1437. <parent link="base_link"/>
  1438. <child link="arm_link_0"/>
  1439. </joint>
  1440. <!-- link 0 -->
  1441. <link name="arm_link_0">
  1442. <collision>
  1443. <origin rpy="0 0 0" xyz="0 0 0.063"/>
  1444. <geometry>
  1445. <box size="0.054 0.054 0.126"/>
  1446. </geometry>
  1447. </collision>
  1448. <visual>
  1449. <origin rpy="0 0 0" xyz="0 0 0"/>
  1450. <geometry>
  1451. <mesh filename="package://open_manipulator_p_description/meshes/link_1.stl" scale="0.001 0.001 0.001"/>
  1452. </geometry>
  1453. <material name="grey"/>
  1454. </visual>
  1455. <inertial>
  1456. <origin rpy="0 0 0" xyz="0.00023 0.00000 0.06223"/>
  1457. <mass value="0.85644"/>
  1458. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1459. <!--<inertia ixx="0.00121064" ixy="0.0" ixz="0.00001100" iyy="0.00120886" iyz="0.0" izz="0.00038103" />-->
  1460. </inertial>
  1461. </link>
  1462. <!-- Joint 0 -->
  1463. <joint name="arm_joint_0" type="revolute">
  1464. <parent link="arm_link_0"/>
  1465. <child link="arm_link_1"/>
  1466. <origin rpy="0 0 0" xyz="0.0 0.0 0.126"/>
  1467. <axis xyz="0 0 1"/>
  1468. <limit effort="1000" lower="-3.106686068549907" upper="3.106686068549907" velocity="6.5"/>
  1469. <dynamics damping="0.7"/>
  1470. </joint>
  1471. <transmission name="tran0">
  1472. <type>transmission_interface/SimpleTransmission</type>
  1473. <joint name="arm_joint_0">
  1474. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1475. </joint>
  1476. <actuator name="motor0">
  1477. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1478. <mechanicalReduction>1</mechanicalReduction>
  1479. </actuator>
  1480. </transmission>
  1481. <!-- link 1 -->
  1482. <link name="arm_link_1">
  1483. <collision>
  1484. <origin rpy="0 0 0" xyz="0 0 0.03"/>
  1485. <geometry>
  1486. <box size="0.06 0.14 0.06"/>
  1487. </geometry>
  1488. </collision>
  1489. <visual>
  1490. <origin rpy="0 0 0" xyz="0 0 0"/>
  1491. <geometry>
  1492. <mesh filename="package://open_manipulator_p_description/meshes/link_2.stl" scale="0.001 0.001 0.001"/>
  1493. </geometry>
  1494. <material name="grey"/>
  1495. </visual>
  1496. <inertial>
  1497. <origin rpy="0 0 0" xyz="0.00000 0.00080 0.03183"/>
  1498. <!--<origin xyz="0.00000 -0.06820 -0.00117" rpy="0 0 0"/>-->
  1499. <mass value="0.94658"/>
  1500. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1501. <!--<inertia ixx="0.00152547" ixy="0.0" ixz="0.0" iyy="0.00045954" iyz="-0.00001086" izz="0.00151740" />-->
  1502. </inertial>
  1503. </link>
  1504. <!-- Joint 1 -->
  1505. <joint name="arm_joint_1" type="revolute">
  1506. <parent link="arm_link_1"/>
  1507. <child link="arm_link_2"/>
  1508. <origin rpy="0 0 0" xyz="0.0 0.0 0.033"/>
  1509. <axis xyz="0 1 0"/>
  1510. <limit effort="1000" lower="-1.8151424220741028" upper="1.8151424220741028" velocity="6.5"/>
  1511. <dynamics damping="0.7"/>
  1512. </joint>
  1513. <transmission name="tran1">
  1514. <type>transmission_interface/SimpleTransmission</type>
  1515. <joint name="arm_joint_1">
  1516. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1517. </joint>
  1518. <actuator name="motor1">
  1519. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1520. <mechanicalReduction>1</mechanicalReduction>
  1521. </actuator>
  1522. </transmission>
  1523. <!-- link 2 -->
  1524. <link name="arm_link_2">
  1525. <collision>
  1526. <origin rpy="0 0 0" xyz="0.0 0.07 0.01"/>
  1527. <geometry>
  1528. <box size="0.06 0.02 0.09"/>
  1529. </geometry>
  1530. </collision>
  1531. <collision>
  1532. <origin rpy="0 0 0" xyz="0.0 -0.07 0.01"/>
  1533. <geometry>
  1534. <box size="0.06 0.02 0.09"/>
  1535. </geometry>
  1536. </collision>
  1537. <collision>
  1538. <origin rpy="0 0 0" xyz="0.0 0.0 0.045"/>
  1539. <geometry>
  1540. <box size="0.06 0.16 0.02"/>
  1541. </geometry>
  1542. </collision>
  1543. <collision>
  1544. <origin rpy="0 0 0" xyz="0.0 0.0 0.155"/>
  1545. <geometry>
  1546. <box size="0.06 0.09 0.2"/>
  1547. </geometry>
  1548. </collision>
  1549. <collision>
  1550. <origin rpy="0 0.7853981633974483 0" xyz="0.025 0.0 0.26"/>
  1551. <geometry>
  1552. <box size="0.07 0.115 0.08"/>
  1553. </geometry>
  1554. </collision>
  1555. <visual>
  1556. <origin rpy="0 0 0" xyz="0 0.069 0"/>
  1557. <geometry>
  1558. <mesh filename="package://open_manipulator_p_description/meshes/link_3.stl" scale="0.001 0.001 0.001"/>
  1559. </geometry>
  1560. <material name="grey"/>
  1561. </visual>
  1562. <inertial>
  1563. <origin rpy="0 0 0" xyz="0.01768 0.00019 0.20524"/>
  1564. <mass value="1.30260"/>
  1565. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1566. <!--<inertia ixx="0.01111021" ixy="0.00001331" ixz="-0.00134208" iyy="0.01046642" iyz="0.00016235" izz="0.00202081" />-->
  1567. </inertial>
  1568. </link>
  1569. <!-- Joint 2 -->
  1570. <joint name="arm_joint_2" type="revolute">
  1571. <parent link="arm_link_2"/>
  1572. <child link="arm_link_3"/>
  1573. <origin rpy="0 0 0" xyz="0.03000 0.0 0.26400"/>
  1574. <axis xyz="0 1 0"/>
  1575. <limit effort="1000" lower="-2.1642082724729685" upper="1.4835298641951802" velocity="6.5"/>
  1576. <dynamics damping="0.7"/>
  1577. </joint>
  1578. <transmission name="tran2">
  1579. <type>transmission_interface/SimpleTransmission</type>
  1580. <joint name="arm_joint_2">
  1581. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1582. </joint>
  1583. <actuator name="motor2">
  1584. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1585. <mechanicalReduction>1</mechanicalReduction>
  1586. </actuator>
  1587. </transmission>
  1588. <!-- link 3 -->
  1589. <link name="arm_link_3">
  1590. <collision>
  1591. <origin rpy="0 0.7853981633974483 0" xyz="0.01 0.06 0.01"/>
  1592. <geometry>
  1593. <box size="0.06 0.02 0.1"/>
  1594. </geometry>
  1595. </collision>
  1596. <collision>
  1597. <origin rpy="0 0.7853981633974483 0" xyz="0.01 -0.06 0.01"/>
  1598. <geometry>
  1599. <box size="0.06 0.02 0.1"/>
  1600. </geometry>
  1601. </collision>
  1602. <collision>
  1603. <origin rpy="0 0 0" xyz="0.13 0 0.03"/>
  1604. <geometry>
  1605. <box size="0.2 0.09 0.06"/>
  1606. </geometry>
  1607. </collision>
  1608. <collision>
  1609. <origin rpy="0 0 0" xyz="0.04 0 0.03"/>
  1610. <geometry>
  1611. <box size="0.03 0.14 0.06"/>
  1612. </geometry>
  1613. </collision>
  1614. <visual>
  1615. <origin rpy="0 0 0" xyz="0 0.05750 0"/>
  1616. <geometry>
  1617. <mesh filename="package://open_manipulator_p_description/meshes/link_4.stl" scale="0.001 0.001 0.001"/>
  1618. </geometry>
  1619. <material name="grey"/>
  1620. </visual>
  1621. <inertial>
  1622. <origin rpy="0 0 0" xyz="-0.07025 0.00034 -0.00021"/>
  1623. <mass value="1.15977"/>
  1624. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1625. <!--<inertia ixx="0.00096726" ixy="0.00004383" ixz="-0.00002771" iyy="0.00318801" iyz="0.00000627" izz="0.00341484" />-->
  1626. </inertial>
  1627. </link>
  1628. <!-- Joint 3 -->
  1629. <joint name="arm_joint_3" type="revolute">
  1630. <parent link="arm_link_3"/>
  1631. <child link="arm_link_4"/>
  1632. <origin rpy="0 0 0" xyz="0.19500 0.0 0.03000"/>
  1633. <axis xyz="1 0 0"/>
  1634. <limit effort="1000" lower="-3.106686068549907" upper="3.106686068549907" velocity="6.5"/>
  1635. <dynamics damping="0.7"/>
  1636. </joint>
  1637. <transmission name="tran3">
  1638. <type>transmission_interface/SimpleTransmission</type>
  1639. <joint name="arm_joint_3">
  1640. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1641. </joint>
  1642. <actuator name="motor3">
  1643. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1644. <mechanicalReduction>1</mechanicalReduction>
  1645. </actuator>
  1646. </transmission>
  1647. <!-- link 4 -->
  1648. <link name="arm_link_4">
  1649. <collision>
  1650. <origin rpy="0 0 0" xyz="0.06 0 0.0"/>
  1651. <geometry>
  1652. <box size="0.055 0.09 0.05"/>
  1653. </geometry>
  1654. </collision>
  1655. <visual>
  1656. <origin rpy="0 0 0" xyz="0 0 0"/>
  1657. <geometry>
  1658. <mesh filename="package://open_manipulator_p_description/meshes/link_5.stl" scale="0.001 0.001 0.001"/>
  1659. </geometry>
  1660. <material name="grey"/>
  1661. </visual>
  1662. <inertial>
  1663. <origin rpy="0 0 0" xyz="0.05642 -0.00217 0.00002"/>
  1664. <!--<origin xyz="-0.00658 -0.04717 0.00002" rpy="0 0 0"/>-->
  1665. <mass value="0.44688"/>
  1666. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1667. <!--<inertia ixx="0.00030285" ixy="0.00000761" ixz="0.00000031" iyy="0.00022339" iyz="-0.00000001" izz="0.00039766" />-->
  1668. </inertial>
  1669. </link>
  1670. <!-- Joint 4 -->
  1671. <joint name="arm_joint_4" type="revolute">
  1672. <parent link="arm_link_4"/>
  1673. <child link="arm_link_5"/>
  1674. <origin rpy="0 0 0" xyz="0.06300 0.00 0.00000"/>
  1675. <axis xyz="0 1 0"/>
  1676. <limit effort="1000" lower="-1.6580627893946132" upper="1.6580627893946132" velocity="6.5"/>
  1677. <dynamics damping="0.7"/>
  1678. </joint>
  1679. <transmission name="tran4">
  1680. <type>transmission_interface/SimpleTransmission</type>
  1681. <joint name="arm_joint_4">
  1682. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1683. </joint>
  1684. <actuator name="motor4">
  1685. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1686. <mechanicalReduction>1</mechanicalReduction>
  1687. </actuator>
  1688. </transmission>
  1689. <!-- link 5 -->
  1690. <link name="arm_link_5">
  1691. <collision>
  1692. <origin rpy="0 0 0" xyz="0.005 0.045 0.0"/>
  1693. <geometry>
  1694. <box size="0.07 0.015 0.05"/>
  1695. </geometry>
  1696. </collision>
  1697. <collision>
  1698. <origin rpy="0 0 0" xyz="0.005 -0.045 0.0"/>
  1699. <geometry>
  1700. <box size="0.07 0.015 0.05"/>
  1701. </geometry>
  1702. </collision>
  1703. <collision>
  1704. <origin rpy="0 0 0" xyz="0.035 0.0 0.0"/>
  1705. <geometry>
  1706. <box size="0.02 0.105 0.05"/>
  1707. </geometry>
  1708. </collision>
  1709. <collision>
  1710. <origin rpy="0 0 0" xyz="0.08 0.0 0.0"/>
  1711. <geometry>
  1712. <box size="0.09 0.045 0.045"/>
  1713. </geometry>
  1714. </collision>
  1715. <visual>
  1716. <origin rpy="0 0 0" xyz="0 0.04500 0"/>
  1717. <geometry>
  1718. <mesh filename="package://open_manipulator_p_description/meshes/link_6.stl" scale="0.001 0.001 0.001"/>
  1719. </geometry>
  1720. <material name="grey"/>
  1721. </visual>
  1722. <inertial>
  1723. <!-- <origin xyz="0.06831 -0.04457 0.00000" rpy="0 0 0"/> -->
  1724. <origin rpy="0 0 0" xyz="-0.05469 0.00043 0.00000"/>
  1725. <mass value="0.43273"/>
  1726. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1727. <!--<inertia ixx="0.00021512" ixy="0.00001009" ixz="0.00000000" iyy="0.00042827" iyz="0.00000000" izz="0.00051436" />-->
  1728. </inertial>
  1729. </link>
  1730. <!-- Joint 5 -->
  1731. <joint name="arm_joint_5" type="revolute">
  1732. <parent link="arm_link_5"/>
  1733. <child link="arm_end_link"/>
  1734. <origin rpy="0 0 0" xyz="0.12300 0.000 0.00000"/>
  1735. <axis xyz="1 0 0"/>
  1736. <limit effort="1000" lower="-3.07177948351002" upper="3.07177948351002" velocity="6.5"/>
  1737. <dynamics damping="0.7"/>
  1738. </joint>
  1739. <transmission name="tran5">
  1740. <type>transmission_interface/SimpleTransmission</type>
  1741. <joint name="arm_joint_5">
  1742. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1743. </joint>
  1744. <actuator name="motor5">
  1745. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1746. <mechanicalReduction>1</mechanicalReduction>
  1747. </actuator>
  1748. </transmission>
  1749. <!-- end link -->
  1750. <link name="arm_end_link">
  1751. <collision>
  1752. <origin rpy="0 0 0" xyz="0.01 0.0 0.0"/>
  1753. <geometry>
  1754. <box size="0.02 0.06 0.045"/>
  1755. </geometry>
  1756. </collision>
  1757. <visual>
  1758. <origin rpy="0 0 0" xyz="0 0 0"/>
  1759. <geometry>
  1760. <mesh filename="package://open_manipulator_p_description/meshes/end_link.stl" scale="0.001 0.001 0.001"/>
  1761. </geometry>
  1762. <material name="grey"/>
  1763. </visual>
  1764. <inertial>
  1765. <origin rpy="0 0 0" xyz="0.00337 0.00000 0.00000"/>
  1766. <mass value="0.01919"/>
  1767. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
  1768. <!--<inertia ixx="0.00000938" ixy="0.0" ixz="0.0" iyy="0.00000338" iyz="0.0" izz="0.00000635" />-->
  1769. </inertial>
  1770. </link>
  1771. <!-- Base Joint -->
  1772. <joint name="gripper_base_joint" type="fixed">
  1773. <origin rpy="0 1.5707963267948966 0" xyz="0.0 0 0"/>
  1774. <parent link="arm_end_link"/>
  1775. <child link="gripper_base"/>
  1776. </joint>
  1777. <!-- Base -->
  1778. <link name="gripper_base">
  1779. <collision>
  1780. <origin rpy="0 0 0" xyz="0 0 0"/>
  1781. <geometry>
  1782. <mesh filename="package://rh_p12_rn_description/meshes/base_convex.stl" scale="0.001 0.001 0.001"/>
  1783. </geometry>
  1784. </collision>
  1785. <visual>
  1786. <origin rpy="0 0 0" xyz="0 0 0"/>
  1787. <geometry>
  1788. <mesh filename="package://rh_p12_rn_description/meshes/base.stl" scale="0.001 0.001 0.001"/>
  1789. </geometry>
  1790. <material name="grey"/>
  1791. </visual>
  1792. <!--
  1793. <inertial>
  1794. <origin xyz="0.000 0.000 0.032" rpy="0 0 0"/>
  1795. <mass value="0.236"/>-->
  1796. <!--<inertia ixx="0.00017" ixy="0.0" ixz="0.0" iyy="0.00011" iyz="0.0" izz="0.00017" />-->
  1797. <!-- <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  1798. </inertial>
  1799. -->
  1800. <inertial>
  1801. <origin rpy="0 0 0" xyz="0.000 0.000 0.032"/>
  1802. <mass value="0.236"/>
  1803. <inertia ixx="0.00025173333333333334" ixy="0.0" ixz="0.0" iyy="0.00025173333333333334" iyz="0.0" izz="0.00025173333333333334"/>
  1804. </inertial>
  1805. </link>
  1806. <gazebo reference="gripper_base">
  1807. <mu1>0.2</mu1>
  1808. <mu2>0.2</mu2>
  1809. <material>Gazebo/DarkGrey</material>
  1810. </gazebo>
  1811. <!-- Finger Motor Joint -->
  1812. <joint name="gripper_servo_joint" type="revolute">
  1813. <origin rpy="0 0 0" xyz="0 0.0 0"/>
  1814. <axis xyz="1 0 0"/>
  1815. <limit effort="4" lower="0" upper="1.15" velocity="5"/>
  1816. <parent link="gripper_base"/>
  1817. <child link="gripper_servo_link"/>
  1818. </joint>
  1819. <transmission name="gripper_servo_joint_transmission">
  1820. <type>transmission_interface/SimpleTransmission</type>
  1821. <joint name="gripper_servo_joint">
  1822. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1823. </joint>
  1824. <actuator name="gripper_servo_joint_motor">
  1825. <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
  1826. <mechanicalReduction>1</mechanicalReduction>
  1827. </actuator>
  1828. </transmission>
  1829. <link name="gripper_servo_link">
  1830. <inertial>
  1831. <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
  1832. <mass value="0.01"/>
  1833. <inertia ixx="2.666666666666667e-06" ixy="0.0" ixz="0.0" iyy="2.666666666666667e-06" iyz="0.0" izz="2.666666666666667e-06"/>
  1834. </inertial>
  1835. </link>
  1836. <!-- Right Joint 1-->
  1837. <joint name="gripper_joint_r1" type="revolute">
  1838. <parent link="gripper_base"/>
  1839. <child link="gripper_link_r1"/>
  1840. <origin rpy="0 0 0" xyz="0.0 0.008 0.048"/>
  1841. <axis xyz="1 0 0"/>
  1842. <limit effort="10" lower="0.0" upper="1.1" velocity="6.5"/>
  1843. <!--<dynamics damping="0.7"/>-->
  1844. <!--WARNING: This makes Gazebo sim explode-->
  1845. <mimic joint="gripper_servo_joint" multiplier="1" offset="0"/>
  1846. </joint>
  1847. <gazebo>
  1848. <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_joint_r1">
  1849. <joint>gripper_servo_joint</joint>
  1850. <mimicJoint>gripper_joint_r1</mimicJoint>
  1851. <multiplier>1</multiplier>
  1852. <offset>0</offset>
  1853. <maxEffort>4</maxEffort>
  1854. <hasPID/>
  1855. </plugin>
  1856. </gazebo>
  1857. <!-- Right Link 1 -->
  1858. <link name="gripper_link_r1">
  1859. <collision>
  1860. <origin rpy="0 0 0" xyz="0 0 0"/>
  1861. <geometry>
  1862. <mesh filename="package://rh_p12_rn_description/meshes/r1_convex.stl" scale="0.001 0.001 0.001"/>
  1863. </geometry>
  1864. </collision>
  1865. <visual>
  1866. <origin rpy="0 0 0" xyz="0 0 0"/>
  1867. <geometry>
  1868. <mesh filename="package://rh_p12_rn_description/meshes/r1.stl" scale="0.001 0.001 0.001"/>
  1869. </geometry>
  1870. <material name="grey"/>
  1871. </visual>
  1872. <!--
  1873. <inertial>
  1874. <origin xyz="0.000 0.034 0.004" rpy="0 0 0"/>
  1875. <mass value="0.068"/>-->
  1876. <!--<inertia ixx="0.00004" ixy="0.0" ixz="0.0" iyy="0.00002" iyz="-0.00001" izz="0.00002" />-->
  1877. <!--<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  1878. </inertial>
  1879. -->
  1880. <inertial>
  1881. <origin rpy="0 0 0" xyz="0.000 0.034 0.004"/>
  1882. <mass value="0.068"/>
  1883. <inertia ixx="1.8133333333333335e-05" ixy="0.0" ixz="0.0" iyy="1.8133333333333335e-05" iyz="0.0" izz="1.8133333333333335e-05"/>
  1884. </inertial>
  1885. </link>
  1886. <gazebo reference="gripper_link_r1">
  1887. <mu1>0.2</mu1>
  1888. <mu2>0.2</mu2>
  1889. <material>Gazebo/DarkGrey</material>
  1890. </gazebo>
  1891. <!-- Right Joint 2 -->
  1892. <joint name="gripper_joint_r2" type="revolute">
  1893. <parent link="gripper_link_r1"/>
  1894. <child link="gripper_link_r2"/>
  1895. <origin rpy="0 0 3.141592653589793" xyz="0.0 0.0493634 0.0285"/>
  1896. <axis xyz="1 0 0"/>
  1897. <limit effort="10" lower="0.0" upper="1.0" velocity="6.5"/>
  1898. <!--<dynamics damping="0.7"/>-->
  1899. <!--WARNING: This makes Gazebo sim explode-->
  1900. <mimic joint="gripper_servo_joint" multiplier="0.909" offset="0"/>
  1901. s
  1902. </joint>
  1903. <gazebo>
  1904. <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_joint_r2">
  1905. <joint>gripper_servo_joint</joint>
  1906. <mimicJoint>gripper_joint_r2</mimicJoint>
  1907. <multiplier>0.909</multiplier>
  1908. <offset>0</offset>
  1909. <maxEffort>4</maxEffort>
  1910. <hasPID/>
  1911. </plugin>
  1912. </gazebo>
  1913. <!-- Right Link 2 -->
  1914. <link name="gripper_link_r2">
  1915. <collision>
  1916. <origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
  1917. <geometry>
  1918. <mesh filename="package://rh_p12_rn_description/meshes/r2_convex.stl" scale="0.001 0.001 0.001"/>
  1919. </geometry>
  1920. </collision>
  1921. <visual>
  1922. <origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
  1923. <geometry>
  1924. <mesh filename="package://rh_p12_rn_description/meshes/r2.stl" scale="0.001 0.001 0.001"/>
  1925. </geometry>
  1926. <material name="grey"/>
  1927. </visual>
  1928. <!--
  1929. <inertial>
  1930. <origin xyz="0.000 0.006 0.011" rpy="0 0 0"/>
  1931. <mass value="0.022"/>-->
  1932. <!--<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.0" />-->
  1933. <!--<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  1934. </inertial>-->
  1935. <inertial>
  1936. <origin rpy="0 0 0" xyz="0.000 -0.006 0.011"/>
  1937. <mass value="0.022"/>
  1938. <inertia ixx="5.866666666666666e-06" ixy="0.0" ixz="0.0" iyy="5.866666666666666e-06" iyz="0.0" izz="5.866666666666666e-06"/>
  1939. </inertial>
  1940. </link>
  1941. <gazebo reference="gripper_link_r2">
  1942. <mu1>0.2</mu1>
  1943. <mu2>0.2</mu2>
  1944. <material>Gazebo/DarkGrey</material>
  1945. </gazebo>
  1946. <!-- Left Joint 1 -->
  1947. <joint name="gripper_joint_l1" type="revolute">
  1948. <parent link="gripper_base"/>
  1949. <child link="gripper_link_l1"/>
  1950. <origin rpy="0 0 3.141592653589793" xyz="0.0 -0.008 0.048"/>
  1951. <axis xyz="1 0 0"/>
  1952. <limit effort="10" lower="0.0" upper="1.1" velocity="6.5"/>
  1953. <!--<dynamics damping="0.7"/>-->
  1954. <!--WARNING: This makes Gazebo sim explode-->
  1955. <mimic joint="gripper_servo_joint" multiplier="1" offset="0"/>
  1956. </joint>
  1957. <gazebo>
  1958. <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_joint_l1">
  1959. <joint>gripper_servo_joint</joint>
  1960. <mimicJoint>gripper_joint_l1</mimicJoint>
  1961. <multiplier>1</multiplier>
  1962. <offset>0</offset>
  1963. <maxEffort>4</maxEffort>
  1964. <hasPID/>
  1965. </plugin>
  1966. </gazebo>
  1967. <!-- Left Link 1 -->
  1968. <link name="gripper_link_l1">
  1969. <collision>
  1970. <origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
  1971. <geometry>
  1972. <mesh filename="package://rh_p12_rn_description/meshes/l1_convex.stl" scale="0.001 0.001 0.001"/>
  1973. </geometry>
  1974. </collision>
  1975. <visual>
  1976. <origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
  1977. <geometry>
  1978. <mesh filename="package://rh_p12_rn_description/meshes/l1.stl" scale="0.001 0.001 0.001"/>
  1979. </geometry>
  1980. <material name="grey"/>
  1981. </visual>
  1982. <!--
  1983. <inertial>
  1984. <origin xyz="0.000 -0.034 0.004" rpy="0 0 0"/>
  1985. <mass value="0.068"/>-->
  1986. <!--<inertia ixx="0.00004" ixy="0.0" ixz="0.0" iyy="0.00002" iyz="0.00001" izz="0.00002" />-->
  1987. <!--<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  1988. </inertial>-->
  1989. <inertial>
  1990. <origin rpy="0 0 0" xyz="0.000 0.034 0.004"/>
  1991. <mass value="0.068"/>
  1992. <inertia ixx="1.8133333333333335e-05" ixy="0.0" ixz="0.0" iyy="1.8133333333333335e-05" iyz="0.0" izz="1.8133333333333335e-05"/>
  1993. </inertial>
  1994. </link>
  1995. <gazebo reference="gripper_link_l1">
  1996. <mu1>0.2</mu1>
  1997. <mu2>0.2</mu2>
  1998. <material>Gazebo/DarkGrey</material>
  1999. </gazebo>
  2000. <!-- Left Joint 2 -->
  2001. <joint name="gripper_joint_l2" type="revolute">
  2002. <parent link="gripper_link_l1"/>
  2003. <child link="gripper_link_l2"/>
  2004. <origin rpy="0 0 3.141592653589793" xyz="0.0 0.0493634 0.0285"/>
  2005. <axis xyz="1 0 0"/>
  2006. <limit effort="10" lower="0.0" upper="1.0" velocity="6.5"/>
  2007. <!--<dynamics damping="0.7"/>-->
  2008. <!--WARNING: This makes Gazebo sim explode-->
  2009. s
  2010. <mimic joint="gripper_servo_joint" multiplier="0.909" offset="0"/>
  2011. </joint>
  2012. <gazebo>
  2013. <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_joint_l2">
  2014. <joint>gripper_servo_joint</joint>
  2015. <mimicJoint>gripper_joint_l2</mimicJoint>
  2016. <multiplier>0.909</multiplier>
  2017. <offset>0</offset>
  2018. <maxEffort>4</maxEffort>
  2019. <hasPID/>
  2020. </plugin>
  2021. </gazebo>
  2022. <!-- Left Link 2 -->
  2023. <link name="gripper_link_l2">
  2024. <collision>
  2025. <origin rpy="0 0 0" xyz="0 0 0"/>
  2026. <geometry>
  2027. <mesh filename="package://rh_p12_rn_description/meshes/l2_convex.stl" scale="0.001 0.001 0.001"/>
  2028. </geometry>
  2029. </collision>
  2030. <visual>
  2031. <origin rpy="0 0 0" xyz="0 0 0"/>
  2032. <geometry>
  2033. <mesh filename="package://rh_p12_rn_description/meshes/l2.stl" scale="0.001 0.001 0.001"/>
  2034. </geometry>
  2035. <material name="grey"/>
  2036. </visual>
  2037. <!--
  2038. <inertial>
  2039. <origin xyz="0.000 -0.006 0.011" rpy="0 0 0"/>
  2040. <mass value="0.022"/>-->
  2041. <!--<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.0" />-->
  2042. <!--<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  2043. </inertial>-->
  2044. <inertial>
  2045. <origin rpy="0 0 0" xyz="0.000 -0.006 0.011"/>
  2046. <mass value="0.022"/>
  2047. <inertia ixx="5.866666666666666e-06" ixy="0.0" ixz="0.0" iyy="5.866666666666666e-06" iyz="0.0" izz="5.866666666666666e-06"/>
  2048. </inertial>
  2049. </link>
  2050. <joint name="gripper_grasp_main_joint" type="fixed">
  2051. <origin rpy="3.141592653589793 -1.5707963267948966 0.0" xyz="0.0 0 0.11"/>
  2052. <parent link="gripper_base"/>
  2053. <child link="gripper_grasp_main_link"/>
  2054. </joint>
  2055. <link name="gripper_grasp_main_link">
  2056. </link>
  2057. <joint name="gripper_grasp_tip_joint" type="fixed">
  2058. <origin rpy="3.141592653589793 -1.5707963267948966 0.0" xyz="0.0 0 0.15"/>
  2059. <parent link="gripper_base"/>
  2060. <child link="gripper_grasp_tip_link"/>
  2061. </joint>
  2062. <link name="gripper_grasp_tip_link">
  2063. </link>
  2064. <gazebo reference="gripper_link_l2">
  2065. <mu1>0.2</mu1>
  2066. <mu2>0.2</mu2>
  2067. <material>Gazebo/DarkGrey</material>
  2068. </gazebo>
  2069. <gazebo>
  2070. <plugin filename="libgazebo_ros_control_select_joints.so" name="gazebo_ros_control_select_joints">
  2071. <robotNamespace>manipulator_arm_control</robotNamespace>
  2072. <joints>arm_joint_0 arm_joint_1 arm_joint_2 arm_joint_3 arm_joint_4 arm_joint_5 gripper_servo_joint</joints>
  2073. <eStopTopic>/ui_emergency_stop</eStopTopic>
  2074. </plugin>
  2075. </gazebo>
  2076. </robot>