ArduBee, a Ready-To-Fly Micro drone for Education and Swarming

Excellent work, good luck.

2 Likes

What camera models are into consideration? Do you have plans for VIO?

3 Likes

Looks really nice!
I have one of the 5" models and it flies very nicely in the ANU Vicon lab

2 Likes

Nice project!
All the best. Keep care.

2 Likes

Excellent design !
What is the PCB material and thickness ?
I am not sure if the type of the PCB material and its thickness is appropriate enough to provide enough strength to the frame in speed motion.

Impressive lightness. I 've built a 3" with GPS and external magnetometer for 63g that flies about 30 minutes (see blog post here : 28 minutes flight time ! 3" sub 250 Arducopter)

If I may comment on your parts choices:

-F7 should be used instead of a F4. It does not weigh more and gives not only more future proof processing capability but also a direct Frsky passthrough telemetry capability without extra conversion electronics.

-Using one 18650 battery (instead of at least two) will not allow you to extend your mcrocopter with payloads such as cameras, companion boards or others. Your amperage limitation with one 18650 is a strong constraint.

-To not include a GPS in the integrated base design does not allow your copters to use the useful postionning modes of Ardupilot. It would only add a few grams, you should include it. And I’ve shown in my build you can get 30 min of autonomous flight time with it.

Very nice project and you’re onto Something. I would buy one (or more)

Best regards
Hugues

3 Likes

Hi Huges,I agree 100% with you,I will buy one as well (im in front of que) it is a great project and will be great when others get involved,can not wait for Giorio to ask for money for one.

1 Like

Thanks everybody for your warm welcome to the ArduBee initiative!

We’ve received many good feedback and interest from the community and we are working hard to push the ArduBee development limits even further. The form to submit ideas is still open and we are very happy to receive feedback from more people.

MAIDEN FLIGHT

Here’s a brief video of the ArduBee-0.2 maiden flight!

ArduBee is flying nicely in the air and only a slight, subtle humming can be heard.
I’ve just made a quick first gyro’s filtering with the basic throttle method for the Harmonic Notch filtering (thanks @anypiper), the PIDs are not yet tuned at all!

It has the main noise peak at 236Hz, this is the graph post filtering

MOTORS

We are designing the platform with different motors mounting holes patterns in order to offer a board-only version that will enable complete freedom to customize the motors and propellers selections for those who want to optimize for payload, speed or acceleration.

Furthermore depending on the application/scenario and if externally mounted devices are used, it’s possible to screw the motors above or below the board and can be connected either with solder pads or a connector suited for dedicated motors, which we are manufacturing with our specialized partner.



luminousbee4 motors connector

BATTERY

Another important aspect is that the battery is so easily swappable, you need only a common Li-Ion 18650 without ANY modification. You can use an existing Li-Ion recharger or a charger (with Li-Ion program) with an XT60 connector.


ArduBee Battery holders

PROPELLER GUARDS

We are designing the best compromise between lightness, efficiency and robustness for the Ardubee’s protection. We are still working on this and we will be happy to show you our design very soon.

The actual prototype is a 1,6 mm thick PCB. Surface finiture is golden ENIG.

It’s also worth mentioning that we used the same PCB thickness in our 220g 5” version everyday for 2 years and in all the crashes we’ve experienced (a lot during intense swarm tests :D) just little harm was received by the board. Keep in mind that this is a much smaller and lighter drone so proportionally it will be more robust and moreover it will have an additional protection addon.

LOCALIZATION ADDONS

We are developing the GPS module as the UWB module for the autonomous capabilities as plug-in modules, they will be the lightest possible, perfectly integrated modules.

This is aligned with one of the core concepts of ArduBee: flexibility.

Don’t worry, we are already devoted to this add on concepts from all our in-house 5’’ fleet.

CAMERA ADDON

We still need to find the most interesting simple camera to support (for FPV or photos), and an advanced camera module to enable computer vision capabilities. If you have experience in this area, please get in touch! We would love to learn from you!

To enable camera tasks and other kinds of research we’re thinking about offering off-the-shelf support to the Raspberry Pi Zero as a companion computer.

What do you think? If you like to share your suggestions don’t hesitate to comment here, this is a tool for the community!

If you haven’t already done it, please fill the following form to receive updates on the Kickstarter launch and to be involved in the development.

5 Likes

Camera Add-on for ArduBee

As for the camera add-on, as Giorgio says, it will be necessary to provide one for FPV applications (simpler) and one for Computer Vision applications (more complex).

Camera Add-on for FPV

We can imagine two solutions, one analog and one digital.

The analogue one is simple, there are many options on the market to choose a camera and a 5.8GHz VTX. Solutions such as the Hawkeye Firefly Split Mini 4K may also be interesting () to have 1080p or 4K video saved on SD and at the same time the analogue video signal transmitted in real time via VTX at 5.8GHz.

For the digital solution for FPV an interesting project is OpenHD which needs a Raspberry Pi zero in the air, a Raspberry Pi 3 on the ground and a WiFi-Broadcast connection. “WiFi-Broadcast tries to imitate the famous properties of an analog link like graceful signal degradation and no association between the endpoints.” In this way, the same channel can also be used for bidirectional telemetry and radio control.

Camera Add-on for Computer Vision

Here things get complicated, to have sufficient processing capacity for this type of applications (Visual Odometry, SLAM, depth map estimation for navigation and collision avoidance, …) you need powerful SBCs therefore bulky, heavy and with high power needs.

We need a card as powerful as the Raspberry Pi 4 but more compact, and light. So far I have not found anything like this. NanoPi NEO2 Black is compact and light but is comparable to a Raspberry Pi 3. Some tests could be done.

As an alternative, which is a bit of a compromise, I propose to try a module based on the Kendryte K210 with included camera like this: Sipeed M1n Module AI Development Kit. This board is very compact, light, needs little power and is really cheap.

I have to say I don’t think that with K210 based board we can do computational intensive applications such as Visual Odometry and SLAM but it could be used to make interesting experiments with convolutional neural networks because of the KPU CNN accelerator. Maybe one application could be object detection and tracking for target following and similar tasks.

There are several other cards based on Kendryte K210 of different formats:

I have a Maixduino with which I started to do some tests and I ordered a Sipeed M1n Module AI to try to put it on my 3 inch copter.

Main features of K210 based boards:

  • CPU: RISC-V Dual Core 64bit, with FPU and KPU CNN Accelerator
  • Image Recognition: QVGA@60fps/VGA@30fps
  • OS: FreeRTOS
  • NN Model: TinyYOLOv2 (after pruned)
  • DNN Framework: TensorFlow/Keras/Darknet
  • Peripherals FPIOA/UART/GPIO/SPI/I²C/I²S/WDT/TIMER/RTC, etc.
  • Power consumption of typical application scenarios < 1W
  • Power consumption of chip < 300mW

The K210 supports several programming environments:

  • The K210’s official SDK supports two development modes: FreeRTOS and Standalone. You can download SDK Programming Guide here
  • Moreover Arduino IDE can be used as development environment using ArduinoCore-k210
  • Another interesting option to develop for K210 is MaixPy a porting of MicroPython to K210 and the MaixPyIDE based on OpenMV IDE. MaixPy can be used with or without OpenMV API.

Documentation on development systems is far from complete, follows some link that cloud help:

3 Likes

On the computer vision it seems that advanced navigation tasks (DroNet) have been run completely onboard on very little processors (e.g. GAP8 – Ultra low power 9 core RISC-V MCU) like the one from the PULP platform with a Himax HM01B0 camera (Ultra low power 320×240 grayscale @ 60fps)
GAP8 seems to have a built in tool to convert neural networks trained in python to their embedded platform. Do you think it is too much underpowered?

I’ve also seen usage of FPV cameras for AI research with offboard control on ROS.

What about JeVois and OpenMV?

