I would like to ask you for support:
In our project we have built a custom AirSDK mission installed on the Anafi AI. When we activate our custom mission unfortunately the default mission is de-activated. We have discovered that services are part of the default AirSDK mission. Therefore we cannot use essential services such as “ Precision Home, Obstacle Avoidance, , and etc.” We believe these services are paramount for flying the drone safely. We need to use Precision landing and Obstacle avoidance and other services that are required for flying the drone safely. We believe this is a part of air traffic and air safety since this drone is capable of flying BVLOS with 4G.
The reason why we have decided to use Parrot Anafi AI was being able to create custom missions. Creating a custom mission shouldn’t result in losing essential services. Is there any possibility of using these services when we activate our own AirSDK mission? If not we would like to use the default AirSDK mission source code and extend it for our own case.
We see little point in inventing the wheel twice, since Parrot already has a tested and working solution here. Furthermore, in the context of flight safety, it is better not to implement such elementary functions in different versions, since this complicates flight accident investigations, for example.
Could you please confirm that your question is concerned features of flight supervisor ?
It is our understanding that these services, Precision Home and Obstacle Avoidance, are in Default Mission. However, we do not have access to these two Default Mission services. from our Custom Mission.
Therefore, we would like to ask you to provide us with these two services for use in our Custom Mission. Otherwise we have to write these services by our own and this is not our purpose to write extra Services and will always use your default services and functions.
Ali from Critalog
Thank you for your reply. So, to use Precise Home and Obstacle Avoidance, based on this documentation, in your mission, you can import the manager and use it.
- If the feature is a core feature (for ex: ObstacleAvoidance), please use the code as below:
from fsup.features.oa_manager import ObstacleAvoidanceManager
self.oa_manager = supervisor.obstacle_avoidance_manager
# And then you can call oa_manager methods
- If the feature is in Default Mission - the list is here, the code (ex: PreciseHome) is like:
from fsup.missions.default.features.precise_home_manager import (
self.precise_home_mng = self.mission.get_manager(PreciseHomeManager)
# or self.mission.require_manager(PreciseHomeManager).
# The difference between these 2 functions are explained in the documentation
# And then you can call precise_home_mng methods
You can do the same principle for all features of flight supervisor
Remember to download basic SDK before building your mission