Anafi MaxVelocity in Sphinx

Hi all,

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.

Thanks in advance :slight_smile:

Have you adjusted the rates / limits of your simulated drone? Out of the box the Anafi’s rate / limit settings are quite conservative.

Take a look at the rate/limit settings here: https://developer.parrot.com/docs/refdoc-android/com/parrot/drone/groundsdk/device/pilotingitf/ManualCopterPilotingItf.html

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()

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.