Code Monkey home page Code Monkey logo

dvmpc's Introduction

Deep Visual MPC-Policy Learning for Navigation

Summary: Our method, DVMPC can realize the navigation with obstacle avoidance by only using an RGB image. Our control policy, PoliNet is trained under the same objectives as Model Predictive Control(MPC), which includes, image loss, traversability loss and reference loss.

Please see the website (http://svl.stanford.edu/projects/dvmpc/) for more technical details. This repository is intended for distribution of the code and its instruction.

Paper

"Deep Visual MPC-Policy Learning for Navigation"

System Requirement

Ubuntu 16.04

Chainer 4.1.0

Python Pillow 1.1.7

ROS KINETIC(http://wiki.ros.org/kinetic)

Nvidia GPU

How to use DVMPC

We are providing DVMPC, which can realize the navigation with obstacle avoidance by only using an RGB image.

Step1: Download

git clone https://github.com/NHirose/DVMPC.git

Step2: Camera Setup

DVMPC can only accept the 360-degree camera image to capture the environment in front of the robot. We highly recommend to use RICOH THETA S.(https://theta360.com/en/about/theta/s.html) Please put the camera in front of your device(robot) at the height 0.460 m not to caputure your device itself and connect with your PC by USB cable.

Step3: Image Capturing

To turn on RICOH THETA S as the live streaming mode, please hold the bottom buttom at side for about 5 senconds and push the top buttom.(Detail is shown in the instrunction sheet of RICOH THETA S.)

To capture the image from RICOH THETA S, we used the open source in ROS, cv_camera_node(http://wiki.ros.org/cv_camera). The subscribed topic name of the image is "/cv_camera_node1/image". We recommend that the flame rate of image is 3 fps.

Step4: Publishing subgoal image

DVMPC can follow the visual trajectory, which is consructed by the time consecutive 360-degree images. So, before the navigation, you need to collect the visual trajectory by tele-operation of the robot. Our code subscribes the visual trajectory as "/cv_camera_node2/image_ref". Therefore, you need to feed the subgoal image from the visual trajectory into "/cv_camera_node2/image_ref".

Step5: Runing DVMPC

The last process to have the navigation is just to run our algorithm.

python dvmpc.py

The published topic name for the velocity reference is "/cmd_vel_mux/input/ref_GONetpp". "img_ref" is the topic name for the current and subgoal images. And, front and back predicted images for 8 steps by VUNet-360 are published as "img_genf" and "img_genb". If your implementation sounds correct, the 8-th predicted images should be similar to the subgoal image.

License

The codes provided on this page are published under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License(https://creativecommons.org/licenses/by-nc-sa/3.0/). This means that you must attribute the work in the manner specified by the authors, you may not use this work for commercial purposes and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same license. If you are interested in commercial usage you can contact us for further options.

Citation

If you use DVMPC's software or database, please cite:

@article{hirose2019deep,
title={Deep visual mpc-policy learning for navigation},
author={Hirose, Noriaki and Xia, Fei and Mart{'\i}n-Mart{'\i}n, Roberto and Sadeghian, Amir and Savarese, Silvio},
journal={IEEE Robotics and Automation Letters},
volume={4},
number={4},
pages={3184--3191},
year={2019},
publisher={IEEE}
}

dvmpc's People

Contributors

nhirose avatar

Stargazers

Pu Xu avatar  avatar JUNGEE HONG avatar MedlarTea (Hanjing YE) avatar  avatar  avatar  avatar Jinjian Li avatar Kushagra Srivastava avatar Amir  avatar LexRobot avatar  avatar  avatar  avatar  avatar Ihab S. Mohamed avatar Nicola Russo avatar  avatar LZF avatar Donghee avatar Qingnan Fan avatar Pusen avatar Chan avatar  avatar Liqian Ma avatar  avatar HY avatar

Watchers

HY avatar  avatar LZF avatar

dvmpc's Issues

camera intrinsic parameters

May I ask if it is possible to publicly release the camera intrinsic parameters and camera placement parameters of the GS4 dataset?Thank you!

Labels of GS4

Hi @NHirose,
I currently reviewed your work 'Deep Visual MPC-Policy Learning for Navigation' which is really fascinating. I also download your dataset from http://svl.stanford.edu/projects/dvmpc/dataset/. However, there is a simple confusion to me.
The dataset inside contains images and list file as the format:

imgall_360view_no1vc/img_no1vc_1.jpg 1
imgall_360view_no1vc/img_no1vc_2.jpg 1
imgall_360view_no1vc/img_no1vc_3.jpg 1
imgall_360view_no1vc/img_no1vc_4.jpg 1
imgall_360view_no1vc/img_no1vc_5.jpg 1
imgall_360view_no1vc/img_no1vc_6.jpg 1
...

I confused about the meaning of '1' and where is the real corresponding robot linear and angular velocities.
It's really appreciate if you can help with this question.
Hugh

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.