{"id":33014,"date":"2025-04-26T10:26:57","date_gmt":"2025-04-26T02:26:57","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/33014.html"},"modified":"2025-04-26T10:26:57","modified_gmt":"2025-04-26T02:26:57","slug":"%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8urdf%e6%90%ad%e5%bb%ba%e5%8f%8c%e8%87%82ur%e7%a7%bb%e5%8a%a8%e6%9c%ba%e5%99%a8%e4%ba%ba%ef%bc%8c%e5%b9%b6%e5%9c%a8rviz%e4%b8%ad%e5%8f%af%e8%a7%86%e5%8c%96","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/33014.html","title":{"rendered":"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316"},"content":{"rendered":"<h4>\u4e00\u3001\u80cc\u666f<\/h4>\n<p>\u73b0\u8bb0\u5f55\u4e00\u4e0b\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba&#xff0c;\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316\u3002<\/p>\n<p>\u7cfb\u7edf&#xff1a;ubunt18.04 ros&#xff1a;melodic \u5de5\u4f5c\u7a7a\u95f4&#xff1a;UR_ws<\/p>\n<p>\u5199\u5728\u524d\u9762&#xff1a;\u6211\u4f7f\u7528\u7684\u662f\u6bd4\u8f83\u9ebb\u70e6\u7684\u65b9\u6cd5&#xff0c;\u4e5f\u5c31\u662f\u5c06\u4e24\u53f0UR3e\u7684URDF\u4e0e\u79fb\u52a8\u5e95\u76d8\u7684URDF\u5199\u5230\u4e00\u8d77\u4e86&#xff0c;\u7136\u540e\u901a\u8fc7display\u5c06\u4e00\u4e2a\u7279\u522b\u957f\u7684mobiledualarm.urdf\u4f7f\u7528RVIZ\u53ef\u89c6\u5316&#xff0c;\u6240\u4ee5\u6a21\u5757\u5316\u4e0d\u662f\u5f88\u597d&#xff0c;\u4f46\u6587\u7ae0\u7684\u6700\u540e\u4e5f\u4f1a\u4ecb\u7ecd\u4e00\u79cd\u6a21\u5757\u5316\u6bd4\u8f83\u597d\u7684\u65b9\u6cd5\u3002<\/p>\n<p>\u6240\u9700\u6750\u6599&#xff1a; 1\u3001\u79fb\u52a8\u5e95\u76d8\u7684URDF\u6a21\u578b&#xff0c;\u8def\u5f84\u4e3a&#xff1a;\/home\/dlut\/UR_ws\/src\/mobiledual0\/urdf\/mobiledual0.urdf<\/p>\n<p>2\u3001UR3e\u673a\u68b0\u81c2URDF&#xff0c;\u56e0\u4e3a\u6700\u65b0\u7684UR\u673a\u68b0\u81c2ros\u5305\u4e2d\u7684\u673a\u5668\u4eba\u6a21\u578b\u90fd\u662f\u4f7f\u7528xacro\u63cf\u8ff0&#xff0c;\u6240\u4ee5\u6211\u5148\u5c06ur3e.xacro\u8f6c\u4e3aur3e.urdf&#xff0c;\u53c2\u89c1\u6211\u4e4b\u524d\u7684\u535a\u5ba2 \u673a\u5668\u4ebaxacro\u6587\u4ef6\u8f6c\u6362\u6210urdf\u6587\u4ef6\u65b9\u6cd5&#xff0c;\u5e76\u5728rviz\u53ef\u89c6\u5316<\/p>\n<p>\u5c0fTip&#xff1a; UR5\u7684RVIZ\u53ef\u4ee5\u770b\u5230\u9ed1\u8272\u7684\u7535\u6e90\u7ebf&#xff0c;UR3e\u5c31\u770b\u4e0d\u5230 \u9ed1\u8272\u7535\u6e90\u7ebf\u6307\u5411Y\u8f74&#xff0c;\u5782\u76f4\u5411\u4e0a\u7684\u4e3aZ\u8f74&#xff0c;\u901a\u8fc7\u53f3\u624b\u5b9a\u5219\u786e\u5b9aX\u8f74<\/p>\n<p>\u5207\u8bb0&#xff1a;\u7535\u6e90\u7ebf\u6307\u5411Y\u8f74&#xff0c;\u6240\u4ee5\u5bf9\u5e94\u4e0ebase\u5750\u6807\u7cfb&#xff0c;\u800c\u4e0d\u662fbase_link\u5750\u6807\u7cfb&#xff01;&#xff01;&#xff01;&#xff01; <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250426022655-680c446fc713e.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h4>\u4e8c\u3001\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba<\/h4>\n<p>\u5728\/home\/dlut\/UR_ws\/src\/universal_robot\/ur_description\/urdf\u8def\u5f84\u4e0b\u521b\u5efamobiledualarm.urdf&#xff0c;\u5b8c\u6574\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">?<\/span>xml version<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.0&#034;<\/span> encoding<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;utf-8&#034;<\/span><span class=\"token operator\">?<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;<\/span> <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token operator\">|<\/span>    This document was autogenerated by xacro from ur3e<span class=\"token punctuation\">.<\/span>xacro                     <span class=\"token operator\">|<\/span> <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token operator\">|<\/span>    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 <span class=\"token operator\">|<\/span> <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;&#061;<\/span><span class=\"token operator\">&#061;<\/span> <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span>robot name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ur3e_robot&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span><br \/>\n    Base UR robot series xacro macro<span class=\"token punctuation\">.<\/span><\/p>\n<p>    NOTE<span class=\"token operator\">:<\/span> this is NOT a URDF<span class=\"token punctuation\">.<\/span> It cannot directly be loaded by consumers<br \/>\n    expecting a flattened <span class=\"token string\">&#039;.urdf&#039;<\/span> file<span class=\"token punctuation\">.<\/span> See the top<span class=\"token operator\">&#8211;<\/span>level <span class=\"token string\">&#039;.xacro&#039;<\/span> <span class=\"token keyword\">for<\/span> <span class=\"token function\">that<\/span><br \/>\n    <span class=\"token punctuation\">(<\/span>but note<span class=\"token operator\">:<\/span> that <span class=\"token punctuation\">.<\/span>xacro must still be processed by the xacro command<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><\/p>\n<p>    For use in <span class=\"token string\">&#039;.launch&#039;<\/span> files<span class=\"token operator\">:<\/span> use one of the <span class=\"token string\">&#039;load_urX.launch&#039;<\/span> convenience<br \/>\n    launch files<span class=\"token punctuation\">.<\/span><\/p>\n<p>    This file models the base kinematic chain of a UR robot<span class=\"token punctuation\">,<\/span> which then gets<br \/>\n    parameterised by various configuration files to convert it into a <span class=\"token function\">UR3<\/span><span class=\"token punctuation\">(<\/span>e<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token function\">UR5<\/span><span class=\"token punctuation\">(<\/span>e<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token function\">UR10<\/span><span class=\"token punctuation\">(<\/span>e<span class=\"token punctuation\">)<\/span> or UR16e<span class=\"token punctuation\">.<\/span><\/p>\n<p>    NOTE<span class=\"token operator\">:<\/span> the <span class=\"token keyword\">default<\/span> kinematic <span class=\"token function\">parameters<\/span> <span class=\"token punctuation\">(<\/span>ie<span class=\"token operator\">:<\/span> link lengths<span class=\"token punctuation\">,<\/span> frame locations<span class=\"token punctuation\">,<\/span><br \/>\n    offets<span class=\"token punctuation\">,<\/span> etc<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">do<\/span> not correspond to any particular robot<span class=\"token punctuation\">.<\/span> They are defaults<br \/>\n    only<span class=\"token punctuation\">.<\/span> There WILL be non<span class=\"token operator\">&#8211;<\/span>zero offsets between the Forward Kinematics results<br \/>\n    in <span class=\"token function\">TF<\/span> <span class=\"token punctuation\">(<\/span>ie<span class=\"token operator\">:<\/span> robot_state_publisher<span class=\"token punctuation\">)<\/span> and the values reported by the Teach<br \/>\n    Pendant<span class=\"token punctuation\">.<\/span><\/p>\n<p>    For <span class=\"token function\">accurate<\/span> <span class=\"token punctuation\">(<\/span>and robot<span class=\"token operator\">&#8211;<\/span>specific<span class=\"token punctuation\">)<\/span> transforms<span class=\"token punctuation\">,<\/span> the <span class=\"token string\">&#039;kinematics_parameters_file&#039;<\/span><br \/>\n    parameter MUST point to a <span class=\"token punctuation\">.<\/span>yaml file containing the appropriate values <span class=\"token keyword\">for<\/span><br \/>\n    the targetted robot<span class=\"token punctuation\">.<\/span><\/p>\n<p>    If using the UniversalRobots<span class=\"token operator\">\/<\/span>Universal_Robots_ROS_Driver<span class=\"token punctuation\">,<\/span> follow the steps<br \/>\n    described in the readme of that repository to extract the kinematic<br \/>\n    calibration from the controller and generate the required <span class=\"token punctuation\">.<\/span>yaml file<span class=\"token punctuation\">.<\/span><\/p>\n<p>    Main author of the migration to yaml configs<span class=\"token operator\">:<\/span> Ludovic Delval<span class=\"token punctuation\">.<\/span><\/p>\n<p>    Contributors to previous <span class=\"token function\">versions<\/span> <span class=\"token punctuation\">(<\/span>in no particular order<span class=\"token punctuation\">)<\/span><span class=\"token operator\">:<\/span><\/p>\n<p>     <span class=\"token operator\">&#8211;<\/span> Felix Messmer<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Kelsey Hawkins<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Wim Meeussen<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Shaun Edwards<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Nadia Hammoudeh Garcia<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Dave Hershberger<br \/>\n     <span class=\"token operator\">&#8211;<\/span> G<span class=\"token punctuation\">.<\/span> vd<span class=\"token punctuation\">.<\/span> Hoorn<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Philip Long<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Dave Coleman<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Miguel Prada<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Mathias Luedtke<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Marcel Schnirring<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Felix von Drigalski<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Felix Exner<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Jimmy Da Silva<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Ajit Krisshna N L<br \/>\n     <span class=\"token operator\">&#8211;<\/span> Muhammad Asif Rana<br \/>\n  <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span><br \/>\n    NOTE<span class=\"token operator\">:<\/span> the macro defined in this file is NOT part of the public API of this<br \/>\n          package<span class=\"token punctuation\">.<\/span> Users CANNOT rely on this file being available<span class=\"token punctuation\">,<\/span> or stored in<br \/>\n          this location<span class=\"token punctuation\">.<\/span> Nor can they rely on the existence of the macro<span class=\"token punctuation\">.<\/span><br \/>\n  <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>transmission name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_pan_trans&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>type<span class=\"token operator\">&gt;<\/span>transmission_interface<span class=\"token operator\">\/<\/span>SimpleTransmission<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>type<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_pan_joint&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span>hardware_interface<span class=\"token operator\">\/<\/span>PositionJointInterface<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>actuator name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_pan_motor&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>actuator<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>transmission<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>transmission name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_lift_trans&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>type<span class=\"token operator\">&gt;<\/span>transmission_interface<span class=\"token operator\">\/<\/span>SimpleTransmission<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>type<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_lift_joint&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span>hardware_interface<span class=\"token operator\">\/<\/span>PositionJointInterface<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>actuator name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_lift_motor&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>actuator<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>transmission<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>transmission name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;elbow_trans&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>type<span class=\"token operator\">&gt;<\/span>transmission_interface<span class=\"token operator\">\/<\/span>SimpleTransmission<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>type<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;elbow_joint&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span>hardware_interface<span class=\"token operator\">\/<\/span>PositionJointInterface<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>actuator name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;elbow_motor&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>actuator<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>transmission<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>transmission name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_trans&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>type<span class=\"token operator\">&gt;<\/span>transmission_interface<span class=\"token operator\">\/<\/span>SimpleTransmission<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>type<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_joint&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span>hardware_interface<span class=\"token operator\">\/<\/span>PositionJointInterface<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>actuator name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_motor&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>actuator<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>transmission<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>transmission name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_trans&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>type<span class=\"token operator\">&gt;<\/span>transmission_interface<span class=\"token operator\">\/<\/span>SimpleTransmission<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>type<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_joint&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span>hardware_interface<span class=\"token operator\">\/<\/span>PositionJointInterface<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>actuator name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_motor&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>actuator<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>transmission<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>transmission name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_trans&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>type<span class=\"token operator\">&gt;<\/span>transmission_interface<span class=\"token operator\">\/<\/span>SimpleTransmission<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>type<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_joint&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span>hardware_interface<span class=\"token operator\">\/<\/span>PositionJointInterface<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>hardwareInterface<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>actuator name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_motor&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><span class=\"token number\">1<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>mechanicalReduction<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>actuator<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>transmission<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> links<span class=\"token operator\">:<\/span> main serial chain <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link_inertia&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/base.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/base.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;2.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0030531654454&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0030531654454&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.005625&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/shoulder.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/shoulder.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;2.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0080931634294&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0080931634294&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.005625&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;upper_arm_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.12&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/upperarm.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.12&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/upperarm.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.42&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 1.57079632679 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.121825 0.0 0.12&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0217284832211&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0217284832211&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00961875&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;forearm_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.027&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/forearm.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.027&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/forearm.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.26&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 1.57079632679 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.1066 0.0 0.027&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00654456758217&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00654456758217&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00354375&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> TODO<span class=\"token operator\">:<\/span> Move this to a parameter <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.104&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/wrist1.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.104&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/wrist1.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.8&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00225&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.08535&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/wrist2.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.08535&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/wrist2.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.8&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00225&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.0921&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/wrist3.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.0921&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/wrist3.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.35&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0 0.0 -0.02&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00013626661216&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00013626661216&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0001792&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> joints<span class=\"token operator\">:<\/span> main serial chain <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link-base_link_inertia&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link_inertia&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token string\">&#039;base_link&#039;<\/span> is REP<span class=\"token operator\">&#8211;<\/span><span class=\"token number\">103<\/span> <span class=\"token function\">aligned<\/span> <span class=\"token punctuation\">(<\/span>so X<span class=\"token operator\">&#043;<\/span> forward<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">while<\/span> the internal<br \/>\n           frames of the robot<span class=\"token operator\">\/<\/span>controller have X<span class=\"token operator\">&#043;<\/span> pointing backwards<span class=\"token punctuation\">.<\/span><br \/>\n           Use the joint between <span class=\"token string\">&#039;base_link&#039;<\/span> and <span class=\"token string\">&#039;base_link_inertia&#039;<\/span> <span class=\"token punctuation\">(<\/span>a dummy<br \/>\n           link<span class=\"token operator\">\/<\/span>frame<span class=\"token punctuation\">)<\/span> to introduce the necessary rotation over <span class=\"token function\">Z<\/span> <span class=\"token punctuation\">(<\/span>of pi rad<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><br \/>\n      <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_pan_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link_inertia&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.15185&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;56.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_lift_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;upper_arm_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.570796327 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;56.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;elbow_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;upper_arm_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;forearm_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.24355 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;28.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-3.14159265359&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;forearm_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.2132 0 0.13105&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;12.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.570796327 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 -0.08535 -1.75055776238e-11&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;12.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632659 3.14159265359 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0.0921 -1.88900257663e-11&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;12.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> ROS<span class=\"token operator\">&#8211;<\/span>Industrial <span class=\"token string\">&#039;base&#039;<\/span> frame<span class=\"token operator\">:<\/span> base_link to UR <span class=\"token string\">&#039;Base&#039;<\/span> Coordinates transform <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link-base_fixed_joint&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> Note the rotation over Z of pi radians<span class=\"token operator\">:<\/span> as base_link is REP<span class=\"token operator\">&#8211;<\/span><span class=\"token number\">103<\/span><br \/>\n           <span class=\"token function\">aligned<\/span> <span class=\"token punctuation\">(<\/span>ie<span class=\"token operator\">:<\/span> has X<span class=\"token operator\">&#043;<\/span> forward<span class=\"token punctuation\">,<\/span> Y<span class=\"token operator\">&#043;<\/span> left and Z<span class=\"token operator\">&#043;<\/span> up<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> this is needed<br \/>\n           to correctly align <span class=\"token string\">&#039;base&#039;<\/span> with the <span class=\"token string\">&#039;Base&#039;<\/span> coordinate system of<br \/>\n           the UR controller<span class=\"token punctuation\">.<\/span><br \/>\n      <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> ROS<span class=\"token operator\">&#8211;<\/span>Industrial <span class=\"token string\">&#039;flange&#039;<\/span> frame<span class=\"token operator\">:<\/span> attachment point <span class=\"token keyword\">for<\/span> EEF models <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3-flange&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_link&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 -1.57079632679 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> ROS<span class=\"token operator\">&#8211;<\/span>Industrial <span class=\"token string\">&#039;tool0&#039;<\/span> frame<span class=\"token operator\">:<\/span> all<span class=\"token operator\">&#8211;<\/span>zeros tool frame <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;tool0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange-tool0&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token keyword\">default<\/span> toolframe<span class=\"token operator\">:<\/span> X<span class=\"token operator\">&#043;<\/span> left<span class=\"token punctuation\">,<\/span> Y<span class=\"token operator\">&#043;<\/span> up<span class=\"token punctuation\">,<\/span> Z<span class=\"token operator\">&#043;<\/span> front <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;tool0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><\/p>\n<p> <span class=\"token operator\">&lt;<\/span>link<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carbase_link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.0140111046811873 -0.330409001171163 -0.018140368676531&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass<br \/>\n        value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;76.2642102199291&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia<br \/>\n        ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.972296954133458&#034;<\/span><br \/>\n        ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.000515756621916056&#034;<\/span><br \/>\n        ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.00353288568959439&#034;<\/span><br \/>\n        iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.50934157151189&#034;<\/span><br \/>\n        iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.00286721103188841&#034;<\/span><br \/>\n        izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.879992661015933&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh<br \/>\n          filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/mobiledual0\/meshes\/carbase_link.STL&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material<br \/>\n        name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color<br \/>\n          rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1 1 1 1&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh<br \/>\n          filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/mobiledual0\/meshes\/carbase_link.STL&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero_Link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-1.63363273751604E-06 -3.7029008717604E-06 -0.00390801617468592&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass<br \/>\n        value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.128076565751948&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia<br \/>\n        ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.000250652352757893&#034;<\/span><br \/>\n        ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.42284195681717E-08&#034;<\/span><br \/>\n        ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-1.92457822817621E-11&#034;<\/span><br \/>\n        iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.000161503892530106&#034;<\/span><br \/>\n        iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-4.36237731444375E-11&#034;<\/span><br \/>\n        izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0004107608466446&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh<br \/>\n          filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/mobiledual0\/meshes\/carzero_Link.STL&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material<br \/>\n        name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color<br \/>\n          rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1 1 1 1&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh<br \/>\n          filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/mobiledual0\/meshes\/carzero_Link.STL&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;joint1&#034;<\/span><br \/>\n    type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin<br \/>\n      xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.163999999999972 -0.212101076872553 0.111375924854946&#034;<\/span><br \/>\n      rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 -0.785398163397473 1.5707963267949&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent<br \/>\n      link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carbase_link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child<br \/>\n      link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero_Link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis<br \/>\n      xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero2_Link&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-1.63363273940342E-06 3.70290087184366E-06 -0.00409198382531417&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass<br \/>\n        value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.128076565751948&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia<br \/>\n        ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.000250652352757893&#034;<\/span><br \/>\n        ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-1.42284195686405E-08&#034;<\/span><br \/>\n        ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.92457822953147E-11&#034;<\/span><br \/>\n        iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.000161503892530106&#034;<\/span><br \/>\n        iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-4.36237731693912E-11&#034;<\/span><br \/>\n        izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.000410760846644599&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh<br \/>\n          filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/mobiledual0\/meshes\/carzero2_Link.STL&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material<br \/>\n        name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color<br \/>\n          rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1 1 1 1&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin<br \/>\n        xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><br \/>\n        rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh<br \/>\n          filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/mobiledual0\/meshes\/carzero2_Link.STL&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;joint2&#034;<\/span><br \/>\n    type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin<br \/>\n      xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0.327999999999944 0.000183967650620315&#034;<\/span><br \/>\n      rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent<br \/>\n      link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero_Link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child<br \/>\n      link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero2_Link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis<br \/>\n      xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><\/p>\n<p>  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;right_arm_attach&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero2_Link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0.0 0&#034;<\/span> rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span> <\/p>\n<p><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> links<span class=\"token operator\">:<\/span> main serial chain <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link_inertia1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/base.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/base.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;2.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0030531654454&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0030531654454&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.005625&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_link1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/shoulder.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/shoulder.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;2.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0080931634294&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0080931634294&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.005625&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;upper_arm_link1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.12&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/upperarm.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.12&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/upperarm.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.42&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 1.57079632679 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.121825 0.0 0.12&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0217284832211&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0217284832211&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00961875&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;forearm_link1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.027&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/forearm.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.027&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/forearm.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.26&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 1.57079632679 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.1066 0.0 0.027&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00654456758217&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00654456758217&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00354375&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_link1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> TODO<span class=\"token operator\">:<\/span> Move this to a parameter <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.104&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/wrist1.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.104&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/wrist1.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.8&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00225&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_link1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.08535&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/wrist2.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.08535&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/wrist2.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.8&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.002084999166&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00225&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_link1&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.0921&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/visual\/wrist3.dae&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>material name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;LightGrey&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>color rgba<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.7 0.7 0.7 1.0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>material<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>visual<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 -0.0921&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n        <span class=\"token operator\">&lt;<\/span>mesh filename<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;package:\/\/ur_description\/meshes\/ur3e\/collision\/wrist3.stl&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>geometry<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>collision<span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>mass value<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.35&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0 0.0 -0.02&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n      <span class=\"token operator\">&lt;<\/span>inertia ixx<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00013626661216&#034;<\/span> ixy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> ixz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> iyy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.00013626661216&#034;<\/span> iyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0&#034;<\/span> izz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0.0001792&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>inertial<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>link<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> joints<span class=\"token operator\">:<\/span> main serial chain <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link-base_link_inertia1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link_inertia1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token string\">&#039;base_link&#039;<\/span> is REP<span class=\"token operator\">&#8211;<\/span><span class=\"token number\">103<\/span> <span class=\"token function\">aligned<\/span> <span class=\"token punctuation\">(<\/span>so X<span class=\"token operator\">&#043;<\/span> forward<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">while<\/span> the internal<br \/>\n           frames of the robot<span class=\"token operator\">\/<\/span>controller have X<span class=\"token operator\">&#043;<\/span> pointing backwards<span class=\"token punctuation\">.<\/span><br \/>\n           Use the joint between <span class=\"token string\">&#039;base_link&#039;<\/span> and <span class=\"token string\">&#039;base_link_inertia&#039;<\/span> <span class=\"token punctuation\">(<\/span>a dummy<br \/>\n           link<span class=\"token operator\">\/<\/span>frame<span class=\"token punctuation\">)<\/span> to introduce the necessary rotation over <span class=\"token function\">Z<\/span> <span class=\"token punctuation\">(<\/span>of pi rad<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><br \/>\n      <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_pan_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link_inertia1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0.15185&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;56.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_lift_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;shoulder_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;upper_arm_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.570796327 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;56.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;elbow_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;upper_arm_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;forearm_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.24355 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;28.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-3.14159265359&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;3.14159265359&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;forearm_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-0.2132 0 0.13105&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;12.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_1_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.570796327 0 0&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 -0.08535 -1.75055776238e-11&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;12.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;revolute&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_2_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632659 3.14159265359 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0.0921 -1.88900257663e-11&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>axis xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>limit effort<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;12.0&#034;<\/span> lower<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-6.28318530718&#034;<\/span> upper<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span> velocity<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;6.28318530718&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>dynamics damping<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span> friction<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> ROS<span class=\"token operator\">&#8211;<\/span>Industrial <span class=\"token string\">&#039;base&#039;<\/span> frame<span class=\"token operator\">:<\/span> base_link to UR <span class=\"token string\">&#039;Base&#039;<\/span> Coordinates transform <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link-base_fixed_joint1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> Note the rotation over Z of pi radians<span class=\"token operator\">:<\/span> as base_link is REP<span class=\"token operator\">&#8211;<\/span><span class=\"token number\">103<\/span><br \/>\n           <span class=\"token function\">aligned<\/span> <span class=\"token punctuation\">(<\/span>ie<span class=\"token operator\">:<\/span> has X<span class=\"token operator\">&#043;<\/span> forward<span class=\"token punctuation\">,<\/span> Y<span class=\"token operator\">&#043;<\/span> left and Z<span class=\"token operator\">&#043;<\/span> up<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> this is needed<br \/>\n           to correctly align <span class=\"token string\">&#039;base&#039;<\/span> with the <span class=\"token string\">&#039;Base&#039;<\/span> coordinate system of<br \/>\n           the UR controller<span class=\"token punctuation\">.<\/span><br \/>\n      <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 3.14159265359&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> ROS<span class=\"token operator\">&#8211;<\/span>Industrial <span class=\"token string\">&#039;flange&#039;<\/span> frame<span class=\"token operator\">:<\/span> attachment point <span class=\"token keyword\">for<\/span> EEF models <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3-flange1&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;wrist_3_link1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 -1.57079632679 -1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> ROS<span class=\"token operator\">&#8211;<\/span>Industrial <span class=\"token string\">&#039;tool0&#039;<\/span> frame<span class=\"token operator\">:<\/span> all<span class=\"token operator\">&#8211;<\/span>zeros tool frame <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>link name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;tool01&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange-tool01&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">&#8212;<\/span> <span class=\"token keyword\">default<\/span> toolframe<span class=\"token operator\">:<\/span> X<span class=\"token operator\">&#043;<\/span> left<span class=\"token punctuation\">,<\/span> Y<span class=\"token operator\">&#043;<\/span> up<span class=\"token punctuation\">,<\/span> Z<span class=\"token operator\">&#043;<\/span> front <span class=\"token operator\">&#8212;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;1.57079632679 0 1.57079632679&#034;<\/span> xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;flange1&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;tool01&#034;<\/span><span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span><\/p>\n<p>  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;left_arm_attach&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link1&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero_Link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0.0 0&#034;<\/span> rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span> <\/p>\n<p><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>robot<span class=\"token operator\">&gt;<\/span><\/p>\n<p>\u6574\u4e2a\u4ee3\u7801\u7684\u903b\u8f91\u5c31\u662f\u5c06\u4e24\u53f0UR\u673a\u68b0\u81c2\u7684URDF\u4e0e\u79fb\u52a8\u5e95\u76d8\u7684URDF\u6574\u5408\u5230\u4e00\u8d77&#xff0c;\u9700\u8981\u6ce8\u610f\u7684\u4e09\u4e2a\u5730\u65b9\u662f 1\u3001\u56e0\u4e3a\u4e24\u4e2aUR3e\u673a\u68b0\u81c2\u7684URDF\u6a21\u578b\u5728\u540c\u4e00\u4e2a\u6587\u4ef6\u4e0b&#xff0c;\u6240\u4ee5\u9700\u8981\u91cd\u547d\u540d\u7b2c\u4e8c\u4e2a\u673a\u68b0\u81c2\u7684\u6240\u4ee5\u5173\u8282\u548c\u8fde\u6746\u7684\u540d\u79f0&#xff0c;\u907f\u514d\u91cd\u590d\u3002\u6211\u628a\u5de6\u81c2\u6240\u6709\u5173\u8282\u548c\u8fde\u6746\u540d\u79f0\u7684\u540e\u9762\u90fd\u52a0\u4e86\u4e00\u4e2a1&#xff0c;\u5de6\u81c2\u4ee3\u7801\u4e3a520-768\u884c&#xff1b;\u53f3\u81c2\u4ee3\u7801\u4e3a1-358\u884c&#xff1b;\u79fb\u52a8\u5e95\u76d8\u4ee3\u7801360-511\u884c<\/p>\n<p>2\u3001\u9664\u4e86\u7b80\u5355\u7684\u5c06\u4e09\u90e8\u5206\u7684urdf\u590d\u5236\u5230\u4e00\u8d77&#xff0c;\u6211\u8fd8\u989d\u5916\u521b\u5efa\u4e86\u4e24\u4e2a\u5173\u8282&#xff0c;\u7528\u4e8e\u8fde\u63a5\u5de6\u81c2\u548c\u79fb\u52a8\u5e95\u76d8\u3001\u4ee5\u53ca\u8fde\u63a5\u53f3\u81c2\u548c\u79fb\u52a8\u5e95\u76d8\u3002 \u4ee5\u53f3\u81c2\u4e3a\u4f8b&#xff0c;\u5177\u4f53\u4e3a&#xff1a;<\/p>\n<p>  <span class=\"token operator\">&lt;<\/span>joint name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;right_arm_attach&#034;<\/span> type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;fixed&#034;<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>child link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;base_link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>parent link<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;carzero2_Link&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n    <span class=\"token operator\">&lt;<\/span>origin xyz<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0.0 0&#034;<\/span> rpy<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;0 0 0&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>joint<span class=\"token operator\">&gt;<\/span> <\/p>\n<p>3\u3001\u5982\u679c\u62a5\u9519Failed to find root link: Two root links found: [base_link1] and [carbase_link] \u90a3\u662f\u56e0\u4e3a&#xff1a;robot_state_publisher\u5728\u5904\u7406URDF\u65f6\u53d1\u73b0\u4e24\u4e2a\u6839\u94fe\u63a5&#xff08;base_link\u548ccarbase_link&#xff09;&#xff0c;\u5bfc\u81f4\u65e0\u6cd5\u6784\u5efaTF\u6811\u3002ROS\u8981\u6c42URDF\u53ea\u6709\u4e00\u4e2a\u6839\u94fe\u63a5&#xff08;\u5373\u6ca1\u6709\u7236\u94fe\u63a5\u7684\u94fe\u63a5&#xff09;&#xff0c;\u5426\u5219\u4f1a\u62a5\u201cFailed to find root link\u201d\u9519\u8bef\u3002 \u6240\u4ee5\u7b2c2\u6b65\u5c31\u662f\u89e3\u51b3\u529e\u6cd5&#xff0c;\u65b0\u5efa\u4e00\u4e2a\u5173\u8282&#xff0c;\u5c06\u673a\u68b0\u81c2\u7684base_link\u4e0e\u5c0f\u8f66\u7684carzero2_Link\u4e32\u8054\u5230\u4e00\u8d77\u3002<\/p>\n<h4>\u4e09\u3001RViz\u53ef\u89c6\u5316<\/h4>\n<p>\u5355\u81c2\u53ef\u89c6\u5316&#xff1a;<\/p>\n<p>cd UR_ws<br \/>\nsource devel<span class=\"token operator\">\/<\/span>setup<span class=\"token punctuation\">.<\/span>bash<br \/>\nroslaunch ur_description view_ur3e<span class=\"token punctuation\">.<\/span>launch<\/p>\n<p>\u53cc\u81c2\u53ef\u89c6\u5316&#xff1a;<\/p>\n<p>cd UR_ws<br \/>\nsource devel<span class=\"token operator\">\/<\/span>setup<span class=\"token punctuation\">.<\/span>bash<br \/>\nroslaunch ur_description display<span class=\"token punctuation\">.<\/span>launch<\/p>\n<p>\u5176\u4e2ddisplay.launch\u5b8c\u6574\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token operator\">&lt;<\/span>launch<span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>arg<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;model&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>param<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;robot_description&#034;<\/span><br \/>\n    textfile<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;$(find ur_description)\/urdf\/mobiledualarm.urdf&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>node<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;joint_state_publisher_gui&#034;<\/span><br \/>\n    pkg<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;joint_state_publisher_gui&#034;<\/span><br \/>\n    type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;joint_state_publisher_gui&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>node<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;robot_state_publisher&#034;<\/span><br \/>\n    pkg<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;robot_state_publisher&#034;<\/span><br \/>\n    type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;robot_state_publisher&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n  <span class=\"token operator\">&lt;<\/span>node<br \/>\n    name<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rviz&#034;<\/span><br \/>\n    pkg<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rviz&#034;<\/span><br \/>\n    type<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;rviz&#034;<\/span><br \/>\n    args<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;-d $(find ur_description)\/urdf.rviz&#034;<\/span> <span class=\"token operator\">\/<\/span><span class=\"token operator\">&gt;<\/span><br \/>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>launch<span class=\"token operator\">&gt;<\/span><\/p>\n<p>\u56db\u3001\u6548\u679c\u5c55\u793a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250426022656-680c44701d1df.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h4>\u4e94\u3001\u6a21\u5757\u5316\u65b9\u6cd5&#xff08;\u4f9b\u53c2\u8003&#xff09;<\/h4>\n<p>\u8fd9\u91cc\u6211\u91cd\u5efa\u521b\u5efa\u4e86\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4&#xff1a;DualUR_ws<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb554\u6b21\uff0c\u70b9\u8d5e5\u6b21\uff0c\u6536\u85cf12\u6b21\u3002\u6211\u4f7f\u7528\u7684\u662f\u6bd4\u8f83\u9ebb\u70e6\u7684\u65b9\u6cd5\uff0c\u4e5f\u5c31\u662f\u5c06\u4e24\u53f0UR3e\u7684URDF\u4e0e\u79fb\u52a8\u5e95\u76d8\u7684URDF\u5199\u5230\u4e00\u8d77\u4e86\uff0c\u7136\u540e\u901a\u8fc7display\u5c06\u4e00\u4e2a\u7279\u522b\u957f\u7684\u3002<\/p>\n","protected":false},"author":2,"featured_media":33012,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[384],"topic":[],"class_list":["post-33014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-384"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/33014.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb554\u6b21\uff0c\u70b9\u8d5e5\u6b21\uff0c\u6536\u85cf12\u6b21\u3002\u6211\u4f7f\u7528\u7684\u662f\u6bd4\u8f83\u9ebb\u70e6\u7684\u65b9\u6cd5\uff0c\u4e5f\u5c31\u662f\u5c06\u4e24\u53f0UR3e\u7684URDF\u4e0e\u79fb\u52a8\u5e95\u76d8\u7684URDF\u5199\u5230\u4e00\u8d77\u4e86\uff0c\u7136\u540e\u901a\u8fc7display\u5c06\u4e00\u4e2a\u7279\u522b\u957f\u7684\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/33014.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-26T02:26:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250426022655-680c446fc713e.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/33014.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/33014.html\",\"name\":\"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-04-26T02:26:57+00:00\",\"dateModified\":\"2025-04-26T02:26:57+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/33014.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/33014.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/33014.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/33014.html","og_locale":"zh_CN","og_type":"article","og_title":"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb554\u6b21\uff0c\u70b9\u8d5e5\u6b21\uff0c\u6536\u85cf12\u6b21\u3002\u6211\u4f7f\u7528\u7684\u662f\u6bd4\u8f83\u9ebb\u70e6\u7684\u65b9\u6cd5\uff0c\u4e5f\u5c31\u662f\u5c06\u4e24\u53f0UR3e\u7684URDF\u4e0e\u79fb\u52a8\u5e95\u76d8\u7684URDF\u5199\u5230\u4e00\u8d77\u4e86\uff0c\u7136\u540e\u901a\u8fc7display\u5c06\u4e00\u4e2a\u7279\u522b\u957f\u7684\u3002","og_url":"https:\/\/www.wsisp.com\/helps\/33014.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-04-26T02:26:57+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/04\/20250426022655-680c446fc713e.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"21 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/33014.html","url":"https:\/\/www.wsisp.com\/helps\/33014.html","name":"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-04-26T02:26:57+00:00","dateModified":"2025-04-26T02:26:57+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/33014.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/33014.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/33014.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u5982\u4f55\u4f7f\u7528URDF\u642d\u5efa\u53cc\u81c2UR\u79fb\u52a8\u673a\u5668\u4eba\uff0c\u5e76\u5728RViz\u4e2d\u53ef\u89c6\u5316"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/33014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=33014"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/33014\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/33012"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=33014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=33014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=33014"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=33014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}