Home | Tutorials | Wiki | Issues
Ask Your Question
0

VLP16 does not move with Turtlebot

asked 2017-10-13 03:44:15 -0600

updated 2017-10-13 09:11:36 -0600

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>
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-10-13 09:18:07 -0600

Do you see any errors if you run Gazebo in verbose mode? (--verbose)

It would also be helpful to see exactly how you placed the include and the joint into the turtlebot, make sure they are within the <model> tag.

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2017-10-13 03:44:15 -0600

Seen: 282 times

Last updated: Oct 13 '17