This software package simulates and analyses collisions between a walking pedestrian model and a mobile robot to investigate the risk associated to such human-robot collisions and to support safety-guided robot design. The software lets both agents approach each other and collide with different angles and speeds, using the simulation engine Bullet (via pybullet).
It is recommended to use a virtual environment to setup the simulation. Process to setup the environment and install all dependencies is given below.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtThe simulation can be excuted by the following command,
python path/to/human-robot-collider/src/hrc.py
| Argument | Options | Help |
|---|---|---|
-h, --help |
Show the help message and exit | |
-b, --human |
man, child |
Human to collide with the robot (default = man) |
-r, --robot |
qolo, wheelchair, pepper |
Robot to collide with the human (default = qolo) |
-c, --controller |
no_control, admittance, passive_ds |
Adaptive controller to use (default = no_control) |
-g, --gui |
Set to show GUI |
If --gui argument is activated, plot of collision force are drawn after each collision.
At the end of all simulations, collision_forces array for all collisions are saven in controlled_collision.npy for future use.
- To run simulation of collision between a man and qolo using admittance controller (with gui),
python src/hrc.py -b adult -r qolo -c admittance -g- To run simulation of collision between a child and qolo using admittance controller (with gui),
python src/hrc.py -b child -r qolo -c passive_ds -g- To run simulation of collision between a child and qolo using no compliance controller (with gui),
python src/hrc.py -b child -r qolo -c no_control -g