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
Describe problem solved by the proposed feature
If you want to calibrate a lot of autopilots at the same time (temperature calibration and standard offset/scale calibration) you need a way to trigger the calibration and retrieve the results. Connecting a GCS to every board is not an option since it is way too time consuming.
Describe your preferred solution
Run code on a test computer that connects and controls a climate chamber for temperature calibration and connects to many (e.g. 25 autopilots) over UAVCAN. The test computer broadcasts commands to start different calibration routines on the boards and retrieves and displays the results on a screen to the operator.
Describe possible alternatives
A potentiometer is used by the operator to select an analog voltage that is read and mapped to a calibration command on the autoilot boards. The status and result of each calibration step is indicated to the operator by the on board LED. (E.g. RED = failed, GREEN = success, Purple = in progress).
The downside of this is that the entire process can't be automated (the operator needs to manually control the climate chamber) and there is a lot of room for human error in understanding the LED feedback etc.
Additional context
I have implemented a very simple proof of concept with two autopilots connected to a laptop over CAN via a Zubax Babel. A python script on the laptop broadcasts a magnetometer message which is received on the PX4 side where depending on the message payload different commands (e.g. temp cal, gyro cal etc) are executed directly from the uavcan/sensors/mag module.
The next step is to clean it up by defining a dedicated UAVCAN message and fix up the architecture on the PX4 side.
Is this functionality worth merging into upstream PX4?
In that case, where do you think the code should be added. Right now in the uavcan module there is only "actuators" and "sensors".
The text was updated successfully, but these errors were encountered:
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Describe problem solved by the proposed feature
If you want to calibrate a lot of autopilots at the same time (temperature calibration and standard offset/scale calibration) you need a way to trigger the calibration and retrieve the results. Connecting a GCS to every board is not an option since it is way too time consuming.
Describe your preferred solution
Run code on a test computer that connects and controls a climate chamber for temperature calibration and connects to many (e.g. 25 autopilots) over UAVCAN. The test computer broadcasts commands to start different calibration routines on the boards and retrieves and displays the results on a screen to the operator.
Describe possible alternatives
A potentiometer is used by the operator to select an analog voltage that is read and mapped to a calibration command on the autoilot boards. The status and result of each calibration step is indicated to the operator by the on board LED. (E.g. RED = failed, GREEN = success, Purple = in progress).
The downside of this is that the entire process can't be automated (the operator needs to manually control the climate chamber) and there is a lot of room for human error in understanding the LED feedback etc.
Additional context
I have implemented a very simple proof of concept with two autopilots connected to a laptop over CAN via a Zubax Babel. A python script on the laptop broadcasts a magnetometer message which is received on the PX4 side where depending on the message payload different commands (e.g. temp cal, gyro cal etc) are executed directly from the uavcan/sensors/mag module.
The next step is to clean it up by defining a dedicated UAVCAN message and fix up the architecture on the PX4 side.
The text was updated successfully, but these errors were encountered: