Giter Club home page Giter Club logo

structuralinspectionplanner's Introduction

StructuralInspectionPlanner

Beta version

The structural inspection path planning algorithm presented in our paper contribution [1] is released as an open-source toolbox. The algorithm assumes a triangular mesh representation of the structure and employs an alternating two-step optimization paradigm to find good viewpoints that together provide full coverage and a connecting path that has low cost. In every iteration, the viewpoints are chosen such that the connection cost is reduced and, subsequently, the tour is optimized. Vehicle and sensor limitations are respected within both steps. Sample implementations are provided for rotorcraft and fixed-wing unmanned aerial robots.

Additional functionality allows exportation of the computed paths to drone mission files. Supported systems are PX4/Pixhawk and DJI drones, as well as the RotorS simulator and will be extended in the future. (Refer to the utils section)

Installing the toolbox

To use the toolbox a ROS indigo installation with catkin set-up and the following extra packages are required:

libeigen3-dev
ros-indigo-tf
ros-indigo-rviz
ros-indigo-octomap
ros-indigo-octomap-msgs

Once these are there, a baseline example on how to get and install the tool is the following:

$ mkdir catkin_ws_repos # assuming you want to enter a new catkin directory
$ cd catkin_ws_repos # alternatively just cd your normal catkin workspace
$ mkdir src # assuming this folder does not exist
$ cd src/
$ catkin_init_workspace
$ git clone [email protected]:ethz-asl/StructuralInspectionPlanner.git
$ cd ..
$ catkin_make
$ source devel/setup.bash

The build process should then be executed and successfully complete. Subsequently open two separate shells and run the following two commands to execute the baseline demo of the algorithm:

Shell #1

roslaunch koptplanner kopt.launch

Shell #2

rosrun request request 

For visualization puprposes, a 3rd terminal has to be launched:

Shell #3

rosrun rviz rviz

Add the necessary displays:

‘Path’ on topic ‘visualization_marker’
‘Marker’ on topic ‘viewpoint_marker’
‘Path’ on topic ‘stl_mesh’
‘Marker’ on topic ‘scenario’

To display the progress, chose ‘/kopt_frame’ as fixed frame or publish a suitable transform.

Detailed Documentation

Detailed documentation may be found at the Wiki!

References:

  1. A. Bircher, K. Alexis, M. Burri, P. Oettershagen, S. Omari, T. Mantel and R. Siegwart, “Structural inspection path planning via iterative viewpoint resampling with application to aerial robotics,” in Robotics and Automation (ICRA), 2015 IEEE International Conference on, May 2015, pp. 6423–6430.
  2. K. Helsguan, "An effective implementation of the lin-kernighan traveling salesman heuristic", European Journal of Operational Research, vol. 126, no. 1, pp. 106-130, 2000.
  3. H.J. Ferreau and A. Potschka and C. Kirches, "qpOASES"
  4. S. Karaman and E. Frazzoli, "Sampling-based algorithms for optimal motion planning", International Journal of Robotics Research", vol. 30, no. 7, pp. 846-894, 2011

If you use this software in a scientific publication, please cite the following paper:

@INPROCEEDINGS{BABOOMS_ICRA_15, 
author = "{A. Bircher, K. Alexis, M. Burri, P. Oettershagen, S. Omari, T. Mantel and R. Siegwart}",
booktitle = {Robotics and Automation (ICRA), 2015 IEEE International Conference on}, 
title={Structural Inspection Path Planning via Iterative Viewpoint Resampling with Application to Aerial Robotics},
year={2015}, 
month={May}, 
pages={6423-6430}, 
}

Credits:

This algorithm was developed by Andreas Bircher with the help and support of the members of the Autonomous Systems Lab. The work was supported by the European Commission-funded projects AEROWORKS and ICARUS.

Contact:

You can contact us for any question or remark:

structuralinspectionplanner's People

Contributors

birchera avatar fmina avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

structuralinspectionplanner's Issues

[ERROR] [1484648484.484819948]: Error occured! ID: 3

I started to use your package, for the demo scenarios it works well, after solve the things shown in other issue. Although now I tried with a model create by myself ( in fact is a relief of a place here in Spain). I keep the same configuration (rotorcraft, as installed), include the file call in the CMakeList, generate the four files as the demo scenarios.

In the terminal: roscore / roslaunch koptplanner lamarrador.launch / rosrun request Lamarrador / rosrun rviz rviz ( Eacha one in a different terminal).

I can see in the Rviz the mesh, the arrows and then stop.

