You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Run and debug using Launch BlocksEditor(DebugGame)
79
81
```
80
82
83
+
# 3. Getting Started - HelloROV Example
84
+
85
+
The **HelloROV** example demonstrates how to use the **UNav-Sim API**in combination with the **AirSim API** to control the ROV's thrusters and execute a **Circular Trajectory Following Controller**. This example drives the ROV along a circular path while maintaining a fixed altitude and yaw angle.
86
+
87
+
The controller generates a reference for the ROV to follow along a circular trajectory. Parameters like **radius**, **angular velocity**, **altitude**, and **yaw** are defined. At each time step, the controller calculates the reference position in the trajectory and adjusts the control signal.
88
+
89
+
The controller calculates the required **wrench** (force and torque) that corresponds to the ROV's desired motion. The wrench is then mapped to a set of motor commands using a predefined thrust allocation matrix. The wrench is converted into **PWM signals**for the ROV's thrusters. These PWM signals control the speed of the thrusters, which are responsible for driving the ROV along the planned trajectory.
90
+
91
+
The control loop operates by continuously generating reference positions and calculating corresponding control signals (wrench). Feedback from the ROV (such as position or orientation data) can be used to adjust the control strategy in real-time, enabling the ROV to stay on the trajectory.
92
+
93
+
The **AirSim API** facilitates communication between the control system and the ROV. The PWM signals are sent asynchronously to the ROV’s motors using the API's `moveByMotorPWMsAsync` function, allowing the ROV to execute the commands.
94
+
95
+
### Key APIs for Control
96
+
97
+
- **PWM Control (Motor Control API):**
98
+
The AirSim API function`moveByMotorPWMsAsync(pwm, duration)` sends the calculated PWM values to the ROV’s motors, allowing for control of the thrusters.
99
+
100
+
- **Feedback:**
101
+
Feedback such as position, velocity, and orientation can be accessed using the AirSim API to monitor the ROV’s progress and adjust the controller’s behavior accordingly.
102
+
103
+
104
+
81
105
82
-
#3. UNav-Sim ros navigation stack
106
+
#4. UNav-Sim ros navigation stack
83
107
The UNav-Sim ROS navigation stack, as detailed in the paper, encompasses various components essential for underwater vehicle navigation. It integrates a Nonlinear Model Predictive Controller (NMPC) tailored for the BlueROV2 Heavy model and a pipe-following path planner. Additionally, the stack incorporates several Visual Simultaneous Localization and Mapping (VSLAM) algorithms.
84
108
85
109
## Components:
@@ -97,7 +121,7 @@ The UNav-Sim ROS navigation stack, as detailed in the paper, encompasses various
97
121
98
122
99
123
100
-
#4. UNav-Sim documentation
124
+
#5. UNav-Sim documentation
101
125
[Link to paper](https://ieeexplore.ieee.org/document/10406819)
0 commit comments