I hope I’m not bothering you. I am doing my Master Thesis that is simulation and validation of an underwater system localization, probably a autonomous system in the end. So, i intend use the BlueRov2 and his ROS packages. But seems to me that some things are not implemented yet, like as lights brightness control, right? Depending on my time to do every thing of my thesis, i can contribute, so if you give me some feedback of what was not yet implemented on ROS, i will appreciate.
Ok, good! Why you create a new “package” and din’t “continued” with MAVROS? There are some disadvantages of MAVROS that i don’t know?
Ok, but if i understand, RC_CHANNELS_OVERRIDE message only overrides input channels 1-8. So, to overrides above input channels 8 (9-11) it’s necessary change the MAVlink, right?
MAVROS is a generic tool to control any vehicle that uses mavlink. The disadvantages is the overhead of the package, we want to create a simple ROS application to control the ROV with the ROS abstraction layer.
No, they use mavlink messages to provide this others channels, if I’m not mistaken is with manual_control, and channels > 9 is an abstraction with buttons. You can check the code here.
Take a look in the mavlink messages, they need to have lat and lon values, check your gps connection and look for GPS_FIX_TYPE > 1. If you solve this, probably you’ll be able to set the guided mode.
You are not able to set speed reference without a position system, the software derivate the position to use it as a velocity reference for the control loop.
Take a look here to check the modes that you can use. Besides that, you can send RC commands using the manual or stabilize mode, but if you want to have velocity or position control you’ll need to create a velocity/position control loop.
The problem is that i don’t have a GPS system, yet, on Robot. My idea is just for testing. It’s possible use the IMU like as the reference of a system position? How can i create the velocity/position control loop?
I tried rosservice call /mavros/cmd/set_home and set
You’ll need to create something like NOGPS in ardusub or in ROS, and it’s very hard to accomplish it without errors. Take a look here about position information from inertial systems.
About HIL, I never did any test with it to send velocity commands, but probably will not work without a real position system, you can try to create your own and use HIL or pymavlink to set the GPS fix.
Ok, thanks a lot, i will do more research about that.
With your underwater GPS system works, right? But, if my memory don’t fail, you send the GPS information to ROV with other Tether cable to connect Pixhawk, yes?
So, sending a GPS message (MAVLINK) to ROV by the Tether cable that we able communicate/sending controls allowing to have just one cable, i guess that is a good functionality for the future!