Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AP_DDS - Prearm - Is Vehicle Armable DDS Interface #28286

Open
tizianofiorenzani opened this issue Oct 2, 2024 · 2 comments
Open

AP_DDS - Prearm - Is Vehicle Armable DDS Interface #28286

tizianofiorenzani opened this issue Oct 2, 2024 · 2 comments
Labels
Milestone

Comments

@tizianofiorenzani
Copy link

AP_DDS interface to check whether vehicle is armable.

It would be helpful for a DDS interfaced companion PC to be informed when the vehicle is ready to be armed.

Proposal

  • Create a new service /ap/prearm_check of type std_srvs/srv/Trigger
  • Response would be:
    • success (true if armable)
    • message.

Message
The message field in the Trigger type is natively converted to a uint8_t message[256], which could be used for sending a string message (Vehicle is armable or Vehicle is NOT armable).

Alternatively, we could run individual tests in the AP_DDS client, where we check battery, ins, gyros... and we report what has failed in the message array, each failure associated to an enumerated uin8_t code. This solution is a stretch and might be accomplished by a dedicated health topic/service.

Platform
[ x] All
[ ] AntennaTracker
[ ] Copter
[ ] Plane
[ ] Rover
[ ] Submarine

@Ryanf55 Ryanf55 added the ROS label Oct 2, 2024
@Ryanf55 Ryanf55 added this to the DDS 4.6 milestone Oct 2, 2024
@Ryanf55
Copy link
Collaborator

Ryanf55 commented Oct 2, 2024

FYI @srmainwaring if you have any opinions on how DDS should do prearm, let us know! I'm good with the trigger type.

You can get which arming checks are required with AP_Arming::get_enabled_checks(). One of the things we would really want is to get the reason you can't arm and any status messages, but I don't think there's a way to get the prearm failure messages in DDS.

@tizianofiorenzani
Copy link
Author

but I don't think there's a way to get the prearm failure messages in DDS.

unfortunately it seems not, the only flag available (report), reports to the GCS. Running those individual tests in the AP_DDS client does not seem to be optimal, like AP::ahrs().healthy(), AP::compass().healthy().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Development

No branches or pull requests

2 participants