Estimateur, régulateur, Lighthouse et limites après le montage
Les paramètres d'un Crazyflie se règlent depuis Python par la radio : cf.param.set_value('group.name', value) de cflib, ou l'onglet Parameters de cfclient. Chacun des deux decks impose le filtre de Kalman, et le PID est le régulateur par défaut ; les stations de base sont ici des Lighthouse V2. Les limites posCtlPid plafonnent ce que le régulateur de position peut demander, 20° d'inclinaison et 1 m/s, et ce sont les valeurs avec lesquelles vole le terrain.
# cflib 0.1.34 in Python, connected with SyncCrazyflie: cf = scf.cf
cf.param.set_value('stabilizer.estimator', 2) # extended Kalman: either deck forces it anyway
cf.param.set_value('stabilizer.controller', 1) # PID (0, auto select, picks PID too)
cf.param.set_value('lighthouse.systemType', 2) # Lighthouse V2 base stations
cf.param.set_value('lighthouse.method', 1) # sweep angles straight into the Kalman filter (default)
cf.param.set_value('posCtlPid.rLimit', 20) # most roll the position controller asks for, degrees
cf.param.set_value('posCtlPid.pLimit', 20) # and pitch
cf.param.set_value('posCtlPid.xVelMax', 1) # m/s it may ask for along x
cf.param.set_value('posCtlPid.yVelMax', 1) # along y
cf.param.set_value('posCtlPid.zVelMax', 1) # up and down
cf.param.set_value('supervisor.tmblChckEn', 1) # motors off if it tumbles
cf.param.set_value('pm.lowVoltage', 3.2) # V: LED1 goes solid red
cf.param.set_value('pm.criticalLowVoltage', 3.0) # V