Idea regarding path planning and No fly/Stay out zones

I am Apoorv Goyal.I am currently an undergrad majoring in a Electronics and Comms. Engineering.Because of a competition I came across flight controller Pixhawk and consecutively ArduPilot.The competetion is based on certain tasks that are to be undertaken autonomously without human interventioncomp link.
Major modules in our system are:

  • Telemetry and Communication(Video Feed)
  • Camera(Object detection)
  • Companion Computer(Image Processing)
  • Flight Controller and GCS
  • Dropping Mechanism

Major tasks:

  • Autonomous maneuvering through obstacles(still and moving).
  • Detecting objects on ground while in air.
  • Detect person from air and drop a package.
  • Telemetry logging

My idea
I would like to move on with the planning part so what i propose for GSoC is planning path through obstacles using RRT (Rapidly-exploring Random Tree) running on a companion computer .Also i would like to continue with using this module to plan paths through areas with Stay Out/No Fly zones considering them as obstacles and using this algo to determine path.
Some doubts that i had in mind were ,if it would be better to use the algorithm on a companion computer on the drone itself(continuing with mission even if the GCS link breaks) or using the algo to determining way points on GCS and send the calculated path over the flight controller(eliminating the need for an on-board companion computer).What I inferred was that it was highly dependent on nature of mission.But still some performance regarding clarifications would help.
If you have any suggestion,reach me through Thank for your time.

1 Like


Sounds interesting. Personally I prefer to have as much as possible on the drone itself because the ArduPilot team has more control over that software and also it means the end user gets the feature regardless of which ground station they choose. So I’d vote for the feature being in a companion computer on the drone.

Here are some wiki pages that you may have already seen but linking them here just in case:

I like your proposals because although we have “simple” object avoidance in Copter at the moment, I’ve only enabled it for the more manual modes like Loiter. I haven’t included it in RTL or Auto because of the danger of a vehicle getting stuck behind something. So if your proposal focused on how a vehicle could work it’s way out from behind things that would be very interesting.

Looking forward to seeing your proposal!

Thanks for the reply,that was a real morale booster.

Like i mentioned earlier I am planning to use RRT to allow the vehicle (Rover ,Copter ,Plane etc.) to navigate through obstacles that are already known and mapped .It will create a path around the obstacle through a bunch of nodes given the source(current vehicle position) and destination point.A basic implementation of RRT is as shown:

It shows a source node and destination node being connected by a series of nodes (waypoints in our case).
I could really use help with the way point navigation and suggestions about setting the way points dynamically would be a great help.