Updated launch file to support GPU-acceleration of the gazebo client. Created behavior tree for actor Updated robot urdf, added better visualization and colliders.
320 lines
9.1 KiB
XML
320 lines
9.1 KiB
XML
<sdf version='1.7'>
|
|
<world name='default'>
|
|
<light name='sun' type='directional'>
|
|
<cast_shadows>1</cast_shadows>
|
|
<pose>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>
|
|
<spot>
|
|
<inner_angle>0</inner_angle>
|
|
<outer_angle>0</outer_angle>
|
|
<falloff>0</falloff>
|
|
</spot>
|
|
</light>
|
|
<model name='walls'>
|
|
<static>1</static>
|
|
<link name='walls_1'>
|
|
<self_collide>0</self_collide>
|
|
<pose>3 8 1.2</pose>
|
|
<collision name='collision'>
|
|
<geometry>
|
|
<box>
|
|
<size>10.1 .1 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name='visual'>
|
|
<geometry>
|
|
<box>
|
|
<size>10.1 .1 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</visual>
|
|
</link>
|
|
<link name='walls_2'>
|
|
<self_collide>0</self_collide>
|
|
<pose>3 -2 1.2</pose>
|
|
<collision name='collision'>
|
|
<geometry>
|
|
<box>
|
|
<size>10.1 .1 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name='visual'>
|
|
<geometry>
|
|
<box>
|
|
<size>10.1 .1 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</visual>
|
|
</link>
|
|
<link name='walls_3'>
|
|
<self_collide>0</self_collide>
|
|
<pose>8 3 1.2</pose>
|
|
<collision name='collision'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 9.9 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name='visual'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 9.9 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</visual>
|
|
</link>
|
|
<link name='walls_4'>
|
|
<self_collide>0</self_collide>
|
|
<pose>-2 3 1.2</pose>
|
|
<collision name='collision'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 9.9 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name='visual'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 9.9 2.4</size>
|
|
</box>
|
|
</geometry>
|
|
</visual>
|
|
</link>
|
|
</model>
|
|
<model name="lidar_1">
|
|
<static>1</static>
|
|
<link name="lidar_1_link">
|
|
<pose>1 -2 1 0 0 1.5707963267949</pose>
|
|
<!--<collision name='collision'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 .1 .1</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name='visual'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 .1 .1</size>
|
|
</box>
|
|
</geometry>
|
|
</visual>-->
|
|
<sensor name="laser_1" type="gpu_ray">
|
|
<pose>0.1 0 0 0 0 0</pose>
|
|
<ray>
|
|
<scan>
|
|
<horizontal>
|
|
<samples>270</samples>
|
|
<resolution>1</resolution>
|
|
<min_angle>-2.3561944901923</min_angle>
|
|
<max_angle>2.3561944901923</max_angle>
|
|
</horizontal>
|
|
</scan>
|
|
<range>
|
|
<min>0.05</min>
|
|
<max>10</max>
|
|
<resolution>0.05</resolution>
|
|
</range>
|
|
</ray>
|
|
<always_on>1</always_on>
|
|
<update_rate>10</update_rate>
|
|
<visualize>true</visualize>
|
|
|
|
<plugin name='laser_1_plugin' filename='libgazebo_ros_ray_sensor.so'>
|
|
<ros>
|
|
<namespace>/lidar_1</namespace>
|
|
<argument>--ros-args --remap ~/out:=scan</argument>
|
|
</ros>
|
|
<output_type>sensor_msgs/PointCloud2</output_type>
|
|
</plugin>
|
|
</sensor>
|
|
</link>
|
|
</model>
|
|
<model name="lidar_2">
|
|
<static>1</static>
|
|
<link name="lidar_2_link">
|
|
<pose>-1.9 1 1 0 0 </pose>
|
|
<!--<collision name='collision'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 .1 .1</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name='visual'>
|
|
<geometry>
|
|
<box>
|
|
<size>.1 .1 .1</size>
|
|
</box>
|
|
</geometry>
|
|
</visual>-->
|
|
<sensor name="laser_2" type="gpu_ray">
|
|
<ray>
|
|
<scan>
|
|
<horizontal>
|
|
<samples>270</samples>
|
|
<resolution>1</resolution>
|
|
<min_angle>-2.3561944901923</min_angle>
|
|
<max_angle>2.3561944901923</max_angle>
|
|
</horizontal>
|
|
</scan>
|
|
<range>
|
|
<min>0.05</min>
|
|
<max>10</max>
|
|
<resolution>0.05</resolution>
|
|
</range>
|
|
</ray>
|
|
<always_on>1</always_on>
|
|
<update_rate>10</update_rate>
|
|
<visualize>true</visualize>
|
|
|
|
<plugin name='laser_2_plugin' filename='libgazebo_ros_ray_sensor.so'>
|
|
<ros>
|
|
<namespace>/lidar_2</namespace>
|
|
<frameName>/lidar_2_link</frameName>
|
|
<argument>--ros-args --remap ~/out:=scan</argument>
|
|
</ros>
|
|
<output_type>sensor_msgs/PointCloud2</output_type>
|
|
</plugin>
|
|
</sensor>
|
|
</link>
|
|
</model>
|
|
<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>
|
|
<actor name="actor1">
|
|
<pose>0 1 1.25 0 0 0</pose>
|
|
|
|
<skin>
|
|
<filename>walk.dae</filename>
|
|
<scale>1.0</scale>
|
|
</skin>
|
|
<animation name="walking">
|
|
<filename>walk.dae</filename>
|
|
<scale>1.000000</scale>
|
|
<interpolate_x>true</interpolate_x>
|
|
</animation>
|
|
<plugin name="actor1_plugin" filename="/home/bastian/dev_ws/build/gazebo_ros_actor/libRosActorPlugin.so">
|
|
<target>2 2 1</target>
|
|
<target_weight>1.15</target_weight>
|
|
<obstacle_weight>1.8</obstacle_weight>
|
|
<animation_factor>5.1</animation_factor>
|
|
<ignore_obstacles>
|
|
<model>ground_plane</model>
|
|
</ignore_obstacles>
|
|
</plugin>
|
|
</actor>
|
|
<gravity>0 0 -9.8</gravity>
|
|
<magnetic_field>6e-06 2.3e-05 -4.2e-05</magnetic_field>
|
|
<atmosphere type='adiabatic'/>
|
|
<physics 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>
|
|
<state world_name='default'>
|
|
<sim_time>21 655000000</sim_time>
|
|
<real_time>21 863005214</real_time>
|
|
<wall_time>1644846646 70909467</wall_time>
|
|
<iterations>21655</iterations>
|
|
<model name='ground_plane'>
|
|
<pose>0 0 0 0 -0 0</pose>
|
|
<scale>1 1 1</scale>
|
|
<link name='link'>
|
|
<pose>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>
|
|
<light name='sun'>
|
|
<pose>0 0 10 0 -0 0</pose>
|
|
</light>
|
|
</state>
|
|
<gui fullscreen='0'>
|
|
<camera name='user_camera'>
|
|
<pose>5 -5 2 0 0.275643 2.35619</pose>
|
|
<view_controller>orbit</view_controller>
|
|
<projection_type>perspective</projection_type>
|
|
</camera>
|
|
</gui>
|
|
<plugin name="gazebo_ros_state" filename="libgazebo_ros_state.so">
|
|
<ros>
|
|
<namespace>/demo</namespace>
|
|
<argument>model_states:=model_states_demo</argument>
|
|
</ros>
|
|
<update_rate>1.0</update_rate>
|
|
</plugin>
|
|
</world>
|
|
</sdf>
|