]> defiant.homedns.org Git - ros_wild_thumper.git/blobdiff - urdf/wild_thumper.urdf.xacro
switch from xtion 3d camera to rplidar
[ros_wild_thumper.git] / urdf / wild_thumper.urdf.xacro
index 733a51d2e0b0267ab60bdb75c834ad1e2920d4c3..5d5f9b7b23366dc5d5e8c2279e16bd26a01db062 100644 (file)
@@ -1,12 +1,11 @@
 <?xml version="1.0"?>
 <robot name="wild_thumper" xmlns:xacro="http://ros.org/wiki/xacro">
        <xacro:property name="PI" value="3.1415926535897931" />
-       <xacro:include filename="$(find hector_sensors_description)/urdf/asus_camera.urdf.xacro" />
 
        <link name="base_footprint">
                <visual>
                        <geometry>
-                               <box size="0.28 0.31 0.0"/>
+                               <box size="0.28 0.31 0.000001"/>
                        </geometry>
                        <material name="grey">
                                <color rgba="0.5 0.5 0.5 0.5"/>
                        </geometry>
                </collision>
                <visual>
+                       <origin xyz="-0.00275 0 0" rpy="0 0 0"/>
                        <geometry>
                                <mesh filename="package://wild_thumper/meshes/wild_thumper_4wd.stl" />
                        </geometry>
                </visual>
                <inertial>
+                       <origin xyz="-0.00275 0 -0.02" rpy="0 0 0"/>
                        <mass value="2.5"/>
                        <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
                </inertial>
                </visual>
        </link>
 
-       <xacro:asus_camera name="camera" parent="mounting_plate">
-               <origin xyz="0.107 0.0 0.04" rpy="0 0 0"/>
-       </xacro:asus_camera>
-
-       <link name="sonar_forward">
+       <link name="lidar">
                <visual>
                        <geometry>
-                               <box size="0.016 0.044 0.02"/>
+                               <mesh filename="package://wild_thumper/meshes/rplidar_a2.stl" scale="0.001 0.001 0.001"/>
                        </geometry>
-                       <origin xyz="${0.016/2} 0 0" rpy="0 0 0"/>
-                       <material name="green">
-                               <color rgba="0 1 0 0.8"/>
+                       <origin xyz="0.0 0.0 ${0.0408/2}" rpy="0 0 0"/>
+                       <material name="black">
+                               <color rgba="0 0 0 1"/>
                        </material>
                </visual>
        </link>
 
-       <link name="sonar_backward">
+       <link name="sonar_forward_left">
                <visual>
                        <geometry>
                                <box size="0.016 0.044 0.02"/>
                </visual>
        </link>
 
-       <link name="ir_left">
+       <link name="sonar_forward_right">
                <visual>
                        <geometry>
-                               <box size="0.015 0.015 0.046"/>
+                               <box size="0.016 0.044 0.02"/>
                        </geometry>
-                       <origin xyz="${-0.015/2} 0 0" rpy="0 0 0"/>
-                       <material name="black">
-                               <color rgba="0 0 0 1"/>
+                       <origin xyz="${0.016/2} 0 0" rpy="0 0 0"/>
+                       <material name="green">
+                               <color rgba="0 1 0 0.8"/>
                        </material>
                </visual>
        </link>
 
-       <link name="ir_right">
+       <link name="sonar_backward">
                <visual>
                        <geometry>
-                               <box size="0.015 0.015 0.046"/>
+                               <box size="0.016 0.044 0.02"/>
                        </geometry>
-                       <origin xyz="${-0.015/2} 0 0" rpy="0 0 0"/>
-                       <material name="black">
-                               <color rgba="0 0 0 1"/>
+                       <origin xyz="${0.016/2} 0 0" rpy="0 0 0"/>
+                       <material name="green">
+                               <color rgba="0 1 0 0.8"/>
                        </material>
                </visual>
        </link>
                <origin xyz="0.06 -0.03 0.058" rpy="0 0 0"/>
        </joint>
 
-       <joint name="sonar_forward_joint" type="fixed">
+       <joint name="sonar_forward_left_joint" type="fixed">
                <parent link="mounting_plate"/>
-               <child link="sonar_forward"/>
-               <origin xyz="0.115 0.0 -0.012" rpy="0 0 0"/>
+               <child link="sonar_forward_left"/>
+               <origin xyz="0.115 0.05 -0.012" rpy="0 ${-5*PI/180} 0"/>
        </joint>
 
-       <joint name="sonar_backward_joint" type="fixed">
+       <joint name="sonar_forward_right_joint" type="fixed">
                <parent link="mounting_plate"/>
-               <child link="sonar_backward"/>
-               <origin xyz="-0.115 0.0 -0.012" rpy="0 ${PI} 0"/>
+               <child link="sonar_forward_right"/>
+               <origin xyz="0.115 -0.05 -0.012" rpy="0 ${-5*PI/180} 0"/>
        </joint>
 
