Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIP

VIP is a ROS package for experimental autonomous-quadrotor navigation in cluttered environments. The repository also contains the interfaces needed to replace the simulator with external odometry and sensing topics.

Paper

VIP: Variation-based Iterative-learning Planning for Robotic Navigation
arXiv:2608.24618

Media

The following recordings show the global-planning demo, the local-replanning demo, and representative real-world experiments. The GIFs are stored locally under Media/.

Global planning simulation Local replanning simulation

Global planning          Local replanning

Real experiment first view 1 Real experiment first view 2

Real experiment — first-person views

Real experiment overview

Real experiment — overview

This document is written for a first-time user. It uses a generic Catkin workspace under ~/catkin_ws; choose any workspace directory that is convenient for your system.

Prerequisites

The reference environment is Ubuntu 20.04 with ROS Noetic and Catkin. Install ROS before continuing, then make sure the following tools are available:

  • git
  • rosdep
  • catkin_make
  • Eigen and the standard ROS navigation, TF, PCL, and RViz dependencies

The package manifests are provided so that ROS can resolve most dependencies automatically.

Clone the repository

The commands below use ~/catkin_ws as the Catkin workspace. Create its src directory once if it does not exist, then clone the repository:

mkdir -p ~/catkin_ws/src
git clone https://github.com/lyushuli/VIP.git \
  ~/catkin_ws/src/VIP

Source ROS and install the package dependencies:

source /opt/ros/noetic/setup.bash
cd ~/catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro noetic -r -y

If ROS is installed in a different distribution, source that distribution and replace noetic in the rosdep command with the corresponding name.

Build

Build from the workspace root and source the resulting overlay in every new terminal that uses the packages:

cd ~/catkin_ws
catkin_make
source devel/setup.bash

For a clean rebuild, remove only the workspace's build/ and devel/ directories, then run catkin_make again. Do not remove the source directory.

Run the demos

Open a new terminal and source ROS and the Catkin workspace before starting either demo:

source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash

Global planning demo

The global demo plans one trajectory using the broad simulated sensing range and executes it without any automatic replanning. In this mode, leaving the tube or detecting a collision only produces a warning; the current trajectory is not replaced automatically:

roslaunch plan_manage tube_replan.launch \
  enable_replan:=false sensing_horizon:=50.0

Local replanning demo

The local demo uses a 10 m simulated sensing radius and enables replanning as the quadrotor moves. This is also the default mode, so the two commands below are equivalent:

roslaunch plan_manage tube_replan.launch \
  enable_replan:=true sensing_horizon:=10.0

# Equivalent shorthand using the default arguments:
roslaunch plan_manage tube_replan.launch

The launch file starts the planner, trajectory server, waypoint generator, quadrotor simulator, sensing simulation, and RViz. After RViz opens, select 2D Nav Goal and click a target position. Keep the goal inside the configured map (40 m x 20 m by default). In interactive mode, the planner uses a fixed goal height of 0.3 m.

Use external sensors or odometry

The simulation launch file uses /state_ukf/odom and the simulated point-cloud topics by default. For a real platform or another simulator, remap the odometry and sensing topics in the launch file or provide equivalent ROS topics before starting plan_manage. Verify the available topics with:

rostopic list
rostopic echo /state_ukf/odom

The required message types and topic names can be inspected in the launch files under il_planner/plan_manage/launch/.

License

Project-owned code without a file-specific notice is released under the LGPL-3.0-or-later license; see LICENSE. Copyright (c) 2025-2026 Shuli Lv.

Embedded third-party components retain their original copyright and license notices.

Acknowledgments

This project builds on Fast-Planner and Tube-RRT*.

About

Variation-based Iterative-learning Planning for Robotic Navigation

Resources

Stars

19 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages