Home        Store        Docs        Blog

How to use pixhawk with ROS for self-balancing under the water


(YANG FAN) #1

Hi,

Currently my team is working on a underwater ROV which has component similar BlueROV, such as Pixhawk, T200/T100 thrusters, Raspberry Pi 3 and Arduino Mega. We used mavros package and managed to extract the imu data. How ever we are not sure how to make the vehicle to balance itself in the water. We are concern that there will be a conflict when manual control by joystick and automated control by imu are communicating with the thrusters. Do you have any ideas how to implement this system whereby we can control the vehicle manually while the imu is also able to correct the position of the vehicle when it is off track.

Best regard,

Yang Fan


(Rusty) #2

Hi Yang Fan,

Thanks for the post. Feedback control for self-balancing is already built into the ArduSub code that runs on the Pixhawk. You do not need to implement this separately in ROS.

Please see the “ATC-*” parameter section for the attitude control PID parameters, which you can adjust to make the vehicle more or less responsive.

Are you using ArduSub for the ROV?

-Rusty


(YANG FAN) #3

Hi Rusty,

Thanks for your response. However, I am not using ArduSub for ROV.
In order to get the “feedback control for self-balancing” part from ArduSub, how can I do so?
Sorry, I am new to ArduSub, please kindly guide me along.

Best Regards,

Yang Fan


(YANG FAN) #4

Hi Rusty,

In order to use the pressure sensor for Blue Robotics how can I do so? I tried to use mavros to read the pressure reading which is under the topic “/mavros/imu/atm_pressure” . I don’t get any reading at all.

Best Regards,

Yang Fan

 


(Rusty) #5

Hi Yang Fan,

Check out the ArduSub page here: ardusub.com

That describes ArduSub in a lot more detail. I think it has most of the features you are looking for and you can actually communicate with it through MavLink using mavros.

-Rusty


(Jacob) #6

Yang Fan,

The Bar30 pressure sensor will only work with the Pixhawk if you are running the ArduSub firmware. The pressure readings are output in the SCALED_PRESSURE2 mavlink message. You should find out how to access that message through mavros, /mavros/imu/atm_pressure is probably the air pressure read by the ms5611 on the pixhawk board.

ArduSub running on the Pixhawk takes care of attitude stabilization, depth holding, and pilot input commands internally.

-Jacob


(Abhinav Arora) #7

Hi Yang Fan,

Can you please tell me how to extract the imu data using Pixhawk and ROS.

Regards,
Abhinav Arora