-       <joint name="ir_left_joint" type="fixed">
+       <joint name="sonar_backward_joint" type="fixed">
                <parent link="mounting_plate"/>
-               <child link="ir_left"/>
-               <origin xyz="0.0 ${0.072+0.015} -0.045" rpy="0 0 ${PI/2}"/>
+               <child link="sonar_backward"/>
+               <origin xyz="-0.115 0.0 -0.012" rpy="0 ${-175*PI/180} 0"/>
        </joint>
 
-       <joint name="ir_right_joint" type="fixed">
+       <joint name="lidar_joint" type="fixed">
                <parent link="mounting_plate"/>
-               <child link="ir_right"/>
-               <origin xyz="0.0 ${-0.072-0.015} -0.045" rpy="0 0 ${-PI/2}"/>
+               <child link="lidar"/>
+               <origin xyz="0.075 0.01 0.0" rpy="0 0 ${-110*PI/180}"/>
        </joint>
 
        <xacro:macro name="wheel" params="pos side xyz rpy">   
                        <inertial>
                                <origin xyz="0 0 0" rpy="0 0 0"/>
                                <mass value="0.1"/>
-                               <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
+                               <inertia ixx="0.005" ixy="0" ixz="0" iyy="0.005" iyz="0" izz="0.005"/>
                        </inertial>
                </link>
+
+               <gazebo reference="${pos}_${side}_wheel">
+                       <mu1 value="1.0"/>
+                       <mu2 value="1.0"/>
+                       <kp value="1000000.0" />
+                       <kd value="1.0" />
+                       <fdir1 value="1 0 0"/>
+               </gazebo>
+
                <joint name="${pos}_${side}_wheel_joint" type="continuous">
                        <parent link="base_link"/>
                        <child link="${pos}_${side}_wheel"/>
                                <hardwareInterface>VelocityJointInterface</hardwareInterface>
                        </joint>
                        <actuator name="{pos}_${side}_wheel_motor">
-                               <hardwareInterface>VelocityJointInterface</hardwareInterface>
                                <mechanicalReduction>1</mechanicalReduction>
                        </actuator>
                </transmission>
        </xacro:macro>
 
-       <xacro:wheel pos="rear" side="left"  xyz="-0.06398 0.114 -0.022446" rpy="0 0 0" />
-       <xacro:wheel pos="rear" side="right" xyz="-0.07397 -0.114 -0.022446" rpy="0 0 0" />
-       <xacro:wheel pos="front" side="left"  xyz="0.07602 0.114 -0.022446" rpy="0 0 0" />
-       <xacro:wheel pos="front" side="right" xyz="0.07397 -0.114 -0.022446" rpy="0 0 0" />
+       <xacro:wheel pos="rear" side="left"   xyz="-0.07525  0.12 -0.025" rpy="${-5*PI/180} 0 0" />
+       <xacro:wheel pos="rear" side="right"  xyz="-0.07525 -0.12 -0.025" rpy="${5*PI/180} 0 0" />
+       <xacro:wheel pos="front" side="left"  xyz=" 0.07525  0.12 -0.025" rpy="${-5*PI/180} 0 0" />
+       <xacro:wheel pos="front" side="right" xyz=" 0.07525 -0.12 -0.025" rpy="${5*PI/180} 0 0" />
 
        <gazebo>
                <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
                        <frameName>base_imu_link</frameName>
                        <xyzOffsets>0 0 0</xyzOffsets>
                        <rpyOffset>0 0 0</rpyOffset>
+                       <serviceName>/default_imu</serviceName>
                </plugin>
        </gazebo>
 
                </gazebo>
        </xacro:macro>
 
-       <xacro:range_sensor name="sonar_forward" ros_topic="range_forward" update_rate="10" minRange="0.04" maxRange="6" fov="${60*PI/180}" radiation="ultrasound" />
-       <xacro:range_sensor name="sonar_backward" ros_topic="range_backward" update_rate="10" minRange="0.04" maxRange="6" fov="${60*PI/180}" radiation="ultrasound" />
+       <xacro:range_sensor name="sonar_forward" ros_topic="range_forward" update_rate="10" minRange="0.04" maxRange="0.5" fov="${20*PI/180}" radiation="ultrasound" />
+       <xacro:range_sensor name="sonar_backward" ros_topic="range_backward" update_rate="10" minRange="0.04" maxRange="0.5" fov="${20*PI/180}" radiation="ultrasound" />
        <xacro:range_sensor name="ir_left" ros_topic="range_left" update_rate="10" minRange="0.04" maxRange="0.3" fov="${5*PI/180}" radiation="infrared" />
        <xacro:range_sensor name="ir_right" ros_topic="range_right" update_rate="10" minRange="0.04" maxRange="0.3" fov="${5*PI/180}" radiation="infrared" />
 </robot>