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>