3DR X8+ | DroneKit | Vision System

Hello diydrones community :)


As part of my studies I started working on this 3DR X8+ octocopter almost 4 months ago.

At this point it must be said that this is my very first experience with drones.

Nevertheless, the project I am working on is quite ambitious.

The final goal is to have a drone takeoff a

nd land from an Unmanned Surface Vehicle (USV).

In light of the fact that I have only 2 months left until my visa expires (I am a student from Germany), that goal probably wont be accomplished by me. However, I try to get as much done as possible.

So far, I have used MAVProxy and DroneKit (awesome tool!) to program and fly my desired flight pattern.

Furthermore, I made use of the SITL simulator to test every python module I wrote before taking the drone out to the field.

The flight pattern looks somehow like this:


The drone shall takeoff, fly towards an object of interest, perform a ROI flight, fly back to the USV, and land there.

I do admit that it took me quite a while to read up on the topic, but thanks to you, 3DR, and the wiki documentation I could achieve some successes.

Now that the mission itself is working, I am focusing on the main difficulty and that is landing on the top deck of the USV.

My idea is to develop a vision system that can be used to determine the relative position of the USV in the final stage of the aforementioned mission.

Therefore, I bought the required equipment (Odroid U3, Logitech C920, etc.) and followed this instructions to establish the connection between the companion computer and the Pixhawk.

Furthermore, I designed a frame to mount the webcam underneath the drone. Here is a picture of the 3D printed prototype.3689661615?profile=originalSo, I guess I can say that I am making progress :)

However, there is one thing that bothers me and that I just can't explain... maybe you guys can help me out once again.

The python module I wrote will be executed when the flight mode is changed to ALT_HOLD.

Whenever the user changes back to LOITER he will gain manual control.

Now, for some reason I have a varying delay between flipping the switch to ALT_HOLD and the drone showing reaction.

In fact, the props begin to spin only after 15 to 84 seconds. When I did connect to the Odroid via PuTTY I also noticed that the change of the flight mode is equally displayed with a major delay. At this point, I am clueless.

Some further information: The Odroid connects to the telem1 port of the Pixhawk. The telem1 baud rate is set to 1500.

The link cable is built out of a FTDI cable and the DF13 6 Pin connector.

I'd really like to hear your suggestions, comments, or clues :)



E-mail me when people leave their comments –

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

Join diydrones


  • @dronebohne


    Landing on a moving target would be fun. :) It would require the moving target to have its own GPS unit. The IR-LOCK and FollowMe codes could probably be combined to achieve this. 

  • @Thomas:

    Excellent work! Nice Videos.

    Have you ever tried to land on a moving target? :)


    Sounds like a very interesting (and challenging) project.

    May I ask you what your background is and whether or not there are more projects of this kind at Stuttgart University?  I'm asking because I'm currently looking out for where to do my masters program and I might consider to keep on working with UAVs.

    Thank you for the offer to collaborate :) If I run into any major trouble I'll let you know. Please don't hesitate to do the same.

    Good luck with your project!

  • @Ravi

    That is our work! :) We are very proud of it, and we are still moving forward with that approach. However, as I mentioned, we like to see a variety of approaches (so we can ultimately compile the best parts and pieces :)


    Great work. I saw your recent post... We primarily deal with outdoor UAV systems, so we use GPS + Vision for precision landing. Working indoors adds significant complexity (as you know :), since you lose the approximate positioning provided by GPS. Don't hesitate to shoot me a message anytime.   

  • Great project! We've been working on something technically very similar in Stuttgart University.

    Our goal is to assist  architectural robotic fabrication with drones and one of the challenges is a reliable indoor navigation system using vision techniques.

    We were lucky to have a computer scientist from India for two months, who helped with setting up ROS for SVO, SLAM, MSF and marker detection algorithms. Basically yours and our projects both need a precise landing position estimation.

    If you're interested, we could try collaborate on some aspects of such system. 

    In any case, good luck with the project!

  • I think you can collaborate with these guys.


  • Ultimately, we want to land on 3x3 ft pads (~1x1 meter). But the dock will be a few feet larger than that... We have found that consistently landing on the small pad requires quite a bit of controls optimization. Currently, we prefer to focus more on the machine vision aspects. 

    I am glad Randy solved your issue. Our strategy is somewhat different than yours, but it is definitely good to see a variety of approaches to solving these problems. I hope the project continues. Feel free to reach out anytime. 

  • @Roberto: The answer is fairly simple: I'm a beginner and I haven't even heard of ROS before.

    However, I found DroneKit very useful and easy to use.

    @Thomas: Thanks :) How big is you landing area going to be?



    Thanks to Randy...

    "Looking good.  I'm not sure what the delay is but surely it's a big build up of data on one of the serial ports.  So the receiver is either not processing the messages fast enough or too much data is being sent."

    ... I could get rid of the mentioned delay.

    I was so excited that I flew a couple of outdoor test right away. Everything worked as expected.

    Now I will focus on the vision system development.

  • Hi drohnebohne, 

    I don't have any helpful information regarding your particular issue (sorry). But I just wanted to say that your project is cool.... Our current project is to RTL back to our docks (with a small landing area).

  • Moderator

    Why you don't use directly ROS instead to use Dronekit ? I think that for your application it's more flexible solution 

This reply was deleted.