In the terminal with: roslaunch koptplanner lamarrador.launch
Appear this message:

process[Inspection_Planner-1]: started with pid [3159]
[ INFO] [1484648442.444139805]: Service started
[ INFO] [1484648484.121543533]: Request received
[ INFO] [1484648484.124552668]: STARTING ITERATION 0
[ERROR] [1484648484.484819948]: Error occured! ID: 3

And in the terminal with: rosrun request Lamarrador
Appear this message:

[ERROR] [1484648484.493207371]: Failed to call service planner

Is there any require to the planner that I should call ? Or any other file I must create ?

At first I thing could be my mesh was so big (550000 faces) bur I Simplify to 500 to test and happens the same problem.

I`m using Ubuntu 16.04 - ROS Kinetic in a VMware Fusion.

screen shot 2017-01-17 at 11 55 24 am

screen shot 2017-01-17 at 11 55 33 am

In "Add the necessary displays", i can't find topic stl_mesh and scenario

Add the necessary displays:

‘Path’ on topic ‘visualization_marker’
‘Marker’ on topic ‘viewpoint_marker’
‘Path’ on topic ‘stl_mesh’
‘Marker’ on topic ‘scenario’

To display the progress, chose ‘/kopt_frame’ as fixed frame or publish a suitable transform.

In the above steps, i can't add ‘Path’ on topic ‘stl_mesh’. So, the same as ‘Marker’ on topic ‘scenario’.
I also cannot find the fixed frame ‘/kopt_frame’.
Can you help me?

Werid viewpoint orientation

Hi,

I find this interesting work recently and implement the applications on a mesh model of terrain as below. I changed the parameters of sensor pitch angle to 45 because I think the UAV should be always above the terrian, and reduce the FOV of camera to simulate a real one. But based on the visualization result, I found that most viewpoints are nearly horizontal that I think is not very reasonable.

Does the parameters I set are wrong? Any comment is appreciate.

Thanks,

Holistic view:

screenshot from 2017-07-22 19-16-58

Detailed view:

screenshot from 2017-07-22 19-24-00

Kinetic - Ubuntu 16.04 - Rviz Empty

I followed the steps to install the Structural Inspection Planner on Ubuntu Ubuntu 16.04 - ROS - Kinetic which is ok.
I execute in the terminal: roscore / roslaunch koptplanner hoaHakanaia.launch / rosrun request hoaHakanaia (each one in different terminals) and in another rosrun rviz rviz ( this open the Rviz) but is empty.

I tried to add the necessary displays, as shown in the tutorial (https://github.com/ethz-asl/StructuralInspectionPlanner):

‘Path’ on topic ‘visualization_marker’
‘Marker’ on topic ‘viewpoint_marker’
‘Path’ on topic ‘stl_mesh’
‘Marker’ on topic ‘scenario’

But I just found to add the two first, and after add them, nothing change. Nevertheless if I type in the terminal rostopic list /stl_mesh and /scenario appear.

In fact,I can put this four displays (‘Path’ on topic ‘visualization_marker’; ‘Marker’ on topic ‘viewpoint_marker’; ‘Path’ on topic ‘stl_mesh’; ‘Marker’ on topic ‘scenario’) if I make a little trick, which means if after done all the informations on the terminal when the Rviz open I insert the displays in the inverse order... first scenario then stl_mesh;
When I add the ‘Marker’ on topic ‘viewpoint_marker’ appear a error, because the Rviz started with Fixed Frame 'map'. Is do not have option to change but I can right there to /kopt_frame and add ‘Marker’ on topic ‘viewpoint_marker’ again and do not have more the error signal.
But the display still empty. I tried it with different models of the demo and happens the same thing.

And as the attached print screen appear a Fixed Frame message: "No tf data. Actual error: Fixed Frame [kopt_frame] does not exist"

Have someone use the Structural Inspection Planner in Ubuntu 16.04 with ROS kinetic ? Is necessary
to change anything ?

screen shot 2017-01-13 at 3 34 00 pm

screen shot 2017-01-13 at 3 59 31 pm

screen shot 2017-01-13 at 3 59 57 pm

screen shot 2017-01-13 at 4 18 06 pm

Output the TSP result?

The output path in Matlab format is sorted, any method we can trace the result of TSP? Thanks.

No file "inspection.h"

I was trying to execute the source code plan.cpp but it shows that the header file "koptplanner/inspection.h" does not exist.I checked the file is not in the repository. Can it be made available?
Thank you.
-Anwesha

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.