The goal of my project is to navigate the ROV autonomously without a tether connected to the ground PC. The standard way of controlling ROV is to connect the tether with the PC on the ground. The sensor data will be transmitted to the PC and the control input will be transmitted to the ROV.
Is there a way of integrating an Nvidia Jetson device (Jetson TX2 for example) into ROV so that we do not need the ground PC for the control? I am thinking of two ways:
Replace the onboard Raspberry Pi with the Jetson device.
Install the Jetson device onto ROV and connect the device with Raspberry Pi via ethernet. The Jetson will act as the ground PC.
I am not sure which one is easier to do. Can someone give some suggestions and resources on this? Thanks!
Connecting Jetson with companion via ethernet will probably the easier way.
Check our pymavlink examples for data acquisition and control.
If you are aiming to replace the raspberry with a Jetson, some rework and reconstruction of our companion software setup will be necessary for your board.
We don’t currently support running the companion software in other hardware. That said, both of your approaches seem fine. It also depends on what is your goal.
Taking the Raspberry out maybe be better as you gain some space in the enclosure, then you can communicate directly to the Pixhawk via Mavlink and connect the camera to the Jetson as well. You will loose the hability to control Wi-Fi Connection, flash the Pixhawk, and use the Ping Sonar, for example.
Connecting the Jetson to the Companion will be easier, You will just need to to set up the proper IP address, and then you can communicate easily with pymavlink and read the video stream via UDP with gstreamer