-
./UUVThis folder mainly contains the Unmanned Underwater Vehicle (UUV) model, camera parameters, and launch scripts.-
Config.jsonis the parameter file for the stereo camera. Changing theTypeIDparameter allows you to modify the sensor type.TypeID=1corresponds to RGB images,TypeID=2to grayscale images, andTypeID=3to depth images. -
UUV.paramsare the PD control parameters for the UUV, used in Hardware-in-the-Loop (HITL) simulations. -
px4_fmu-v6c_default.px4is the HITL flight controller firmware for the UUV targeting the PX4 FMU v6c hardware. For other versions, refer to the firmware compilation tutorial below. -
UUVModel.dllis the dynamics model of the UUV, developed using Simulink and compiled for use in CopterSim software. This file should be in the same directory as the one-click launch script. -
UUVModel_HITL.batis the one-click launch script for HITL simulation with UE4. -
UUVModel_SITL.batis the one-click launch script for Software-in-the-Loop (SITL) simulation with UE4. -
UUVModel_HITLUE5.batis the one-click launch script for HITL simulation with UE5. -
UUVModel_SITLUE5.batis the one-click launch script for SITL simulation with UE5.
-
-
./DemoThis folder mainly contains the UUV control demo code.-
UUVAttCtrlCamera.pyis a sample program for the camera (does not start ROS publishing). -
UUVAttCtrlPath.pyis a sample program for UUV control.
-
-
./euroc_uuvThis folder mainly contains configurations for topics used in Vins subscriptions. To run the fusion localization, this configuration is required. -
./FusionLocationThis folder contains the fusion localization code for the UUV.-
Config.jsonis also the parameter file for the stereo camera. It is the same as the one in the UUV directory, and this file needs to be in the same directory as the image-capturing code. -
kf.pyis the Kalman filter code. -
UUVAtt_server.pyis the remote control program for the UUV (can be run remotely). -
relocate.pyis the relocalization program for VINS. -
ropeInfo_generator.pyis the rope localization program. -
path_fusion.pyis the position fusion program. -
oneKeyScript.shis the one-click startup script for all programs.
-
-
Run the following script as administrator:
./UUV/UUVModel_SITL.bat, and input1to create an aircraft. This script will open CopterSim, QGroundControl, and RflySim3D. - Run the example programs located in the Demo folder.
- On the host machine running the simulation platform, plug in the flight controller hardware (with firmware already flashed) via USB.
-
Run the following script as administrator:
./UUV/UUVModel_HITL.bat, and input the corresponding COM port number when prompted. The port number will be displayed in the command line window. This script will open CopterSim, QGroundControl, and RflySim3D. - Run the example programs located in the Demo folder.
- Prepare an Ubuntu virtual machine and install Python 3.8.
-
Download and compile VINS-Fusion, using the configurations provided in the
./euroc_uuvfolder. -
Copy the
./FusionLocationdirectory to the virtual machine. -
Copy the
RflySimSDKfolder from the platform API directory to the virtual machine, and runReLabPath.pyto load the Python interface provided by the platform (this must be done after each platform update). -
Run either
./UUV/UUVModel_SITLUE5.bator./UUV/UUVModel_HITLUE5.batas administrator to start the simulation platform. -
On the virtual machine, run
oneKeyScript.shto start the fusion localization process in one click.
Note: All the above steps require the RflySim platform. For more information and detailed tutorials, please visit: www.rflysim.com