Page 1 of 1

Providing acceleration commands -- what's the best way to do it?

Posted: Wed Feb 02, 2022 11:02 am
by shreeram
Hi!

I'm working on experimenting with a controller for which I'd have to provide vertical acceleration commands to the Crazyflie for landing. Here's what I have looked into so far:
  1. Providing a send_setpoint() command where I control the value of thrust. However, I have not been able to find a clear mapping between the mean thrust and the acceleration. I'm currently trying to figure out if the polynomial psi_2 in https://arxiv.org/pdf/2012.05457.pdf gives me what I need -- what are the units for desired force and battery voltage in psi_2?
  2. I've had a look at the mapping from https://www.bitcraze.io/documentation/r ... to-thrust/, but the PWM units there are in 8-bit while the current configuration is 16-bits (65535). I could still normalise the two scales and find a correlation, though I'm not sure how much accuracy I'd lose in the process.
  3. I also had a look at the Crazyflie firmware https://www.bitcraze.io/documentation/r ... ntrollers/ but it seems that there is no controller that can handle acceleration setpoints directly?

    Image

    So what's the best way I can provide acceleration commands to the Crazyflie?

    Thanks!

Re: Providing acceleration commands -- what's the best way to do it?

Posted: Thu Feb 03, 2022 9:34 am
by kristoffer
I think the Mellinger controller does for absolute setpoints https://github.com/bitcraze/crazyflie-f ... #L168-L171