Micro Quadcopter with Computer Vision and Range Sensors(Autonomous)

Hi I did not know where to put it so I put it here.

So I started a project a while ago to build myself a micro brushless quadcopter which should have computer vision and range sensors on board.
So I wanted to ask:

What Board should I use for this and how do i make the processing on my computer/smartphone and send commands back to the uav to react to the cv (The board should not be bigger than 50mmx50mm).
Would the VoCore v2 work for this?
What Software to use?

My parts for now(I dont know if the board is possible for this):

Micro APM
minimOSD
4x mini brushless motors
4x 3A ESCs
Telemetry module to control the quadcopter
I dont have much experience with this topic so I hope somebody can help and explain me some stuff.

Hello,

You can take a look at @anbello work here:
http://ardupilot.org/dev/docs/ros-aruco-detection.html

and

  • Blog post Indoor autonomous flight with Arducopter, ROS and Aruco Boards Detection: A similar system to the one described here but on the quadcopter there is a Raspberry Pi 0 (instead of Raspberry Pi 3), due to the limited computing resources the aruco_gridboard node run on desktop PC and the relevant data (mainly images and pose estimation) are exchanged with the quadcopter using ROS messages.

I did a similar project with the Skyviper : Vision Positionning Experiments using SKYVIPER

Thanks for your reply,
The thing is i also thought about the Rpi 0 but the thing is: its too big.
An alternative I’ve found is the Nano Pi NEO Core 2.
Its 40mm x 40mm and it is better than the Rpi 0 if we talk about the Hardware.
But I dont know if it fits for a project like this.

Problem with the H5 is the heatsink, if you dont have the speed goes down and if you install, the thing weight more than your vehicle.
Other Issue with these processors is compatibility = try to find opencv + Nano Pi Neo Core 2 on google Hope you like building bootloaders and mess with Kernel Modules…

I suggest you start easy and progressively add difficulties , it is making the journey much more enjoyable !!! Have fun :slight_smile:

alright thanks for the advice
I think I will start with the Micro APM first to make the basics working.
The thing is cant I do the Video Processing external from the UAV and send the Data back via Telem?
So I dont have to use a SBC, just a Suitable Flight controller.

One “SBC,” not really an SBC i had in mind is VoCore2. But I would need to program it from the ground up.
Would that also work?

A micro APM wouldn’t be a good choice. It’s out of date and hasn’t been supported with firmware updates in some years. If you need a very small form factor FC look at a Omnibus F4 Nano V6. There are several other better choices no larger than a micro APM.

Yeah I just wanted to work with something I have at home right now.
How can I use CV and the Processed Data with the commands on the Omnibus F4
I want to make clear that I use a external computer or Smartphone to Process the CV data and send commands to the drone depending on the input.

How could I do this?

I gave you the answer on my first response
Let me elaborate a little more:
Skyviper , use onboard camera and transmit over wifi to a companion computer running OpenCV ARUCO code and process the position-location relative to the tag and then transmit back control command using MAvLink back to the Flight Controler over WIFI.

So from what you ask , I guess this is what you are looking for

I actually didn’t want to use commercially available drones for this project. I wanted to build it like from scratch. But thanks for the suggestion, I will definetly look into it

@anbello first experiment is based on a custom build microdrone transmitting over wifi using s RPI Zero, look at it on the link I provided

I will start with the Rpi Zero…but for my goal it’s just too big.

I don’t know what’s your goal in mm, anyway this is my microdrone with 130mm frame and 3 inch propellers. The Rpi 0 is under the top plate.

Edit:
Thanks to @ppoirier for referencing my experiments.

2 Likes

Really like your work btw. Mine was planned to be 110mm but now I’ll overthink the whole Project…
I think I will start with the RPi 0 but later i plan to work with the NanoPi NEO Core 2. So I have to do a lot of research xD

1 Like

Hi Anbello

Do I need to use sonar or lidar for altitude detection? If necessary, what should be the parameter information. Thanks for the help.

Hi erem
I did not use separate device for altitude detection (sonar or lidar), the only sensor used was the camera. From the detected Aruco Board i obtain the pose estimation of the drone: z, y, z, roll, pitch, yaw.

It is explained in the wiki:
https://ardupilot.org/dev/docs/ros-aruco-detection.html
and blog post: