Hello Tello Pilot!
Join our DJI Tello community & remove this banner.
Sign up

My Take on Multi-Tello Drone Formations

Hacky

Well-known member
Joined
Jul 19, 2021
Messages
360
Reaction score
133
Location
Germany
Looking at several "Tello Swarming" and "Tello Formation" videos and going through some earlier discussions, I thought about how to get more out of these little gems. After some soldering and programming, this is my take on drone formations:


For those, who are interested in details:

The top-lights are an own development described here: Tello NeoPixel RGBW LED lights add-on, remote controllable, 5g
They are much lighter than the Tello Talent expansion kit and give me more options for animations.

The code controlling the drones is written in Python and controls also the lights and the synchronization of the figures with the music. As a starting point, I used this repository: GitHub - TelloSDK/Multi-Tello-Formation: A Sample Code that implements the formation function of multiple tellos (but it requires massive rework and many extensions).

My software also allows "free style" paths like Lissajous figures by implementing a closed loop using feedback from current position and a PID controller to allocate velocity to each drone in order to follow the path.

One of the big challenges was, to dose the light to the minimum for a better light show experience but to still give enough information to the VPS for position control.

Unfortunately, the position of the recording camera was too much aligned to the height of the drones, so that you loose the offset in depth. So there is still enough room for improvements...
 
Last edited:
Amazing work, especially given that Tello requires lots of light for VPS.

Have you tried black light? No clue if the camera senses it, or if black light markers could help.
 
Looking at several "Tello Swarming" and "Tello Formation" videos and going through some earlier discussions, I thought about how to get more out of these little gems. After some soldering and programming, this is my take on drone formations:


For those, who are interested in details:

The top-lights are an own development described here: Tello NeoPixel RGBW LED lights add-on, remote controllable, 5g
They are much lighter than the Tello Talent expansion kit and give me more options for animations.

The code controlling the drones is written in Python and controls also the lights and the synchronization of the figures with the music. As a starting point, I used this repository: GitHub - TelloSDK/Multi-Tello-Formation: A Sample Code that implements the formation function of multiple tellos (but it requires massive rework and many extensions).

The software also allows "free style" paths like Lissajous figures by implementing a closed loop using feedback from current position and a PID controller to allocate velocity to each drone in order to follow the path.

One of the big challenges was, to dose the light to the minimum for a better light show experience but to still give enough information to the VPS for position control.

Unfortunately, the position of the recording camera was too much aligned to the height of the drones, so that you loose the offset in depth. So there is still enough room for improvements...
Huge congrats Helge ! Very inspirational ! Kids will love it ! Would it be possible to implement with DroneBLocks ?
 
Thanks JimRic,

With DroneBlocks, you could only partially implement something like that. It may depend on the environment (e.g. Tello EDU app or Mind+ desktop software), how many drones can be controlled at the same time but at least 4 Tellos should be possible with all of those block programming environments.

Second aspect is light control. If you use the RMTT (Robomaster Tello Talent) with it's expansion hook-up, then there is also some level of light control possible (again depending on the block programming environment, if it supports also the LED commands, see also Blog — DroneBlocks). If you use a self developed light solution like in my example, you are on your own regarding programming. Perhaps, there are some block programming environments that allow you to develop "custom blocks" (I think Mind+ has some options for that).

Third aspect is timing. Most of the block programming environments only support simple delay commands but you will run out of synch to the music quite soon, because the time consumed by the Tellos for positional commands is not deterministic. What you need is somthing like "delay_until" with reference to a certain point of time (usually the start of the music).

Fourth aspect is the variety of figures. The block commands support only simple navigation like "takeoff", "go to", "curve", "flip" and "land". In order to fly a whole circle, you would need at least two "curve" commands and the drones will pause for a moment after each sector. Vertically rounded movements are not possible. More flexibility for complex paths like a Lissajous figure require feedback control loops, which are not supported by the block programming environments that I have seen so far.
 
Last edited:
Off to a good start on this discussion We are working on this with the Makerfire LiteBee Wing FM. Much more adaptable to block coding and middle school level at present. See our youtube channel for a test flight in their simulator.

 

Attachments

  • formation STAR w diagram screenshot.PNG
    formation STAR w diagram screenshot.PNG
    215.3 KB · Views: 14
  • formation geart , circle, etc MAP screenshot.png
    formation geart , circle, etc MAP screenshot.png
    357.1 KB · Views: 13
Thanks for the examples, Dan. Problem with formations like shown in your attachments is, that your audience only can see them, when they look at the formation from high above. That is also a problem, I already mentioned for my show and the camera position that was used to record it.

Using a simulator can help. There was also a similar project for Tellos: GitHub - markwinap/Tello_3D_Mission_Control_NodeJS-JS: DJI TELLO - 3D Mission Control Using Babylon And Server To Send UDP Commands but last time it was maintained is already 3 years ago.

Although I really appreciate the effort that is spent by MakerFire / LiteBee on developing drones for such a purpose, this forum and this topic is about DJI / Ryze Tello.
 
Last edited:
Thank you. Those samples are from the instructional book. You can add or subtract from the, such as add height for a different view of change perspective. Takes more work. That is why I was looking for a lined cube. i have seen one on Youtube, but cannot find it at present. We do not fly over people, so we have to change the viewing angle. We are flying the Robomaster Tello Talen with extension kit in formation with the LiteBee Wing FM. We use the matrix display as a text display for greetings, etc. We even include other heavy drones for other purposes such as dropping items to wedding guests.. i guess we are not purists. We like all kinds of music, dance, etc. I guess those here want a Tello discussion now Robomaster show, whereas we want a light show
 
