SeoulServo
Korea
Asked
Trying to fly a DJI Tello hands-free using wrist tilt from a TI eZ430-Chronos watch in ARC. Hardware-wise: Windows laptop on the Tello WiFi, DJI Tello Movement Panel added (video/arrow keys work fine), eZ430-Chronos Wrist Watch skill connected via the TI USB dongle (X/Y values stream in the skill). I also added Soundboard (PC) to beep when I cross a tilt threshold. I wrote a JavaScript script that polls the watch axes and sends Movement commands; it flies, but it’s jerky and my X-tilt results in lateral strafe, not yaw. Occasionally Forward() seems ignored unless I send Stop() first. Here’s the gist of what I’m doing:
while (true) {
var x = getVar("$chronos_x");
var y = getVar("$chronos_y");
// deadband + simple smoothing
var dead = 12;
var px = getVar("$px") || 0; var py = getVar("$py") || 0;
x = px + 0.3*(x - px); y = py + 0.3*(y - py);
setVar("$px", x); setVar("$py", y);
if (Math.abs(y) > dead) { y>0 ? Movement.Forward(y) : Movement.Reverse(-y); }
else if (Math.abs(x) > dead) { x>0 ? Movement.Right(x) : Movement.Left(-x); }
else { Movement.Stop(); }
Sleep(60);
}
- I’d prefer X = yaw (cw/ccw) and Y = forward/reverse. I tried ControlCommand("DJI Tello Movement Panel", "cw 10")/"ccw 10", but that seems like one-shot degrees, not a rate; Movement.TurnLeft/Right also looks like it maps to strafe for Tello. Is there a way to set a continuous yaw rate via ControlCommand or the Movement API, and any best practice to throttle updates so I don’t flood the Tello while keeping things smooth, plus does triggering Soundboard (PC) from the same loop block or delay movement commands?
Related Hardware (view all EZB hardware)
Tello Drone
by DJI
Program the DJI Tello in Synthiam ARC for computer vision tracking and movement using JavaScript, Python, EZ-Script, C++, or .NET.
Wi-Fi
Servos
✕
Camera
Audio
UART
✕
I2C
ADC
✕
Digital
✕
