Giter Site home page Giter Site logo

kavitshah1998 / hector-moveit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tahsinkose/hector-moveit

0.0 0.0 0.0 5.79 MB

Hector Quadrotor with MoveIt! Motion Planning Framework

License: MIT License

CMake 0.84% C++ 97.96% C 0.88% Python 0.12% Shell 0.02% M 0.01% MATLAB 0.17%

hector-moveit's Introduction

Getting Started

This project depends on MoveIt! framework and Gazebo 9. In order to get all necessary packages, run the commands:

sudo apt-get install gazebo9 libgazebo9-dev ros-melodic-gazebo9*
rosdep install --from-paths src --ignore-src -r -y --rosdistro melodic

After that, the repository should be cloned with all its submodules:

git clone --recurse-submodules https://github.com/tahsinkose/hector-moveit.git

Since, Github does not support partial submoduling yet, the package hector_gazebo_termal_camera should be deleted after above command is executed.

In order to build the project execute catkin build. Since there are roughly 30 packages, build time may be around 5 minutes.
To run the project, launch consecutively:

roslaunch hector_moveit_gazebo orchyard_navigation.launch
roslaunch hector_moveit_exploration explore.launch

hector-moveit

Hector Quadrotor with MoveIt! Motion Planning Framework.

This project aims a generic application that can autonomously manipulate a quadcopter with the minimal human-operator intervention. In order to implement Motion Planning primitives, MoveIt! framework is being used. This work highly inspires from the references outlied below.

What is New?

The new thing is the usage of MoveIt! code API so as to implement a 3D autonomous navigation stack for a Quadcopter. Referenced projects and the several others not referenced directly but have similar context use only GUI. As known, despite being a moderately skilled one, MoveIt! GUI is there for just testing purposes. For those who seek industrial applications with a really complex architecture (e.g. several drones as swarms or teams, with image processing or machine learning modules), usage of code API is the inevitable task to consider. In that sense, this project possesses quite a big potential and aims to have a frontier role. Any who interested is greatly welcomed to contribute!

Simulation View

Garden ViewGarden View Garden ViewGarden View Garden ViewGarden View

Exploration v1

Orchard Exploration

Exploration v2

Exploration version 2 is explained in further detail in the Development log. In summary, missions that were postponed into this version are implemented except one particular mission. According to the log, orientation fixation and trajectory action is succesfully implemented. Only task delayed to version 3 is the grid approach. Also, a very simple metrics is devised to quantify the success of the stack itself. Initial statistics are outlined in this comment. They are very important and will provide the basis for enhancements on version 3.

Exploration v3

Orchard Exploration v3

In this version, the last proposed feature is implemented, i.e. there is a grid heuristics in which the drone does not navigate back into the cells that it previously visited. I have observed an inversely linear relation between the grid size and exploration percentage in 10 minutes. For example, for a 25x25 grid, the exploration rate was at most 32% whereas, in 15x15 case it boosted up to 37% degrees. In the final case, 13x13 grid allowed the drone to explore 40.7% of the volume in 10 minutes. With much more advanced heuristics, it is possible to increase this number.

Consequently, a new RViz panel for Exploration stack is developed in which the grid can be interactively inspected and the exploration rate can be observed. In future, there might be some user interface logic for particular areas to be investigated, but in the foreseeable future it is not on the To-Do list.

Exploration GUIExploration GUI

In order to welcome newcomers, status quo of simulation is the best advertisement. For further detail, go to Development log.

Object Detection v1

It has officially started! I will try to implement a ROS node that detects and collects valuable information (centers in 3D WCS, their dimensions) of trees and fruits. Current candidate is YOLO. I aim to produce a custom dataset consisting of snapshots from simulation view.

References

ROS Quadrotor Simulator by Wil Selby

Autonomous Flight by Alessio Tonioni

Darknet Retraining with Custom Dataset by Riccardo Grin

Note: If you know other similar projects that have the same context with the proposed ability, please inform me so that I can list them as a reference.

hector-moveit's People

Contributors

tahsinkose 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.