rayvburn / humap_local_planner

Human-aware robot trajectory planner using a hybrid trajectory candidates generation and spatiotemporal cost functions
BSD 3-Clause "New" or "Revised" License
0 stars 1 forks source link
human-aware-navigation local-planning navigation planning robot ros social-robots

humap_local_planner

A local planning module for A Framework to Simulate Human Behaviour in Robot Research

Planner behaviour

Finite state machine of the planner is shown in the following diagram:

@startuml
state "Initiate Movement" as init
state "Move" as move
state "Adjust Orientation" as adjust
state "Stop" as stop

[*] --> init
init --> move : reached orientation \n of the first pose in a global plan \n (30 degrees tolerance)
move --> adjust : \treached goal position
adjust --> stop : \treached goal orientation
stop --> init : received new \n goal pose
@enduml

Prerequisites

apt packages

sudo apt install ros-$ROS_DISTRO-costmap-converter

teb_local_planner

Slightly modified teb_local_planner (its 'utils' in particular) is currently required for operation:

ROS Kinetic

git clone -b robot-footprint-model-access-fix git@github.com:rayvburn/teb_local_planner.git

ROS Melodic:

git clone -b melodic-devel-robot-footprint-model-access-fix git@github.com:rayvburn/teb_local_planner.git

fuzzylite

Additionally, fuzzylite library built from source is required to run humap_local_planner. Follow these steps:

cd ~/
mkdir libraries
cd libraries
git clone https://github.com/fuzzylite/fuzzylite.git

The run fuzzylite/build.sh script as pointed in library build instructions.

Disclaimer

This research code is provided with the intention of being helpful, but it comes with no guarantees; neither the implied warranty of merchantability nor fitness for any specific purpose is provided.