Custom control for AUV

Hey everyone,

I will be using PX4 with either the Pixhawk 6C or 6X (still deciding) to develop an autonomous underwater vehicle. This project is a collaboration with 12 other students. The vehicle will feature multiple components, including a robotic arm, vision cameras, a buoyancy module, and other subsystems.

My main responsibility is integrating all these components into PX4. Each module will have its own microcontroller and will communicate with the Pixhawk via a CAN bus.

I’ve been reading the PX4 documentation, building PX4, and running experiments for the past two weeks. However, I’m starting to feel overwhelmed by the best approach to integrating everything efficiently.

What would be the best strategy for handling this integration?

If anything is not clear please let me now!

Great project! Using UAVCAN for structured communication is a good approach. Custom PX4 drivers or uORB messages can help with integration. Break it into small, testable steps to manage complexity. Let me know if you need help!

@MightyPiggie

Hello,

What are the hardware you are trying to interface with PX4? some hardware gave their drivers on PX4 side you need to check. For any arbitrary hardware you can write a module to handle it.

@farhang
So currently we are making a modular uuv. Each module will have a stm32 which controls that module and adds a can interface. So for example we have a robotic arm attached to the uuv. An example for a can message is one to move the arm to XYZ. How this arm moves is not a responsible of the main module where PX4 will run, this will be the responsibility of the stm32 inside the module. So we will mostly just use PX4 to send those can messages to each module.