You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be helpful to have read/write access to ardupilot parameters for all vehicle types through the ROS2/DDS interface.
Proposed Solution
Use ros2 service calls to set/read parameters from ArduPilot by exposing the SetParameters and GetParameters interface from rcl_interfaces.
To set a parameter:
Create /ap/set_parameters service of type rcl_interfaces/srv/SetParameters.srv
Response is an array of type rcl_interfaces/msg/SetParametersResult.msg
To retrieve a parameter:
Create /ap/get_parameters service of type rcl_interfaces/srv/GetParameters.srv
Response is an array of type rcl_interfaces/msg/ParameterValue.msg
I would add code to the AP_DDS_Client interface to get/set the parameters based on the service call.
Alternative Approach
Is it possible to declare the ardupilot parameters in a way that the ros2 param set/get CLI works? My concern is that there are a lot of parameters and I'm not sure the best way to declare them all for this kind of usage.
Platform
[ X ] All
[ ] AntennaTracker
[ ] Copter
[ ] Plane
[ ] Rover
[ ] Submarine
It would be helpful to have read/write access to ardupilot parameters for all vehicle types through the ROS2/DDS interface.
Proposed Solution
Use ros2 service calls to set/read parameters from ArduPilot by exposing the SetParameters and GetParameters interface from rcl_interfaces.
To set a parameter:
/ap/set_parameters
service of typercl_interfaces/srv/SetParameters.srv
rcl_interfaces/msg/SetParametersResult.msg
To retrieve a parameter:
/ap/get_parameters
service of typercl_interfaces/srv/GetParameters.srv
rcl_interfaces/msg/ParameterValue.msg
I would add code to the AP_DDS_Client interface to get/set the parameters based on the service call.
Alternative Approach
Is it possible to declare the ardupilot parameters in a way that the ros2 param set/get CLI works? My concern is that there are a lot of parameters and I'm not sure the best way to declare them all for this kind of usage.
Platform
[ X ] All
[ ] AntennaTracker
[ ] Copter
[ ] Plane
[ ] Rover
[ ] Submarine
Additional context
rcl_interfaces: https://github.com/ros2/rcl_interfaces
Similar to issue in ticket: #23309
The text was updated successfully, but these errors were encountered: