Commit 49a7ebda2dedbd59296b2d2cd617225d149c3487

Authored by Ricardo Rico Uribe
1 parent 169f4960

rviz launch working

aquanaute_description/.vscode/c_cpp_properties.json 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +{
  2 + "configurations": [
  3 + {
  4 + "browse": {
  5 + "databaseFilename": "",
  6 + "limitSymbolsToIncludedHeaders": true
  7 + },
  8 + "includePath": [
  9 + "/opt/ros/melodic/include/**",
  10 + "/usr/include/**"
  11 + ],
  12 + "name": "ROS",
  13 + "intelliSenseMode": "gcc-x64",
  14 + "compilerPath": "/usr/bin/gcc",
  15 + "cStandard": "gnu11",
  16 + "cppStandard": "gnu++14"
  17 + }
  18 + ],
  19 + "version": 4
  20 +}
0 21 \ No newline at end of file
... ...
aquanaute_description/.vscode/settings.json 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +{
  2 + "ros.distro": "melodic",
  3 + "python.autoComplete.extraPaths": [
  4 + "/opt/ros/melodic/lib/python2.7/dist-packages"
  5 + ],
  6 + "cmake.configureOnOpen": true
  7 +}
0 8 \ No newline at end of file
... ...
aquanaute_description/CMakeList.txt renamed to aquanaute_description/CMakeLists.txt
1 1 cmake_minimum_required(VERSION 2.8.3)
2 2 project(aquanaute_description)
3 3  
4   -find_package(catkin REQUIRED COMPONENTS roslaunch)
5   -
6   -catkin_package()
  4 +find_package(catkin REQUIRED COMPONENTS
  5 + controller_manager
  6 + gazebo_ros
  7 + joint_state_publisher
  8 + robot_state_publisher
  9 + rospy
  10 + rviz
  11 + roslaunch
  12 +)
7 13  
8 14 roslaunch_add_file_check(launch)
9 15  
  16 +catkin_package()
  17 +
