diff --git a/src/sim/worlds/model_push4.world b/src/sim/worlds/model_push4.world new file mode 100644 index 0000000000000000000000000000000000000000..956d2a0d48c65d2864d1221a2d57d70ae097a277 --- /dev/null +++ b/src/sim/worlds/model_push4.world @@ -0,0 +1,750 @@ +<sdf version='1.6'> + <world name='default'> + <model name='ground_plane'> + <static>1</static> + <link name='link'> + <collision name='collision'> + <geometry> + <plane> + <normal>0 0 1</normal> + <size>100 100</size> + </plane> + </geometry> + <surface> + <contact> + <collide_bitmask>65535</collide_bitmask> + <ode/> + </contact> + <friction> + <ode> + <mu>100</mu> + <mu2>50</mu2> + </ode> + <torsional> + <ode/> + </torsional> + </friction> + <bounce/> + </surface> + <max_contacts>10</max_contacts> + </collision> + <visual name='visual'> + <cast_shadows>0</cast_shadows> + <geometry> + <plane> + <normal>0 0 1</normal> + <size>100 100</size> + </plane> + </geometry> + <material> + <script> + <uri>file://media/materials/scripts/gazebo.material</uri> + <name>Gazebo/Grey</name> + </script> + </material> + </visual> + <self_collide>0</self_collide> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + </model> + <light name='sun' type='directional'> + <cast_shadows>1</cast_shadows> + <pose frame=''>0 0 10 0 -0 0</pose> + <diffuse>0.8 0.8 0.8 1</diffuse> + <specular>0.2 0.2 0.2 1</specular> + <attenuation> + <range>1000</range> + <constant>0.9</constant> + <linear>0.01</linear> + <quadratic>0.001</quadratic> + </attenuation> + <direction>-0.5 0.1 -0.9</direction> + </light> + <model name='ball'> + <pose frame=''>0 0 0 0 -0 0</pose> + <link name='link'> + <collision name='collision'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + <max_contacts>10</max_contacts> + <surface> + <contact> + <ode/> + </contact> + <bounce/> + <friction> + <torsional> + <ode/> + </torsional> + <ode/> + </friction> + </surface> + </collision> + <visual name='visual'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + </visual> + <self_collide>0</self_collide> + <inertial> + <pose frame=''>0 0 0 0 -0 0</pose> + <inertia> + <ixx>1</ixx> + <ixy>0</ixy> + <ixz>0</ixz> + <iyy>1</iyy> + <iyz>0</iyz> + <izz>1</izz> + </inertia> + <mass>1</mass> + </inertial> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <plugin name='model_push' filename='libmodel_push.so'/> + </model> + <gravity>0 0 -9.8</gravity> + <magnetic_field>6e-06 2.3e-05 -4.2e-05</magnetic_field> + <atmosphere type='adiabatic'/> + <physics name='default_physics' default='0' type='ode'> + <max_step_size>0.001</max_step_size> + <real_time_factor>1</real_time_factor> + <real_time_update_rate>1000</real_time_update_rate> + </physics> + <scene> + <ambient>0.4 0.4 0.4 1</ambient> + <background>0.7 0.7 0.7 1</background> + <shadows>1</shadows> + </scene> + <wind/> + <spherical_coordinates> + <surface_model>EARTH_WGS84</surface_model> + <latitude_deg>0</latitude_deg> + <longitude_deg>0</longitude_deg> + <elevation>0</elevation> + <heading_deg>0</heading_deg> + </spherical_coordinates> + <model name='turtlebot3_burger'> + <link name='base_footprint'> + <pose frame=''>0 0 0 0 -0 0</pose> + <inertial> + <pose frame=''>-0.00429 0 0.030734 0 -0 0</pose> + <mass>0.944735</mass> + <inertia> + <ixx>0.00717896</ixx> + <ixy>-1.22941e-05</ixy> + <ixz>0.00057674</ixz> + <iyy>0.00721804</iyy> + <iyz>-5.01209e-06</iyz> + <izz>0.00413858</izz> + </inertia> + </inertial> + <collision name='base_footprint_fixed_joint_lump__base_link_collision'> + <pose frame=''>-0.032 0 0.08 0 -0 0</pose> + <geometry> + <box> + <size>0.14 0.14 0.143</size> + </box> + </geometry> + <surface> + <contact> + <ode/> + </contact> + <friction> + <ode/> + <torsional> + <ode/> + </torsional> + </friction> + <bounce/> + </surface> + <max_contacts>10</max_contacts> + </collision> + <collision name='base_footprint_fixed_joint_lump__caster_back_link_collision_1'> + <pose frame=''>-0.081 1e-06 0.005 -1.57 0 0</pose> + <geometry> + <box> + <size>0.03 0.009 0.02</size> + </box> + </geometry> + <surface> + <contact> + <ode> + <kp>1e+06</kp> + <kd>100</kd> + <max_vel>1</max_vel> + <min_depth>0.001</min_depth> + </ode> + </contact> + <friction> + <ode> + <mu>0.1</mu> + <mu2>0.1</mu2> + </ode> + <torsional> + <ode/> + </torsional> + </friction> + <bounce/> + </surface> + <max_contacts>10</max_contacts> + </collision> + <collision name='base_footprint_fixed_joint_lump__base_scan_collision_2'> + <pose frame=''>-0.017 0 0.1755 0 -0 0</pose> + <geometry> + <cylinder> + <length>0.0315</length> + <radius>0.055</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_fixed_joint_lump__base_link_visual'> + <pose frame=''>-0.032 0 0.01 0 -0 0</pose> + <geometry> + <mesh> + <scale>0.001 0.001 0.001</scale> + <uri>/home/dan/catkin_ws/src/turtlebot3/turtlebot3_description/meshes/bases/burger_base.stl</uri> + </mesh> + </geometry> + <material> + <script> + <name>Gazebo/DarkGrey</name> + <uri>file://media/materials/scripts/gazebo.material</uri> + </script> + </material> + </visual> + <visual name='base_footprint_fixed_joint_lump__base_scan_visual_1'> + <pose frame=''>-0.032 0 0.182 0 -0 0</pose> + <geometry> + <mesh> + <scale>0.001 0.001 0.001</scale> + <uri>/home/dan/catkin_ws/src/turtlebot3/turtlebot3_description/meshes/sensors/lds.stl</uri> + </mesh> + </geometry> + <material> + <script> + <name>Gazebo/FlatBlack</name> + <uri>file://media/materials/scripts/gazebo.material</uri> + </script> + </material> + </visual> + <velocity_decay/> + <velocity_decay/> + <velocity_decay/> + <sensor name='imu' type='imu'> + <always_on>1</always_on> + <visualize>0</visualize> + <pose frame=''>-0.032 0 0.078 0 -0 0</pose> + <imu/> + </sensor> + <gravity>1</gravity> + <velocity_decay/> + <sensor name='lds_lfcd_sensor' type='ray'> + <visualize>0</visualize> + <update_rate>5</update_rate> + <ray> + <scan> + <horizontal> + <samples>360</samples> + <resolution>1</resolution> + <min_angle>0</min_angle> + <max_angle>6.28319</max_angle> + </horizontal> + <vertical> + <samples>1</samples> + <min_angle>0</min_angle> + <max_angle>0</max_angle> + </vertical> + </scan> + <range> + <min>0.12</min> + <max>3.5</max> + <resolution>0.015</resolution> + </range> + <noise> + <type>gaussian</type> + <mean>0</mean> + <stddev>0.01</stddev> + </noise> + </ray> + <plugin name='gazebo_ros_lds_lfcd_controller' filename='libgazebo_ros_laser.so'> + <topicName>scan</topicName> + <frameName>base_scan</frameName> + <robotNamespace>/</robotNamespace> + </plugin> + <pose frame=''>-0.032 0 0.182 0 -0 0</pose> + </sensor> + <self_collide>0</self_collide> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <link name='wheel_left_link'> + <pose frame=''>0 0.08 0.033 -1.57 0 0</pose> + <inertial> + <pose frame=''>0 0 0 0 -0 0</pose> + <mass>0.0284989</mass> + <inertia> + <ixx>1.11756e-05</ixx> + <ixy>-4.23698e-11</ixy> + <ixz>-5.93817e-09</ixz> + <iyy>1.11924e-05</iyy> + <iyz>-1.44001e-11</iyz> + <izz>2.07126e-05</izz> + </inertia> + </inertial> + <collision name='wheel_left_link_collision'> + <pose frame=''>0 0 0 0 -0 0</pose> + <geometry> + <cylinder> + <length>0.018</length> + <radius>0.033</radius> + </cylinder> + </geometry> + <surface> + <contact> + <ode> + <kp>500000</kp> + <kd>10</kd> + <max_vel>0.1</max_vel> + <min_depth>0.001</min_depth> + </ode> + </contact> + <friction> + <ode> + <mu>0.1</mu> + <mu2>0.1</mu2> + <fdir1>1 0 0</fdir1> + </ode> + <torsional> + <ode/> + </torsional> + </friction> + <bounce/> + </surface> + <max_contacts>10</max_contacts> + </collision> + <visual name='wheel_left_link_visual'> + <pose frame=''>0 0 0 1.57 -0 0</pose> + <geometry> + <mesh> + <scale>0.001 0.001 0.001</scale> + <uri>/home/dan/catkin_ws/src/turtlebot3/turtlebot3_description/meshes/wheels/left_tire.stl</uri> + </mesh> + </geometry> + <material> + <script> + <name>Gazebo/FlatBlack</name> + <uri>file://media/materials/scripts/gazebo.material</uri> + </script> + </material> + </visual> + <gravity>1</gravity> + <velocity_decay/> + <self_collide>0</self_collide> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <joint name='wheel_left_joint' type='revolute'> + <child>wheel_left_link</child> + <parent>base_footprint</parent> + <axis> + <xyz>0 1 0.000796</xyz> + <limit> + <lower>-1e+16</lower> + <upper>1e+16</upper> + </limit> + <dynamics> + <spring_reference>0</spring_reference> + <spring_stiffness>0</spring_stiffness> + </dynamics> + <use_parent_model_frame>1</use_parent_model_frame> + </axis> + </joint> + <link name='wheel_right_link'> + <pose frame=''>0 -0.08 0.033 -1.57 0 0</pose> + <inertial> + <pose frame=''>0 0 0 0 -0 0</pose> + <mass>0.0284989</mass> + <inertia> + <ixx>1.11756e-05</ixx> + <ixy>-4.23698e-11</ixy> + <ixz>-5.93817e-09</ixz> + <iyy>1.11924e-05</iyy> + <iyz>-1.44001e-11</iyz> + <izz>2.07126e-05</izz> + </inertia> + </inertial> + <collision name='wheel_right_link_collision'> + <pose frame=''>0 0 0 0 -0 0</pose> + <geometry> + <cylinder> + <length>0.018</length> + <radius>0.033</radius> + </cylinder> + </geometry> + <surface> + <contact> + <ode> + <kp>500000</kp> + <kd>10</kd> + <max_vel>0.1</max_vel> + <min_depth>0.001</min_depth> + </ode> + </contact> + <friction> + <ode> + <mu>0.1</mu> + <mu2>0.1</mu2> + <fdir1>1 0 0</fdir1> + </ode> + <torsional> + <ode/> + </torsional> + </friction> + <bounce/> + </surface> + <max_contacts>10</max_contacts> + </collision> + <visual name='wheel_right_link_visual'> + <pose frame=''>0 0 0 1.57 -0 0</pose> + <geometry> + <mesh> + <scale>0.001 0.001 0.001</scale> + <uri>/home/dan/catkin_ws/src/turtlebot3/turtlebot3_description/meshes/wheels/right_tire.stl</uri> + </mesh> + </geometry> + <material> + <script> + <name>Gazebo/FlatBlack</name> + <uri>file://media/materials/scripts/gazebo.material</uri> + </script> + </material> + </visual> + <gravity>1</gravity> + <velocity_decay/> + <self_collide>0</self_collide> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <joint name='wheel_right_joint' type='revolute'> + <child>wheel_right_link</child> + <parent>base_footprint</parent> + <axis> + <xyz>0 1 0.000796</xyz> + <limit> + <lower>-1e+16</lower> + <upper>1e+16</upper> + </limit> + <dynamics> + <spring_reference>0</spring_reference> + <spring_stiffness>0</spring_stiffness> + </dynamics> + <use_parent_model_frame>1</use_parent_model_frame> + </axis> + </joint> + <plugin name='turtlebot3_burger_controller' filename='libgazebo_ros_diff_drive.so'> + <commandTopic>cmd_vel</commandTopic> + <odometryTopic>odom</odometryTopic> + <odometryFrame>odom</odometryFrame> + <odometrySource>world</odometrySource> + <publishOdomTF>1</publishOdomTF> + <robotBaseFrame>base_footprint</robotBaseFrame> + <publishWheelTF>0</publishWheelTF> + <publishTf>1</publishTf> + <publishWheelJointState>1</publishWheelJointState> + <legacyMode>0</legacyMode> + <updateRate>30</updateRate> + <leftJoint>wheel_left_joint</leftJoint> + <rightJoint>wheel_right_joint</rightJoint> + <wheelSeparation>0.160</wheelSeparation> + <wheelDiameter>0.066</wheelDiameter> + <wheelAcceleration>1</wheelAcceleration> + <wheelTorque>10</wheelTorque> + <rosDebugLevel>na</rosDebugLevel> + <robotNamespace>/</robotNamespace> + </plugin> + <static>0</static> + <plugin name='imu_plugin' filename='libgazebo_ros_imu.so'> + <alwaysOn>1</alwaysOn> + <topicName>imu</topicName> + <serviceName>imu_service</serviceName> + <gaussianNoise>0.0</gaussianNoise> + <updateRate>200</updateRate> + <imu> + <noise> + <type>gaussian</type> + <rate> + <mean>0.0</mean> + <stddev>2e-4</stddev> + <bias_mean>0.0000075</bias_mean> + <bias_stddev>0.0000008</bias_stddev> + </rate> + <accel> + <mean>0.0</mean> + <stddev>1.7e-2</stddev> + <bias_mean>0.1</bias_mean> + <bias_stddev>0.001</bias_stddev> + </accel> + </noise> + </imu> + <robotNamespace>/</robotNamespace> + <bodyName>base_footprint</bodyName> + <frameName>base_footprint</frameName> + <xyzOffset>0.064 0 -0.156</xyzOffset> + <rpyOffset>0 -0 0</rpyOffset> + </plugin> + <pose frame=''>-1.03506 -1.03506 -0.001001 0 -0 0</pose> + </model> + <state world_name='default'> + <sim_time>0 0</sim_time> + <real_time>0 0</real_time> + <wall_time>1576692316 171357361</wall_time> + <iterations>0</iterations> + <model name='ball'> + <pose frame=''>0.171773 0.413795 0 0 -0 0</pose> + <scale>1 1 1</scale> + <link name='link'> + <pose frame=''>0.171773 0.413795 0 0 -0 0</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + </model> + <model name='ball_clone'> + <pose frame=''>-0.22257 -0.105143 0 0 -0 0</pose> + <scale>1 1 1</scale> + <link name='link'> + <pose frame=''>-0.22257 -0.105143 0 0 -0 0</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + </model> + <model name='ball_clone_0'> + <pose frame=''>-0.559003 -0.690534 0 0 -0 0</pose> + <scale>1 1 1</scale> + <link name='link'> + <pose frame=''>-0.559003 -0.690534 0 0 -0 0</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + </model> + <model name='ball_clone_1'> + <pose frame=''>-0.945585 -1.29664 0 0 -0 0</pose> + <scale>1 1 1</scale> + <link name='link'> + <pose frame=''>-0.945585 -1.29664 0 0 -0 0</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + </model> + <model name='ground_plane'> + <pose frame=''>0 0 0 0 -0 0</pose> + <scale>1 1 1</scale> + <link name='link'> + <pose frame=''>0 0 0 0 -0 0</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + </model> + <model name='turtlebot3_burger'> + <pose frame=''>0.754833 -1.8319 -0.001001 0 -0 1.58289</pose> + <scale>1 1 1</scale> + <link name='base_footprint'> + <pose frame=''>0.754833 -1.8319 -0.001001 0 -0 1.58289</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + <link name='wheel_left_link'> + <pose frame=''>0.674835 -1.83287 0.031999 -1.57 0 1.58289</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + <link name='wheel_right_link'> + <pose frame=''>0.834826 -1.83092 0.031999 -1.57 0 1.58289</pose> + <velocity>0 0 0 0 -0 0</velocity> + <acceleration>0 0 0 0 -0 0</acceleration> + <wrench>0 0 0 0 -0 0</wrench> + </link> + </model> + <light name='sun'> + <pose frame=''>0 0 10 0 -0 0</pose> + </light> + </state> + <gui fullscreen='0'> + <camera name='user_camera'> + <pose frame=''>1.36628 -1.01082 4.35287 -0 1.4698 -3.12699</pose> + <view_controller>orbit</view_controller> + <projection_type>perspective</projection_type> + </camera> + </gui> + <model name='ball_clone'> + <pose frame=''>-0.340238 -0.312425 0 0 -0 0</pose> + <link name='link'> + <collision name='collision'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + <max_contacts>10</max_contacts> + <surface> + <contact> + <ode/> + </contact> + <bounce/> + <friction> + <torsional> + <ode/> + </torsional> + <ode/> + </friction> + </surface> + </collision> + <visual name='visual'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + </visual> + <self_collide>0</self_collide> + <inertial> + <pose frame=''>0 0 0 0 -0 0</pose> + <inertia> + <ixx>1</ixx> + <ixy>0</ixy> + <ixz>0</ixz> + <iyy>1</iyy> + <iyz>0</iyz> + <izz>1</izz> + </inertia> + <mass>1</mass> + </inertial> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <plugin name='model_push' filename='libmodel_push.so'/> + </model> + <model name='ball_clone_0'> + <pose frame=''>-0.6524 -0.607185 0 0 -0 0</pose> + <link name='link'> + <collision name='collision'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + <max_contacts>10</max_contacts> + <surface> + <contact> + <ode/> + </contact> + <bounce/> + <friction> + <torsional> + <ode/> + </torsional> + <ode/> + </friction> + </surface> + </collision> + <visual name='visual'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + </visual> + <self_collide>0</self_collide> + <inertial> + <pose frame=''>0 0 0 0 -0 0</pose> + <inertia> + <ixx>1</ixx> + <ixy>0</ixy> + <ixz>0</ixz> + <iyy>1</iyy> + <iyz>0</iyz> + <izz>1</izz> + </inertia> + <mass>1</mass> + </inertial> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <plugin name='model_push' filename='libmodel_push.so'/> + </model> + <model name='ball_clone_1'> + <pose frame=''>-1.00346 -0.902067 0 0 -0 0</pose> + <link name='link'> + <collision name='collision'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + <max_contacts>10</max_contacts> + <surface> + <contact> + <ode/> + </contact> + <bounce/> + <friction> + <torsional> + <ode/> + </torsional> + <ode/> + </friction> + </surface> + </collision> + <visual name='visual'> + <geometry> + <sphere> + <radius>0.1</radius> + </sphere> + </geometry> + </visual> + <self_collide>0</self_collide> + <inertial> + <pose frame=''>0 0 0 0 -0 0</pose> + <inertia> + <ixx>1</ixx> + <ixy>0</ixy> + <ixz>0</ixz> + <iyy>1</iyy> + <iyz>0</iyz> + <izz>1</izz> + </inertia> + <mass>1</mass> + </inertial> + <enable_wind>0</enable_wind> + <kinematic>0</kinematic> + </link> + <plugin name='model_push' filename='libmodel_push.so'/> + </model> + </world> +</sdf>