Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

VLP16 does not move with Turtlebot

Hi. I am trying to place a Velodyne Lidar Puck 16 on the top of a Turtlebot model in Gazebo. [ROS Kinetic - Gazebo 7.0]. All is good, until i apply a force/torque to the turtlebot: the robot moves, the lidar does not.

Where is the error?

In order to attatch the lidar to the turtlebot i modified the sdf model in this way:

<include> <uri>model://velodyne_VLP16</uri> <pose>0 0 0.45 0 0 0</pose> </include> <joint name="VLP16_joint" type="fixed"> <child>VLP16::base_footprint</child> <parent>create::base</parent> </joint>

The sdf file of the lidar is:

<sdf version="1.6"> <model name="velodyne-VLP16"> <static>false</static> <link name="base_footprint"> <inertial> <pose frame="">0 0 0 0 0 0</pose> <inertia> <ixx>3.23643</ixx> <ixy>0.0156863</ixy> <ixz>0.065702</ixz> <iyy>3.35996</iyy> <iyz>-0.00821275</iyz> <izz>3.32745</izz> </inertia> <mass>2</mass> </inertial>

<collision name='base_footprint_collision_1'>
  <pose frame=''>0 0 -0.00185 0 0 0</pose>
  <geometry>
    <cylinder>
      <length>0.0717</length>
      <radius>0.0516</radius>
    </cylinder>
  </geometry>
  <surface>
    <contact>
      <ode/>
    </contact>
    <friction>
      <ode/>
      <torsional>
        <ode/>
      </torsional>
    </friction>
    <bounce/>
  </surface>
  <max_contacts>10</max_contacts>
</collision>
<visual name='base_footprint_visual_1'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_base_1.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>
<visual name='base_footprint_visual_2'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_base_2.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>
<visual name='base_footprint_visual_3'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_scan.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>

<sensor name='velodyne-VLP16' type='ray'>
  <visualize>0</visualize>
  <update_rate>10</update_rate>
  <ray>
    <scan>
      <horizontal>
        <samples>1875</samples>
        <resolution>1</resolution>
        <min_angle>-3.14159</min_angle>
        <max_angle>3.14159</max_angle>
      </horizontal>
      <vertical>
        <samples>16</samples>
        <resolution>1</resolution>
        <min_angle>-0.261799</min_angle>
        <max_angle>0.261799</max_angle>
      </vertical>
    </scan>
    <range>
      <min>0.055</min>
      <max>140</max>
      <resolution>0.001</resolution>
    </range>
    <noise>
      <type>gaussian</type>
      <mean>0</mean>
      <stddev>0</stddev>
    </noise>
  </ray>
  <plugin name='gazebo_ros_laser_controller' filename='libgazebo_ros_velodyne_laser.so'>
    <topicName>/velodyne_points</topicName>
    <frameName>/velodyne</frameName>
    <min_range>0.8</min_range>
    <max_range>130.0</max_range>
    <gaussianNoise>0.008</gaussianNoise>
    <robotNamespace>/</robotNamespace>
  </plugin>
  <pose frame=''>0 0 0 0 0 0</pose>
</sensor>
<gravity>0</gravity>
<self_collide>0</self_collide>
<kinematic>0</kinematic>

</link> </model> </sdf>

VLP16 does not move with Turtlebot

Hi. I am trying to place a Velodyne Lidar Puck 16 on the top of a Turtlebot model in Gazebo. [ROS Kinetic - Gazebo 7.0]. All is good, until i apply a force/torque to the turtlebot: the robot moves, the lidar does not.

Where is the error?

In order to attatch the lidar to the turtlebot i modified the sdf model in this way:

<include> <uri>model://velodyne_VLP16</uri> <pose>0 0 0.45 0 0 0</pose> </include> <joint name="VLP16_joint" type="fixed"> <child>VLP16::base_footprint</child> <parent>create::base</parent> </joint>

The sdf file of the lidar is:

<sdf version="1.6"> version="1.6">
  <model name="velodyne-VLP16">  <static>false</static>  <link name="base_footprint">  <inertial>  <pose frame="">0 0 0 0 0 0</pose>  <inertia>  <ixx>3.23643</ixx>  <ixy>0.0156863</ixy>  <ixz>0.065702</ixz>  <iyy>3.35996</iyy>  <iyz>-0.00821275</iyz>  <izz>3.32745</izz>  </inertia>  <mass>2</mass> </inertial>


       </inertial>

<collision name='base_footprint_collision_1'>
  <pose frame=''>0 0 -0.00185 0 0 0</pose>
  <geometry>
    <cylinder>
      <length>0.0717</length>
      <radius>0.0516</radius>
    </cylinder>
  </geometry>
  <surface>
    <contact>
      <ode/>
    </contact>
    <friction>
      <ode/>
      <torsional>
        <ode/>
      </torsional>
    </friction>
    <bounce/>
  </surface>
  <max_contacts>10</max_contacts>
</collision>
<visual name='base_footprint_visual_1'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_base_1.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>
<visual name='base_footprint_visual_2'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_base_2.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>
<visual name='base_footprint_visual_3'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_scan.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>

