Bastian Hofmann 80da2d4153 Never changed ActorPlugin to Action, instead minor renaming and tweaks.
Updated launch file to support GPU-acceleration of the gazebo client.
Created behavior tree for actor
Updated robot urdf, added better visualization and colliders.
2022-03-14 21:02:55 +01:00

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>