This is a ROS package that contains a set of gazebo worlds, plugins and nodes.
This sets provides environments for a robot to learn social behaviors.
The models used in this package was developed by the author or imported from 3D Gazebo Models and OSRF Gazebo Models.
- Region.msg: Used to store a region representation with the region name and a set of points inside the region.
string name
geometry_msgs/Point[] points
- ActorTrajectory.srv: Used to request a actor to follow a determined pathway.
std_msgs/String animation
geometry_msgs/Pose[] waypoints
---
- Regions.srv: Used to request the set o regions available in a world.
---
social_worlds/Region[] regions
- check_collision_node: Node used to check if a model is in collision.
- check_region_node: Node used to check if a region is occupied by a model.
- real_time_factor_publisher_node: Node used to publish the gazebo real_time_factor on ROS ecosystem.
-
region: Define regions in the world and provide a service to get points in this regions.
- ex.:
<plugin name="path" filename="lib_regions.so"> <region name="start"> <layer>1</layer> <color>Green</color> <area>-6.75 0 1.5 4</area> </region> <region name="goal"> <layer>2</layer> <color>Blue</color> <area>6.75 0 1.5 4</area> </region> </plugin>
- Service provided:
- topic:
/regions/<plugin name>
- srv:
social_worlds/Region.srv
- topic:
-
actor_control: Used to control a actor by geometry_msgs/Twist interface.
- ex.:
<plugin name="actor_control" filename="libactor_control.so"/>
- You can control the actor using teleop_twist_keyboard:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=/<plugin name>/cmd_vel
-
link_actor_to_model: Used to link an actor to a model, so when the actor moves, the model moves as well.
- ex.:
<plugin name="link_human_1" filename="lib_link_actor_to_model.so"> <actor>human_actor_1</actor> <model>human_model_1</model> </plugin>
-
objects_publisher: Publish a set o objects position with a ROS topic.
- ex.:
<plugin name="objects" filename="lib_objects_publisher.so"> <model>box_1</model> <model>table_1</model> <model>picture_frame</model> <model>box_small_1</model> <model>box_small_2</model> <model>box_small_3</model> <model>box_3</model> <model>box_4</model> </plugin>
- publisher provided:
- topic:
/<plugin name>
- msg:
object_recognition_msgs/RecognizedObjectArray.msg
- topic:
-
people_publisher: Publish a set o persons position with a ROS topic.
- ex.:
<plugin name="people" filename="lib_people_publisher.so"> <model>human_actor_1</model> <model>human_actor_2</model> <model>human_actor_3</model> <model>human_actor_4</model> </plugin>
- publisher provided:
- topic:
/<plugin name>
- msg:
people_msgs/People.msg
- topic:
- simple_room
- simple_room__boxes
- simple_room__narrow_corridors
- simple_room__tables
- simple_room__boxes_small
- simple_room__mix_1
- simple_room__static_people
- simple_room__dynamic_people
- simple_room__mix_2
- simple_room__interaction_object
A simple room with 4 static persons looking to a object (picture) in the wall and forbidden(red) regions used for navigation purpose.
- simple_room__interaction_people
A simple room with 4 pairs of static persons looking to each others and forbidden(red) regions used for navigation purpose..
- simple_room__mix_3
- robocup_2019
- robocup_2019__receptionist
A representation of the 2019 RoboCup@home arena with objects and people used in the receptionist task.
- fei_k5
- fei_k5__marathon
A representation of test environment located at FEI University Center and used for a robot marathon.
Launch files used to start the package functionalities.
|-- launch
|--start_world.launch
|--check_regions_test.launch
|--real_time_factor_publisher_test.launch
-
start_world: Used to start a world in the package. Parameters:
- world_name: (string, default: empty) - World name.
- enable_gui: (bool, default: true) - Use or not the gazebo GUI (gzclient).
- paused: (bool, default: false) - Start simulation paused or not. Ex.:
roslaunch social_worlds start_world.launch world_name:=robocup_2019__receptionist
-
check_regions_test: Used to test check_region_node:
- world_name: (string, default: simple_room) - World name.
- region_name: (string, default: path) - Region to be checked. Ex.:
roslaunch social_worlds check_region_test.launch world_name:=simple_room region_name:=path rostopic echo /check_path
-
real_time_factor_publisher_test: Used to test the real_time_factor publisher.
- world_name: (string, default: simple_room) - World name. Ex.:
roslaunch social_worlds real_time_factor_publisher_test.launch rostopic echo /real_time_factor