is there a way to set the maximum velocity of the ANAFI using the Ground SDK Mobile or in case it is not, is it planned to implement this feature in the future?
The problem I’m facing is a huge discrepance between the velocity of the ANAFI during the simulation in Sphinx (extremely slow movement) and the real world (drone moves quite fast). Maybe it is a problem with the initial parameters of the simulation, but I haven’t found any configuration option to change it.
Here is an olympe script that you can use to set all parameters to their maximum value:
import olympe
from olympe.messages.ardrone3.SpeedSettings import MaxRotationSpeed
from olympe.messages.ardrone3.SpeedSettings import MaxVerticalSpeed
from olympe.messages.ardrone3.PilotingSettings import MaxTilt
from olympe.messages.ardrone3.PilotingSettingsState import MaxTiltChanged
from olympe.messages.ardrone3.SpeedSettingsState import MaxVerticalSpeedChanged
from olympe.messages.ardrone3.SpeedSettingsState import MaxRotationSpeedChanged
# Connect to drone
drone = olympe.Drone("10.202.0.1")
drone.connection()
max_range_tilt = drone.get_state(MaxTiltChanged)['max'] # 40°
print('Setting max tilt to %s' % max_range_tilt)
ok = drone(MaxTilt(max_range_tilt))
if not ok.wait().success():
raise RuntimeError('cannot set max tilt')
max_range_vz = drone.get_state(MaxVerticalSpeedChanged)[
'max'] # 4m/s
print('Setting max vertical speed to %s' % max_range_vz)
ok = drone(MaxVerticalSpeed(max_range_vz))
if not ok.wait().success():
raise RuntimeError('cannot set max vz')
max_range_rot = drone.get_state(MaxRotationSpeedChanged)[
'max'] # 200°/s
print('Setting max rotation speed to %s' % max_range_rot)
ok = drone(MaxRotationSpeed(max_range_rot))
if not ok.wait().success():
raise RuntimeError('cannot set max rotation speed')
drone.disconnection()