I want to use my keyboard to control the rov so that i can use it for my project. i want to make the rov autonomous. i can connect my python code to the rov and receive the heartbeat but i cant send controls from my python code to move the rov around.
Hi @akash -
Controlling the ROV with a keyboard in Cockpit and QGC is not currently supported…
Making your system autonomous is a very different goal from control via keyboard!
Does your ROV have a position sensor like a DVL or acoustic localization system? If so, it is possible to accomplish autonomous missions “out of the box.” Are you trying to do so with no tether connected?
The more context you can provide on your application and goals, the easier it is to assist!
I am developing an end-to-end imitation learning solution to enable my ROV to function autonomously, but I aim to totally eliminate any use of regular ground control applications such as QGroundControl or BlueOS Cockpit during this process. First of all, I would like to create an independent Python application that will give me the ability to drive my ROV using the keyboard. In the process of manual operation of my ROV through the script, I am going to synchronize my real-time video feed from the camera with corresponding key commands sent to my ROV. Based on these training samples, the Convolutional Neural Network will be trained. Afterward, I plan to integrate the CNN into the Python codebase in order to receive video feeds from the camera, detect proper actions, and send commands directly to the ROV. Is this possible?
The ideas you’ve described seem technically possible, though I suspect there’ll be challenges with achieving useful functionalities without very restricted / well-defined tasks, and/or very large amounts of training data - especially if you’re hoping to encode the task logic as part of the neural network.
Without more details of the approach you’re taking, it’s very hard for us to help. Are you using pymavlink? MAVLink2REST? What kind of commands and messages are you sending, and at what frequency? Have you done any failsafe configuration? Are you running other software connected to the vehicle at the same time? Etc.
It would likely be particularly insightful to see the code you’re trying to run, along with a description of the behaviour you’re expecting, what’s happening instead of that (including any error messages or statustext you’re receiving), and what you’ve tried to do so far to fix it.