Visually-Guided Return to Base

3689660313?profile=originalThis video shows work done this summer by Washington and Lee student Conan Zhao '16. Conan used the PyQuadSim and OpenCV Python packages to create a realistic V-REP simulation of a quadcopter returning to its takeoff point using a combination of GPS and visual information.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Thanks for sharing, Simon! It looks great. Don't hesitate to reach out if you need anything. 

    We oftentimes receive requests regarding target orientation (yaw) identification. Many applications deal with stationary targets, so we usually recommend that the desired yaw be 'set/fixed' as a parameter for each landing pad. However, there are definitely cases where the orientation needs to be assessed visually. 

  • Thanks Daniel! Your APM work looks fantastic, similar mission with more practical software.

    PyQuadSim is built on V-REP, which I use in teaching & research. We added some Lua code to communicate with Python code over a socket, so all you need to use it is Python. The other big plus is drag-n-drop functionality you get with V-REP, because like you we are aiming to add ground vehicle launch bases. Big downside is slow simulation speed, even on a fast computer with lots of RAM (V-REP simulates every freakin' object, down to air particles, with its own script, and the socket comms take time too) So it's not quite ready for SITL, but does provide a nice platform where even novice programmers can try out nontrivial mission ideas.

    Anyway, if you try PyQuadSim and run into difficulty, let me know. Conan's code isn't on our github yet, but I can share it with you privately if you like.

  • Very cool. Nice job. I'm really interested in the pyquadsim.
  • But our industry partner is 100%  Windows + MissionPlanner. So despite our fondness for Ubuntu (and Naze/ Multiwii!)  we're aiming to integrate smoothly with MP.  I'm preparing another, lengthier post showing how it all fits together

  • Thanks, Randy! We were indeed inspired by Thomas Stone's IR.Lock. I bought one of their kits and arm now learning to code PixyCam firmware myself.  Meanwhile this new little Python package should make it easier for OpenCV  and other Python to command Pixhawk and other MAVLink-speaking flight controllers:

    Daniel's work looks very similar as you say. 

    Python support for autopilot on MAVLink-based flight controllers - simondlevy/MAVLinkAutoPylot
  • Developer

    Looking good.  So similar in some ways to the precision landing work that the Thoms/IR-Lock and Daniel Nugent has done (a bit more like Daniels' than IR-Lock).

    This simulation seems to have the additional feature that the vehicle rotates itself based upon the landing pad (see the 3 dots) orientation.

This reply was deleted.