10 18 install(
11 19 DIRECTORY launch meshes urdf
12 20 DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
... ...
aquanaute_description/launch/description.launch
1 1 <launch>
2   -
3 2 <arg name="robot_namespace" default="aquanaute"/>
4 3  
5   - <param name="robot_description" command="$(find husky_description)/urdf/aquanaute.urdf
6   - robot_namespace:=$(arg robot_namespace)
7   - " />
  4 + <param name="robot_description" command="cat $(find aquanaute_description)/urdf/aquanaute.urdf"/>
  5 +
  6 + <!-- send fake joint values -->
  7 + <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
  8 + <param name="joint_state_publisher_gui" value="false"/>
  9 + </node>
  10 +
  11 + <!-- Combine joint values -->
  12 + <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/>
  13 +
  14 + <!-- Show in Rviz -->
  15 + <node name="rviz" pkg="rviz" type="rviz" args="-d $(find aquanaute_description)/rviz/aquanaute.rviz"/>
8 16  
9 17 </launch>
10 18  
... ...
aquanaute_description/models/mesh/Hull.stl deleted
No preview for this file type
aquanaute_description/models/mesh/Motor.stl deleted
No preview for this file type
aquanaute_description/models/mesh/Platform.stl deleted
No preview for this file type
aquanaute_description/models/mesh/sensor_frame.stl deleted
No preview for this file type
aquanaute_description/models/mesh/Assambly_aquanaute.stl renamed to aquanaute_description/models/meshes/Assambly_aquanaute.stl
No preview for this file type
aquanaute_description/models/meshes/Hull.stl 0 → 100644
No preview for this file type
aquanaute_description/models/meshes/Motor.stl 0 → 100644
No preview for this file type
aquanaute_description/models/meshes/Platform.stl 0 → 100644
No preview for this file type
aquanaute_description/models/meshes/sensor_frame.stl 0 → 100644
No preview for this file type
aquanaute_description/package.xml
1 1 <?xml version="1.0"?>
2 2 <package>
3 3 <name>aquanaute_description</name>
4   - <version>0.4.2</version>
  4 + <version>0.0.1</version>
5 5 <description>Aquanaute Boat URDF description</description>
  6 + <author email="ricardorico0527@gmail.com">Ricardo RICO URIBE</author>
  7 + <maintainer email="ricardorico0527@gmail.com">Ricardo RICO URIBE</maintainer>
  8 + <license>BSD</license>
6 9  
7 10 <buildtool_depend>catkin</buildtool_depend>
8 11 <build_depend>roslaunch</build_depend>
... ...
aquanaute_description/rviz/aquanaute.rviz 0 → 100644
... ... @@ -0,0 +1,192 @@
  1 +Panels:
  2 + - Class: rviz/Displays
  3 + Help Height: 78
  4 + Name: Displays
  5 + Property Tree Widget:
  6 + Expanded:
  7 + - /Global Options1
  8 + Splitter Ratio: 0.5
  9 + Tree Height: 719
  10 + - Class: rviz/Selection
  11 + Name: Selection
  12 + - Class: rviz/Tool Properties
  13 + Expanded:
  14 + - /2D Pose Estimate1
  15 + - /2D Nav Goal1
  16 + - /Publish Point1
  17 + Name: Tool Properties
  18 + Splitter Ratio: 0.5886790156364441
  19 + - Class: rviz/Views
  20 + Expanded:
  21 + - /Current View1
  22 + Name: Views
  23 + Splitter Ratio: 0.5
  24 + - Class: rviz/Time
  25 + Experimental: false
  26 + Name: Time
  27 + SyncMode: 0
  28 + SyncSource: ""
  29 +Preferences:
  30 + PromptSaveOnExit: true
  31 +Toolbars:
  32 + toolButtonStyle: 2
  33 +Visualization Manager:
  34 + Class: ""
  35 + Displays:
  36 + - Alpha: 0.5
  37 + Cell Size: 1
  38 + Class: rviz/Grid
  39 + Color: 160; 160; 164
  40 + Enabled: true
  41 + Line Style:
  42 + Line Width: 0.029999999329447746
  43 + Value: Lines
  44 + Name: Grid
  45 + Normal Cell Count: 0
  46 + Offset:
  47 + X: 0
  48 + Y: 0
  49 + Z: 0
  50 + Plane: XY
  51 + Plane Cell Count: 10
  52 + Reference Frame: <Fixed Frame>
  53 + Value: true
  54 + - Class: rviz/TF
  55 + Enabled: true
  56 + Frame Timeout: 15
  57 + Frames:
  58 + All Enabled: true
  59 + base_link:
  60 + Value: true
  61 + left_hull_link:
  62 + Value: true
  63 + motor_link:
  64 + Value: true
  65 + right_hull_link:
  66 + Value: true
  67 + sensor_frame_link:
  68 + Value: true
  69 + Marker Scale: 1
  70 + Name: TF
  71 + Show Arrows: true
  72 + Show Axes: true
  73 + Show Names: true
  74 + Tree:
  75 + base_link:
  76 + left_hull_link:
  77 + {}
  78 + motor_link:
  79 + {}
  80 + right_hull_link:
  81 + {}
  82 + sensor_frame_link:
  83 + {}
  84 + Update Interval: 0
  85 + Value: true
  86 + - Alpha: 1
  87 + Class: rviz/RobotModel
  88 + Collision Enabled: false
  89 + Enabled: true
  90 + Links:
  91 + All Links Enabled: true
  92 + Expand Joint Details: false
  93 + Expand Link Details: false
  94 + Expand Tree: false
  95 + Link Tree Style: Links in Alphabetic Order
  96 + base_link:
  97 + Alpha: 1
  98 + Show Axes: false
  99 + Show Trail: false
  100 + Value: true
  101 + left_hull_link:
  102 + Alpha: 1
  103 + Show Axes: false
  104 + Show Trail: false
  105 + Value: true
  106 + motor_link:
  107 + Alpha: 1
  108 + Show Axes: false
  109 + Show Trail: false
  110 + Value: true
  111 + right_hull_link:
  112 + Alpha: 1
  113 + Show Axes: false
  114 + Show Trail: false
  115 + Value: true
  116 + sensor_frame_link:
  117 + Alpha: 1
  118 + Show Axes: false
  119 + Show Trail: false
  120 + Value: true
  121 + Name: RobotModel
  122 + Robot Description: robot_description
  123 + TF Prefix: ""
  124 + Update Interval: 0
  125 + Value: true
  126 + Visual Enabled: true
  127 + Enabled: true
  128 + Global Options:
  129 + Background Color: 200; 200; 200
  130 + Default Light: true
  131 + Fixed Frame: base_link
  132 + Frame Rate: 30
  133 + Name: root
  134 + Tools:
  135 + - Class: rviz/Interact
  136 + Hide Inactive Objects: true
  137 + - Class: rviz/MoveCamera
  138 + - Class: rviz/Select
  139 + - Class: rviz/FocusCamera
  140 + - Class: rviz/Measure
  141 + - Class: rviz/SetInitialPose
  142 + Theta std deviation: 0.2617993950843811
  143 + Topic: /initialpose
  144 + X std deviation: 0.5
  145 + Y std deviation: 0.5
  146 + - Class: rviz/SetGoal
  147 + Topic: /move_base_simple/goal
  148 + - Class: rviz/PublishPoint
  149 + Single click: true
  150 + Topic: /clicked_point
  151 + Value: true
  152 + Views:
  153 + Current:
  154 + Class: rviz/Orbit
  155 + Distance: 4.446293830871582
  156 + Enable Stereo Rendering:
  157 + Stereo Eye Separation: 0.05999999865889549
  158 + Stereo Focal Distance: 1
  159 + Swap Stereo Eyes: false
  160 + Value: false
  161 + Focal Point:
  162 + X: 0
  163 + Y: 0
  164 + Z: 0
  165 + Focal Shape Fixed Size: false
  166 + Focal Shape Size: 0.05000000074505806
  167 + Invert Z Axis: false
  168 + Name: Current View
  169 + Near Clip Distance: 0.009999999776482582
  170 + Pitch: 0.5553984045982361
  171 + Target Frame: <Fixed Frame>
  172 + Value: Orbit (rviz)
  173 + Yaw: 1.010398030281067
  174 + Saved: ~
  175 +Window Geometry:
  176 + Displays:
  177 + collapsed: false
  178 + Height: 1016
  179 + Hide Left Dock: false
  180 + Hide Right Dock: false
  181 + QMainWindow State: 000000ff00000000fd0000000400000000000001560000035afc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000035a000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007430000003efc0100000002fb0000000800540069006d0065010000000000000743000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000004d20000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
  182 + Selection:
  183 + collapsed: false
  184 + Time:
  185 + collapsed: false
  186 + Tool Properties:
  187 + collapsed: false
  188 + Views:
  189 + collapsed: false
  190 + Width: 1859
  191 + X: 1981
  192 + Y: 27
... ...
aquanaute_description/urdf/aquanaute.urdf
1 1 <?xml version="1.0"?>
2 2 <robot name="aquanaute">
3   - <!-- Macro for creating the main collisions as simple shapes. -->
4   - <xacro:macro name="main_collisions" params="prefix reflect:=1">
5   - <!-- Main float -->
6   - <collision name="${prefix}_float">
7   - <origin xyz="-0.4 ${1.03*reflect} 0.2" rpy="${0*reflect} 1.57 0" />
8   - <geometry>
9   - <cylinder length="4" radius="0.2" />
10   - </geometry>
11   - </collision>
12   -
13   - <collision name="${prefix}_mid_float">
14   - <origin xyz="1.85 ${1.03*reflect} 0.3" rpy="${0*reflect} 1.38 0" />
15   - <geometry>
16   - <cylinder length="0.5" radius="0.17" />
17   - </geometry>
18   - </collision>
19   - <collision name="${prefix}_front_float">
20   - <origin xyz="2.3 ${1.03*reflect} 0.4" rpy="${0*reflect} 1.3 0" />
21   - <geometry>
22   - <cylinder length="0.45" radius="0.12" />
23   - </geometry>
24   - </collision>
25   -
26   - <!-- Front beam -->
27   - <collision name="front_${prefix}_beam_lower">
28   - <origin xyz="0.9 ${0.85*reflect} 1" rpy="${0.78*reflect} 0 0" />
29   - <geometry>
30   - <cylinder length="0.5" radius="0.04" />
31   - </geometry>
32   - </collision>
33   -
34   - <collision name="front_${prefix}_beam_upper">
35   - <origin xyz="0.9 ${0.6*reflect} 1.18" rpy="${1.35*reflect} 0 0" />
36   - <geometry>
37   - <cylinder length="0.2" radius="0.04" />
38   - </geometry>
39   - </collision>
40   -
41   - <!-- Mid beam -->
42   - <collision name="mid_${prefix}_beam_lower">
43   - <origin xyz="-0.65 ${0.99*reflect} 0.7" rpy="${0.1*reflect} 0.25 0" />
44   - <geometry>
45   - <cylinder length="0.45" radius="0.03" />
46   - </geometry>
47   - </collision>
48   -
49   - <collision name="mid_${prefix}_beam_medium">
50   - <origin xyz="-0.57 ${0.87*reflect} 1.05" rpy="${0.75*reflect} 0.25 0" />
51   - <geometry>
52   - <cylinder length="0.32" radius="0.03" />
53   - </geometry>
54   - </collision>
55   -
56   - <collision name="mid_${prefix}_beam_upper">
57   - <origin xyz="-0.55 ${0.65*reflect} 1.17" rpy="${1.35*reflect} 0.25 0" />
58   - <geometry>
59   - <cylinder length="0.3" radius="0.03" />
60   - </geometry>
61   - </collision>
62   -
63   - <!-- Rear beam -->
64   - <collision name="rear_${prefix}_beam_lower">
65   - <origin xyz="-0.74 ${1.03*reflect} 0.7" rpy="${0*reflect} -0.15 0" />
66   - <geometry>
67   - <cylinder length="0.45" radius="0.03" />
68   - </geometry>
69   - </collision>
70   -
71   - <collision name="rear_${prefix}_beam_medium">
72   - <origin xyz="-0.79 ${0.91*reflect} 1.05" rpy="${0.75*reflect} -0.15 0" />
73   - <geometry>
74   - <cylinder length="0.32" radius="0.03" />
75   - </geometry>
76   - </collision>
77   -
78   - <collision name="rear_${prefix}_beam_upper">
79   - <origin xyz="-0.81 ${0.67*reflect} 1.18" rpy="${1.45*reflect} -0.15 0" />
80   - <geometry>
81   - <cylinder length="0.3" radius="0.03" />
82   - </geometry>
83   - </collision>
84   -
85   - <!-- Joint -->
86   - <collision name="${prefix}_joint">
87   - <origin xyz="0.58 ${1.03*reflect} 0.6" rpy="${0*reflect} -0.6 0" />
88   - <geometry>
89   - <box size="0.65 0.2 0.1" />
90   - </geometry>
91   - </collision>
92   - </xacro:macro>
93   -
94   - <link name="base_link">
95   - </link>
96   -
97   - <joint name="dummy_joint" type = "fixed">
98   - <parent link="base_link"/>
99   - <child link="dummy_link"/>
100   - </joint>
101   -
102   - <!-- Basic model of the 16' WAM-V USV -->
103   - <link name="dummy_link">
104   - <visual>
105   - <geometry>
106   - <mesh filename="package://wamv_description/models/WAM-V-Base/mesh/WAM-V-Base.dae"/>
107   - </geometry>
108   - </visual>
109   -
110   - <!-- Left base collisions -->
111   - <xacro:main_collisions prefix="left" reflect="1" />
112   -
113   - <!-- Right side collisions -->
114   - <xacro:main_collisions prefix="right" reflect="-1" />
115   -
116   - <!-- Top base -->
117   - <collision name="top_base">
118   - <origin xyz="0 -0 1.25" rpy="0 0 0" />
119   - <geometry>
120   - <box size="1.85 1 0.1" />
121   - </geometry>
122   - </collision>
123   -
124   - <inertial>
125   - <!-- From WAM-V spec sheet -->
126   - <mass value="180.0"/>
127   - <inertia ixx="120.0" ixy="0.0" ixz="0.0" iyy="393" iyz="0.0" izz="446.0"/>
128   - </inertial>
129   - </link>
  3 +
  4 + <material name="blue">
  5 + <color rgba="0 0 0.8 1"/>
  6 + </material>
  7 + <material name="red">
  8 + <color rgba="0.8 0 0 1"/>
  9 + </material>
  10 + <material name="green">
  11 + <color rgba="0 0.8 0 1"/>
  12 + </material>
  13 + <material name="cyan">
  14 + <color rgba="0 0.6 0.6 1"/>
  15 + </material>
  16 + <material name="yellow">
  17 + <color rgba="0.8 0.8 0 1"/>
  18 + </material>
  19 + <material name="purple">
  20 + <color rgba="0.5 0 0.5 1"/>
  21 + </material>
  22 + <material name="white">
  23 + <color rgba="1 1 1 1"/>
  24 + </material>
  25 + <material name="gray">
  26 + <color rgba="0.35 0.35 0.35 1"/>
  27 + </material>
  28 + <material name="black">
  29 + <color rgba="0 0 0 1"/>
  30 + </material>
  31 +
  32 + <!-- * * * Link Definitions * * * -->
  33 + <link name="base_link">
  34 + <!--
  35 + <inertial>
  36 + <origin xyz="0 0 0" rpy="0 0 0"/>
  37 + <mass value="10.5"/>
  38 + <inertia ixx="0.0002835" ixy="0.0" ixz="0.0" iyy="0.0002835" iyz="0.0" izz="0.000324"/>
  39 + </inertial>
  40 + -->
  41 +
  42 + <collision>
  43 + <origin xyz="0 0 0" rpy="0 0 0"/>
  44 + <geometry>
  45 + <mesh filename="package://aquanaute_description/models/meshes/Platform.stl"/>
  46 + </geometry>
  47 + </collision>
  48 +
  49 + <visual>
  50 + <origin rpy="0.0 0 0" xyz="0 0 0"/>
  51 + <geometry>
  52 + <mesh filename="package://aquanaute_description/models/meshes/Platform.stl"/>
  53 + </geometry>
  54 + <material name="yellow"/>
  55 + </visual>
  56 + </link>
  57 +
  58 + <link name="right_hull_link">
  59 + <!--
  60 + <inertial>
  61 + <origin xyz="0 0 0" rpy="0 0 0"/>
  62 + <mass value="10.5"/>
  63 + <inertia ixx="0.0002835" ixy="0.0" ixz="0.0" iyy="0.0002835" iyz="0.0" izz="0.000324"/>
  64 + </inertial>
  65 + -->
  66 + <collision>
  67 + <origin xyz="0 0 0" rpy="0 0 0"/>
  68 + <geometry>
  69 + <mesh filename="package://aquanaute_description/models/meshes/Hull.stl"/>
  70 + </geometry>
  71 + </collision>
  72 +
  73 + <visual>
  74 + <origin rpy="0.0 0 0" xyz="0 0 0"/>
  75 + <geometry>
  76 + <mesh filename="package://aquanaute_description/models/meshes/Hull.stl"/>
  77 + </geometry>
  78 + <material name="red"/>
  79 + </visual>
  80 + </link>
  81 +
  82 + <link name="left_hull_link">
  83 + <!--
  84 + <inertial>
  85 + <origin xyz="0 0 0" rpy="0 0 0"/>
  86 + <mass value="10.5"/>
  87 + <inertia ixx="0.0002835" ixy="0.0" ixz="0.0" iyy="0.0002835" iyz="0.0" izz="0.000324"/>
  88 + </inertial>
  89 + -->
  90 +
  91 + <collision>
  92 + <origin xyz="0 0 0" rpy="0 0 0"/>
  93 + <geometry>
  94 + <mesh filename="package://aquanaute_description/models/meshes/Hull.stl"/>
  95 + </geometry>
  96 + </collision>
  97 +
  98 + <visual>
  99 + <origin rpy="0.0 0 0" xyz="0 0 0"/>
  100 + <geometry>
  101 + <mesh filename="package://aquanaute_description/models/meshes/Hull.stl"/>
  102 + </geometry>
  103 + <material name="red"/>
  104 + </visual>
  105 + </link>
  106 +
  107 + <link name="motor_link">
  108 + <!--
  109 + <inertial>
  110 + <origin xyz="0 0 0" rpy="0 0 0"/>
  111 + <mass value="10.5"/>
  112 + <inertia ixx="0.0002835" ixy="0.0" ixz="0.0" iyy="0.0002835" iyz="0.0" izz="0.000324"/>
  113 + </inertial>
  114 + -->
  115 +
  116 + <collision>
  117 + <origin xyz="0 0 0" rpy="0 0 0"/>
  118 + <geometry>
  119 + <mesh filename="package://aquanaute_description/models/meshes/Motor.stl"/>
  120 + </geometry>
  121 + </collision>
  122 +
  123 + <visual>
  124 + <origin rpy="0.0 0 0" xyz="0 0 0"/>
  125 + <geometry>
  126 + <mesh filename="package://aquanaute_description/models/meshes/Motor.stl"/>
  127 + </geometry>
  128 + <material name="purple"/>
  129 + </visual>
  130 + </link>
  131 +
  132 + <link name="sensor_frame_link">
  133 + <!--
  134 + <inertial>
  135 + <origin xyz="0 0 0" rpy="0 0 0"/>
  136 + <mass value="10.5"/>
  137 + <inertia ixx="0.0002835" ixy="0.0" ixz="0.0" iyy="0.0002835" iyz="0.0" izz="0.000324"/>
  138 + </inertial>
  139 + -->
  140 + <collision>
  141 + <origin xyz="0 0 0" rpy="0 0 0"/>
  142 + <geometry>
  143 + <mesh filename="package://aquanaute_description/models/meshes/sensor_frame.stl"/>
  144 + </geometry>
  145 + </collision>
  146 +
  147 + <visual>
  148 + <origin rpy="0.0 0 0" xyz="0 0 0"/>
  149 + <geometry>
  150 + <mesh filename="package://aquanaute_description/models/meshes/sensor_frame.stl"/>
  151 + </geometry>
  152 + <material name="cyan"/>
  153 + </visual>
  154 + </link>
  155 +
  156 + <!-- * * * Joint Definitions * * * -->
  157 + <joint name="right_hull_platform_joint" type="fixed">
  158 + <parent link="base_link"/>
  159 + <child link="right_hull_link"/>
  160 + <origin xyz="-0.05 -0.7 -0.036" rpy="0 0 0"/>
  161 + </joint>
  162 +
  163 + <joint name="left_hull_platform_joint" type="fixed">
  164 + <parent link="base_link"/>
  165 + <child link="left_hull_link"/>
  166 + <origin xyz="-0.05 0.7 -0.036" rpy="0 0 0"/>
  167 + </joint>
  168 +
  169 + <joint name="motor_platform_joint" type="fixed">
  170 + <parent link="base_link"/>
  171 + <child link="motor_link"/>
  172 + <origin xyz="-0.91 0.0 -0.09" rpy="0 0 0"/>
  173 + </joint>
  174 +
  175 + <joint name="sensor_frame_platform_joint" type="fixed">
  176 + <parent link="base_link"/>
  177 + <child link="sensor_frame_link"/>
  178 + <origin xyz="-0.55 0.0 0.0" rpy="0 0 0"/>
  179 + </joint>
  180 +
  181 + <!--
  182 + <joint name="pitch_joint" type="revolute">
  183 + <parent link="roll_M1_link"/>
  184 + <child link="pitch_M2_link"/>
  185 + <origin xyz="0 0 0" rpy="0 -1.5708 0"/>
  186 + <limit lower="0" upper="0.44" effort="0.1" velocity="0.005"/>
  187 + <axis xyz="0 1 0"/>
  188 + </joint>
  189 +
  190 + <joint name="yaw_joint" type="continuous">
  191 + <parent link="pitch_M2_link"/>
  192 + <child link="yaw_M3_link"/>
  193 + <origin xyz="0.01 0 0" rpy="0 1.5708 0"/>
  194 + <limit effort="0.1" velocity="0.01"/>
  195 + <axis xyz="0 0 1"/>
  196 + </joint>
  197 + -->
  198 +
  199 + <!-- This is for color and physical properties in Gazebo, color won't work with the material tag in gazebo
  200 + only for URDF coloring
  201 + <gazebo reference="roll_M1_link">
  202 + <kp>1000.0</kp>
  203 + <kd>10.0</kd>
  204 + <mu1>10.0</mu1>
  205 + <mu2>10.0</mu2>
  206 + <material>Gazebo/Red</material>
  207 + </gazebo>
  208 + -->
130 209  
131 210 </robot>
... ...