Flying Tello EDU / Talent together with LiteBee Wing sounds like a bigger challenge as they use different ground patterns for orientation. That would mean, that you can no longer rely on the built-in marker detection of either Tello or LiteBee (depending on the type of "flight map" used as ground) and instead implement your own computer vision processing for each video stream.
 
Not sure I should continue on this direction, but i think discussion is good. Yes, it is a challenge I have put on convention shows as far back as 1974 in Panama. In that, the goals is the show and not the technology. For example, in video, the sound and the video are two very differed paths. The sound engineer uses a very different control system than the video engineer. he you add to that the light controls for staging. When MIDI came out in the 1980's, it was used to control many things on stage. Now we are using the Black Magic ATEM Mini's on a computer for a master control. One of the problems seems to be that each discipline has it's own forum, much like television prior to Windows integration. We still have a long ways to go with the drone micro-drone light show concept. Thanks you for what you have added to this .new experience. Here is a link to one of many on youtube pf drone light shows in the dark.

 
  • Like
Reactions: devdrone
You can request it either as 3x3 PNG or 5x5 meter PDF from DJI support. Provided you have the tools and knowledge, you can crop them to other sizes as the origin of the coordinate systems is in the center.

Then you need to find a supplier that can handle these files and print it to fabric.
 
Perhaps this may be interesting as well:
During the conception phase, I experimented with "3D Lissajous" figures. In the video shown in post #1, it is not so good perceptible due to the frontal camera perspective.

Here it can be seen with a different camera perspective, but not with the final lighting:


In order to develop "freestyle" figures like that, it requires a feedback loop with PID controller for each drone.
 
o_O You are the Master. Great, absolutely great. My skills are million miles away from this. I´m in the beginning and have no programming skills. I tried to learn Python, bought books, courses and read a lot of instructions. But to me it seems that not every person, even the enthusiastic ones can manage to come this far. I learnd hours and hours but with no big success. So i try to get get deeper on "logic thinking" with the Mind+ environment. I struggle on the ability of knowing how to use the tools i have learned. So small step by small step i hope to get a little more on the topic. What also comes not handy is the less time i can spend on it. But i think i will follow this thread and your posts! Regards. "Da ziehe ich den Hut" :geek:
 
  • Like
Reactions: Hacky
@Hacky If you printed it yourself, can you tell me about the material and thickness of the ground sheet?
 
We are not experts on this, but have about two years of testing. Depending on what you what you goal is. We got a DJI flight map a while ago, and did not know how ro use it. First wqe found these floor maps to large, so we had some printed at our local party store n banner materials.. We also tried the shower curtain materials. .They all worked, and where cheap. Our goals where swarm flying, precision flying, and precision landing. We are now using arUco markers, April tags, QR codes, and floor maps from DJI< Shemaps, Makerfire LiteBee, and Robolink Zumi.. Also learning AI and machine learning for reading these objects. You can see our work on YOutube MECATX. Yu can contact me at [email protected] ( we can do ZOOM ) Good lick with this. It just takes a lot of experimenting, as it involves the WiFi, the cameras, etc.
 
@Hacky If you printed it yourself, can you tell me about the material and thickness of the ground sheet?
You can print it on any material as long as it is matt enough (not glossy / shiny). If you print it on fabric (e.g. for banner ads) with a thickness of >250g / m² it will have less problems with crinkles.
 
Looking at several "Tello Swarming" and "Tello Formation" videos and going through some earlier discussions, I thought about how to get more out of these little gems. After some soldering and programming, this is my take on drone formations:


For those, who are interested in details:

The top-lights are an own development described here: Tello NeoPixel RGBW LED lights add-on, remote controllable, 5g
They are much lighter than the Tello Talent expansion kit and give me more options for animations.

The code controlling the drones is written in Python and controls also the lights and the synchronization of the figures with the music. As a starting point, I used this repository: GitHub - TelloSDK/Multi-Tello-Formation: A Sample Code that implements the formation function of multiple tellos (but it requires massive rework and many extensions).

My software also allows "free style" paths like Lissajous figures by implementing a closed loop using feedback from current position and a PID controller to allocate velocity to each drone in order to follow the path.

One of the big challenges was, to dose the light to the minimum for a better light show experience but to still give enough information to the VPS for position control.

Unfortunately, the position of the recording camera was too much aligned to the height of the drones, so that you loose the offset in depth. So there is still enough room for improvements...
@Hacky, Thank you for your excellent work on the development of Tello Swarming!

Regarding closed-loop feedback using PID control, may you share your code so I can learn the algorithm?
Currently, I am looking for PID positioning and attitude control for the DJI Tello drone for Matlab programming, but mostly the code is on Python.
So I start to learn Python. But, I am a bit stuck with PID position and attitude control on Tello.

Since DJI doesn't like a parrot mambo that we can more deeply customize the controller (until the low-level controller) using a Simulink so it's a bit difficult for me to explore more on tello.

I appreciate your help, sorry for the inconvenice
best regards
 
@Hacky, Thank you for your excellent work on the development of Tello Swarming!

Regarding closed-loop feedback using PID control, may you share your code so I can learn the algorithm?
Currently, I am looking for PID positioning and attitude control for the DJI Tello drone for Matlab programming, but mostly the code is on Python.
So I start to learn Python. But, I am a bit stuck with PID position and attitude control on Tello.

Since DJI doesn't like a parrot mambo that we can more deeply customize the controller (until the low-level controller) using a Simulink so it's a bit difficult for me to explore more on tello.

I appreciate your help, sorry for the inconvenice
best regards
Hi, the basic principle of a PID feedback loop controlling Tello is shown good in this example:
 
  • Like
Reactions: haikaruniichan

New Posts

Members online

No members online now.

Forum statistics

Threads
5,690
Messages
39,934
Members
17,023
Latest member
Repiv

New Posts