Skip to content

Latest commit

 

History

152 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIAR_NAVIGATION

Planning navigation for SIAR robotics platform.

Description

siar_navigation allows you to implement a navigation system based in a controller, costmap and a planner. The controller is implemented in the siar_controller package and allows avoid positive and negative obstacles. The costmap is implemented in siar_costmap package and detects positive and negative obstacles from sensor data and provides the user with a cost map taking into account the position of the obstacles. The planner is implemented in the siar_planner package and computes a path taking into account a costmap. The planner can use the next algorithms to compute the path: RRT, bi-RRT, t-RRT and t-bi-RRT.

How to use

We recommend to use the provided docker for testing the developments.

Option 1: Docker

Just build the provided DockerFile in its folder:

 $ cd docker
 $ docker build . -t siar

Then, you can start the docker with the provided file and run the experiments as listed in section Experiments

 $ ./run_container_linux.bash

Dependencies

To compile and execute successfully siar_navigation is necessary to install compile the next packages into a Ubuntu 16.04 system with ROS Kinetic:

  • costmap-2d, navigation, gazebo-ros, gazebo-ros-pkgs, gazebo-ros-control and libann-dev.
sudo apt-get install ros-kinetic-costmap-2d
sudo apt-get install ros-kinetic-navigation
sudo apt-get install ros-kinetic-gazebo-ros
sudo apt-get install ros-kinetic-gazebo-ros-pkgs
sudo apt-get install ros-kinetic-gazebo-ros-control

sudo apt-get install libann-dev

From the repository robotics-upo are necessary the next packages:

Robotics paper simulations

Here you can find the instruction for executing the simulations presented in the paper "Advanced sampling-based planning strategies for a sewer inspection reconfigurable robot" submitted to the Robotics journal of MDPI. The three different planners were tested in the in a testbench of simulations in synthetic maps, where the planner with the best performance was t-RRT. Finally, the RRT* planner was tested in realistic simulations using the Gazebo high fidelity robot simulator. The model and world used in the simulations can be found at [https://github.com/robotics-upo/siar_simulator].

All the code was developed and tested in Ubuntu 18.04 and ROS Melodic.

Synthetic map

Run the following command to execute all the synthetic map simulations presented in the paper:

rosrun siar_planner test_all_algorithms_synthetic.sh <number_of_tests>

It allows you to execute all the proposed tests in the scenarios a given number of times. E.g, for ten times:

rosrun siar_planner test_all_algorithms.sh 10

Gazebo simulation

To execute the Gazebo simulations, it is necessary to follow the next steps:

  1. Download the siar_simulator package into a ROS workspace from [https://github.com/robotics-upo/siar_simulator]

  2. Compile the ROS workspace

catkin_make
  1. Execute:
roslaunch siar_gazebo siar_simulator_complete_T130_gut30.launch

to have a SIAR with seven cameras, or:

roslaunch siar_gazebo siar_simulator_complete_T130_gut30_velodyne.launch

to have SIAR with six cameras and one velodyne.

IMPORTANT: this launchers will start the simulator in pause mode to avoid conflict when spawing the different models. The siar_costmap module will generate some errors that will no longer thrown just by pushing play in the Gazebo simulator.

  1. Execute:
roslaunch siar_planner planner_action_server_simulation.launch

To use differents planners just change the parameter planner_type from to one of the following options: 'rrt', 'trrt', 'birrt', 'tbirrt'.

Congratulations !!! now you are ready to navigate with SIAR in sewer environment.

About

Compilation of packages for navigation in sewers with the SIAR platform

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages