This repository provides the arena_human_plugin
- a generic Gazebo Garden plugin for controlling human pedestrians in the Arena-Rosnav navigation framework.
The plugin serves as a universal interface between human simulation systems and Gazebo, enabling standardized pedestrian control across different human behavior simulators.
The Arena Human Plugin is designed to be a generic foundation for all human simulators in Arena-Rosnav. It provides:
- Standardized pedestrian control via
arena_people_msgs
- ECM-based entity management for Gazebo actors
- Simulator-agnostic interface for future human behavior systems
- Modular architecture separating generic control from simulator-specific logic
- HuNavSim (pedestrian simulation): https://github.com/robotics-upo/hunav_sim
- HuNav Gazebo Plugin: https://github.com/Arena-Rosnav/hunav_gz_plugin
- Arena-Rosnav: https://github.com/Arena-Rosnav
Additional human simulators will be integrated through this standardized interface, including:
- Pedestrian behavior models
- Crowd simulation systems
- Social navigation frameworks
/arena_peds
(arena_people_msgs/Pedestrians
) - Standardized pedestrian state and control commands
The plugin uses the Arena People Messages (arena_people_msgs
) package:
Pedestrian.msg
- Individual pedestrian state (position, orientation, velocity, animation)Pedestrians.msg
- Collection of all pedestrians with header information
┌─────────────────────┐ arena_people_msgs ┌──────────────────────┐
│ Human Simulator │ ──────────────────────> │ Arena Human Plugin │
│ (e.g. HuNavSim) │ /arena_peds │ (Generic Control) │
└─────────────────────┘ └──────────────────────┘
│
▼
┌──────────────────────┐
│ Gazebo ECM/Actors │
│ (Visual Simulation) │
└──────────────────────┘
- Actor Management: Spawn, update, and control Gazebo actors
- Position Control: Set actor positions and orientations via ECM
- Animation Integration: Coordinate actor animations with movement
- Transform Broadcasting: Publish TF transforms for each pedestrian
- EntityComponentManager integration for efficient Gazebo control
- Real-time updates via subscription to
arena_peds
topic - Thread-safe actor state management
- Configurable animation states and behaviors
- ROS 2 Humble
- Gazebo Garden (
gz-sim8
) - arena_people_msgs package
HuNavSim integration works through:
- HunavManager computes pedestrian behaviors
- Arena People Messages published to
/arena_peds
- Arena Human Plugin applies commands to Gazebo actors
- HuNav Gazebo Plugin handles simulator-specific features (obstacles, etc.)
New human simulators can integrate by:
- Publishing to
/arena_peds
topic usingarena_people_msgs
- Following the standardized message format
- Utilizing this plugin for Gazebo visualization
MIT License – see LICENSE for details.