By the way the K210 seems a very good option…

2 Likes

Great project! Can you give some more details of your UWB positioning system? What size of space can it cover? And is it already running or just planned / in development?

2 Likes

Thank you @3Denis,
the UWB positioning system is already running. We’ve developed and used it internally for our swarm since 2018. Below you can see a video made with it and the ArduBee’s 5’’ big brother. As part of the Kickstarter campaign we’re planning to continue to improve it and to develop the tools needed to configure the system, to make it usable by everybody, not only UWB experts.

The size it can cover is related to multiple factors, your country regulations on radio transmit power, frequency, obstacles, etc. Frequency and power are configurable. We tested our system with 8 beacons in a box configuration of up to 10 x 16 x 8 meters (greater diagonal = 20m) without problems. Up to 25m diagonal should be fairly easy, 30-35m a little harder. We’ve read of people using the same DWM1000 module with standard antenna that reached hundreds of meters of range, but using some configurations that reduce a lot the accuracy and update rate of a localization system, but you’ll be able to try out the options yourself.

Apart from the refactoring and tools, we’re going to improve the algorithm to allow additional beacons in order to cover larger spaces, virtually without limits if you place beacons, let’s say, every 20 meters.

The position is calculated within the firmware and is not dependent on vehicle code, so it should be usable on every ArduPilot vehicle (but I suspect it wont be of much use in ArduSub :sweat_smile:). Some optimization can be done for rovers, assuming 2D motion.

If you have more questions feel free to ask!

2 Likes

@anbello @guglie @Giorgio_Rinolfi
With regard to the processor to process camera info., we’ve tested quite a few PC’s and SBCs. We personally love the NanoPi Neo Core 2 for running traditional vision stuff and couple it with a Google Coral USB Accelerator to get amazing performance. We’ve also tested the Sipeed Maix and it’s terrible to use as most of the custom models don’t work and documentation is very poor. We’re writing a paper on this and I’ll post it here once it’s done. (Hopefully in a month). Feel free to let me know any way I can help out in this project. My experitise is in computer vision, deep learning and sensor fusion.

3 Likes

Hi @firenitin thanks for your hints, the NanoPi Neo Core 2 is similar to NanoPi NEO2 Black I suggested in my post, but without connector and more IO pin is best suited to be adapted to ArduBee.
Regarding the Sipeed Maix I concord that documentation is very poor but I was able to make work some ready made models, I will try some more before giving up with this.
I think to speak also for @Giorgio_Rinolfi saying that your expertise is welcome to this project.

[Edit]
Which kind of camera are you using with NanoPi? I think only USB camera can be used.

2 Likes

Thanks @firenitin, your contribution is highly appreciated! The NanoPi Neo Core 2 seems definitely an interesting companion for ArduBee.
Your help for selecting a promising platform for vision and its processing would be great, please share your suggestions and keep alive this shared development, we are working on the final ArduBee design and all inputs are useful :slight_smile:

2 Likes

does look nice, but the camera to pair with it also needs to be considered. Ideally we need a camera capable of at least 30fps (can be quite low res, say 640x480). Preferably a global shutter.

2 Likes

This is a global shutter camera for Raspberry Pi:

But with NanoPi Neo Core 2 we have to use USB camera, one possible option for global shutter USB camera:

It is monochromatic but should be OK for CV

1 Like

We used a simple global shutter USB Camera from leopard imaging (https://leopardimaging.com/product/usb30-cameras/usb30-camera-modules/li-usb30-m021/).
Also, worth looking at is the NanoPi Neo Air LTS (https://www.friendlyarm.com/index.php?route=product/product&product_id=151) as it supports CSI directly.

1 Like

Also, Jevois (http://www.jevois.org/) is another smart camera which works but is painful to work with.

1 Like

To me the Himax HM01B0 camera seems a very good option, gives 320×240 grayscale @ 60fps, is ultra low power (<4 mW) and very small / light (but has a rolling shutter).

2 Likes