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

Make a 360 rotation

Aurius

New member
Joined
Aug 21, 2022
Messages
3
Reaction score
1
Hello , i am looking for a math formula or a send_rc_control() configuration to make the drone rotate around a subject or a point and make a perfect circle to film the subject at the center .
Thank you a lot
 
Did you try the circle POI function of Tello app or Tello FPV app?
The SDK curve command will not help because it will not change the yaw at the same time.
You could put it together with a series of positional and yaw API commands using some basic sin/cos math but in that case it will be no smooth continous movement.
With send_rc_ontrol() it would be possible as well but in that case you would have to implement some kind of PID controller to keep the movement smooth. Coming from the experience of implementing a Lissajous free floating formation (see my signature), nothing trivial...
 
yes , i think the big diffculty is to make rotate the drone but facing the center and with send_rc_control() it's difficult with the yaw int ( -100 to 100) I search a way to perform that. Can we mix programming and the app behavior or search the code source of a figure to see how it's perform ?
 
there is no simple solution and I have never seen any examples. you need trigonometry and PIDs and different PID tuning sets for different distances and circling speeds.
 
@volate!lo
I disagree with the different PID sets for different distances and circling speeds. Once you have found working PIDs, you can use them over a wide range of speeds and radiuses as the PIDs provide a model to deal with inertness and latency and these are not dependent on the speed or radius.

@Aurius
If you are really interested in a solution, we can make some kind of deal because my Lissajous algorithm does exactly also what you are searching for: It controls movement of one or more Tellos where the movement on X, Y an Z axis is described by sine functions overlayed with certain amplitudes and phase shifts. A circle or an ellipse is just one special (and trivial) case of such a movement. The problem may be, that my approach is dedicated to Tello EDU and expects a feedback with a current position in that coordinate system. You'll get them as long, as you fly over a map containing the patterns which are recognized by Tello EDU.

Another approach could be by just experimenting with constant yaw and sideward movement generated through rc commands with fixed values at a constant rate. With some patience and luck, you may be able to find a set of values, that will let Tello fly in something looking similar to a circle. This should also work without special map patterns on the ground.

Third approach would be an implementation based on OpenCV and some kind of AI based object detection (e.g. human pose detection, if the object you want do circle around is a person). In that case, you only need an implementation that controls yaw in a way that the object is always kept near the center of the image and a distance control (keeping some part of the object always in the same size). Also this approach requires finding a set of working PIDs but the tolerance is much bigger than finding PIDs for the Lissajous problem. When you now add a constant sideward movement with rc commands, you'll end up with a circle around the object. The advantage is, that this still works even when the object slowly moves by itself. You can see exactly that behaviour in the Pose Tracking example in my signature. The circular movement around me starts at 01:33:

As you can imagine, how much time went into these projects, you may understand, that I do not plan to make all that code public.
 
Last edited:
At the end i used two different PID Parameter sets, one for wide radius or slower speed, and one for close range with high speeds.
Maybe I could have achieved similar results with one consolidated PID set after some more tuning and testing
 

New Posts

Members online

No members online now.

Forum statistics

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

New Posts