<sensor name='velodyne-VLP16' type='ray'>
  <visualize>0</visualize>
  <update_rate>10</update_rate>
  <ray>
    <scan>
      <horizontal>
        <samples>1875</samples>
        <resolution>1</resolution>
        <min_angle>-3.14159</min_angle>
        <max_angle>3.14159</max_angle>
      </horizontal>
      <vertical>
        <samples>16</samples>
        <resolution>1</resolution>
        <min_angle>-0.261799</min_angle>
        <max_angle>0.261799</max_angle>
      </vertical>
    </scan>
    <range>
      <min>0.055</min>
      <max>140</max>
      <resolution>0.001</resolution>
    </range>
    <noise>
      <type>gaussian</type>
      <mean>0</mean>
      <stddev>0</stddev>
    </noise>
  </ray>
  <plugin name='gazebo_ros_laser_controller' filename='libgazebo_ros_velodyne_laser.so'>
    <topicName>/velodyne_points</topicName>
    <frameName>/velodyne</frameName>
    <min_range>0.8</min_range>
    <max_range>130.0</max_range>
    <gaussianNoise>0.008</gaussianNoise>
    <robotNamespace>/</robotNamespace>
  </plugin>
  <pose frame=''>0 0 0 0 0 0</pose>
</sensor>
<gravity>0</gravity>
<self_collide>0</self_collide>
<kinematic>0</kinematic>
<kinematic>0</kinematic>   
</link> 
</model> 
</sdf>

</link> </model> </sdf>

VLP16 does not move with Turtlebot

Hi. I am trying to place a Velodyne Lidar Puck 16 on the top of a Turtlebot model in Gazebo. [ROS Kinetic - Gazebo 7.0]. All is good, until i apply a force/torque to the turtlebot: the robot moves, the lidar does not.

Where is the error?

In order to attatch the lidar to the turtlebot i modified the sdf model in this way:

<include>  <uri>model://velodyne_VLP16</uri>  <pose>0 0 0.45 0 0 0</pose>  </include>  <joint name="VLP16_joint" type="fixed">  <child>VLP16::base_footprint</child>  <parent>create::base</parent> </joint>

</joint>

The sdf file of the lidar is:

<sdf version="1.6">
  <model name="velodyne-VLP16"> 
    <static>false</static> 
     <link name="base_footprint"> 
       <inertial> 
         <pose frame="">0 0 0 0 0 0</pose> 
         <inertia> 
           <ixx>3.23643</ixx> 
           <ixy>0.0156863</ixy> 
           <ixz>0.065702</ixz> 
            <iyy>3.35996</iyy> 
           <iyz>-0.00821275</iyz> 
           <izz>3.32745</izz> 
         </inertia> 
         <mass>2</mass> 
       </inertial>

<collision name='base_footprint_collision_1'>
  <pose frame=''>0 0 -0.00185 0 0 0</pose>
  <geometry>
    <cylinder>
      <length>0.0717</length>
      <radius>0.0516</radius>
    </cylinder>
  </geometry>
  <surface>
    <contact>
      <ode/>
    </contact>
    <friction>
      <ode/>
      <torsional>
        <ode/>
      </torsional>
    </friction>
    <bounce/>
  </surface>
  <max_contacts>10</max_contacts>
</collision>
<visual name='base_footprint_visual_1'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_base_1.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>
<visual name='base_footprint_visual_2'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_base_2.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>
<visual name='base_footprint_visual_3'>
  <pose frame=''>0 0 -0.0377 0 0 0</pose>
  <geometry>
    <mesh>
      <scale>1 1 1</scale>
      <uri>model://velodyne_VLP16/meshes/VLP16_scan.dae</uri>
    </mesh>
  </geometry>
  <material>
    <script>
      <uri>__default__</uri>
      <name>__default__</name>
    </script>
  </material>
</visual>

<sensor name='velodyne-VLP16' type='ray'>
  <visualize>0</visualize>
  <update_rate>10</update_rate>
  <ray>
    <scan>
      <horizontal>
        <samples>1875</samples>
        <resolution>1</resolution>
        <min_angle>-3.14159</min_angle>
        <max_angle>3.14159</max_angle>
      </horizontal>
      <vertical>
        <samples>16</samples>
        <resolution>1</resolution>
        <min_angle>-0.261799</min_angle>
        <max_angle>0.261799</max_angle>
      </vertical>
    </scan>
    <range>
      <min>0.055</min>
      <max>140</max>
      <resolution>0.001</resolution>
    </range>
    <noise>
      <type>gaussian</type>
      <mean>0</mean>
      <stddev>0</stddev>
    </noise>
  </ray>
  <plugin name='gazebo_ros_laser_controller' filename='libgazebo_ros_velodyne_laser.so'>
    <topicName>/velodyne_points</topicName>
    <frameName>/velodyne</frameName>
    <min_range>0.8</min_range>
    <max_range>130.0</max_range>
    <gaussianNoise>0.008</gaussianNoise>
    <robotNamespace>/</robotNamespace>
  </plugin>
  <pose frame=''>0 0 0 0 0 0</pose>
</sensor>
<gravity>0</gravity>
<self_collide>0</self_collide>
<kinematic>0</kinematic>   
</link> 
</model> 
</sdf>