Giter VIP home page Giter VIP logo

solo_tdirl's Introduction

SoLo T-DIRL

|Paper | Video|

This repository contains the codes for our ICRA2023 paper. For more details, please refer to the paper SoLo T-DIRL: Socially-Aware Dynamic Local Planner based on Trajectory-Ranked Deep Inverse Reinforcement Learning.

Abstract

This work proposes a new framework for a socially-aware dynamic local planner in crowded environments by building on the recently proposed Trajectory-ranked Maximum Entropy Deep Inverse Reinforcement Learning (T-MEDIRL). To address the social navigation problem, our multi-modal learning planner explicitly considers social interaction factors, as well as social-awareness factors into T-MEDIRL pipeline to learn a reward function from human demonstrations. Moreover, we propose a novel trajectory ranking score using the sudden velocity change of pedestrians around the robot to address the sub-optimality in human demonstrations. Our evaluation shows that this method can successfully make a robot navigate in a crowded social environment and outperforms the state-of-art social navigation methods in terms of the success rate, navigation time, and invasion rate.

Method Overview

Setup

  1. Install tensorflow-1.12.0 gpu version.
  2. Install Fetch gazebo simulation package.
  3. Install pedsim simulation environment following the instruction.
  4. Install PID controller ROS package inside your catkin workspace
git clone -b controller https://github.com/UMich-CURLY/Fetch_IRL.git tracking_pid
  1. Install our SoLo TDIRL package
git clone https://github.com/UMich-CURLY/Fetch_IRL.git
  1. Compile all packages.
cd ~/catkin_ws
catkin_make

Getting Started

This repository is organized into offline training and online testing.

Train a reward model.

  1. Launch pedsim gazebo simulation environment.
roslaunch fetch_irl launch_dynamic.launch
  1. Collect data. (Before collecting please change the data path and goal pose inside the main function of feature_expect.py)
roscd fetch_irl/script
python feature_expect.py
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  1. Train the policy
python fetch_irl.py

Testing

  1. Launch simulation environment.
roslaunch fetch_irl launch_dynamic.launch
  1. Launch SoLo T-DIRL.
roscd fetch_irl/script
python main.py
  1. Use 2D navigation goal button of RViz to naivgate the environment.

Simulation Videos

SoLo T-DIRL SARL
LSTM-RL CADRL

Citation

If you find the codes or paper useful for your research, please cite our paper:

@misc{SoLo_TDIRL,
  doi = {10.48550/ARXIV.2209.07996},
  url = {https://arxiv.org/abs/2209.07996},
  author = {Xu, Yifan and Chakhachiro, Theodor and Kathuria, Tribhi and Ghaffari, Maani},
  keywords = {Robotics (cs.RO), Artificial Intelligence (cs.AI), FOS: Computer and information sciences, FOS: Computer and information sciences},
  title = {SoLo T-DIRL: Socially-Aware Dynamic Local Planner based on Trajectory-Ranked Deep Inverse Reinforcement Learning},
  publisher = {arXiv},
  year = {2022},
  copyright = {Creative Commons Attribution 4.0 International}
}

solo_tdirl's People

Contributors

yifan-cloud avatar theochiro avatar tribhi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.