Prettier, minor subedit

This commit is contained in:
Hamish Willee
2026-04-08 16:06:41 +10:00
parent e63026ce2c
commit 183c324108
2 changed files with 43 additions and 39 deletions
+32 -28
View File
@@ -1,18 +1,21 @@
# Hawkeye Flight Visualizer
# Hawkeye Flight Visualiser
[Hawkeye](https://github.com/PX4/Hawkeye) is a real-time 3D flight visualizer for PX4.
[Hawkeye](https://github.com/PX4/Hawkeye) is a real-time 3D flight visualiser for PX4.
It connects to any MAVLink source (SITL or hardware) and renders vehicle state from [`HIL_STATE_QUATERNION`](https://mavlink.io/en/messages/common.html#HIL_STATE_QUATERNION) messages.
Hawkeye is a **visualizer**, not a simulator.
It does not model physics or generate sensor data — it only renders what PX4 is doing.
This makes it the recommended visual companion for [SIH](../sim_sih/index.md), which runs its own physics internally.
::: tip
Hawkeye is the recommended visualiser for [SIH Simulation](../sim_sih/index.md) (which doesn't have a default visualiser).
:::
Built in C with [Raylib](https://www.raylib.com/), Hawkeye has zero runtime dependencies.
Note that Hawkeye is not a simulator — it doesn't model physics or generate sensor data — it only renders what PX4 is doing.
Hawkeye has no runtime dependencies.
It is built in in C with [Raylib](https://www.raylib.com/).
## Features
- Real-time 3D rendering of vehicle state via MAVLink
- Multi-vehicle swarm visualization (up to 16 vehicles simultaneously)
- Multi-vehicle swarm visualisation (up to 16 vehicles simultaneously)
- ULog replay with ghost mode for visual flight comparison (e.g. before/after PID tuning)
- Vehicle models: quadrotor, hexarotor, fixed-wing, tailsitter, VTOL, rover, ROV
- Three camera modes: Chase, FPV, Free (WASD fly)
@@ -75,7 +78,7 @@ Hawkeye connects on UDP port **19410** by default — the same port SIH sends `H
### Multi-Vehicle
Each SIH instance sends visualization data on port `19410 + N` (where N is the instance number).
Each SIH instance sends visualisation data on port `19410 + N` (where N is the instance number).
Launch multiple SIH instances, then start Hawkeye with the vehicle count:
```sh
@@ -84,13 +87,14 @@ hawkeye -n 3
### Vehicle Type Selection
By default, Hawkeye renders a quadrotor. Use flags to select a different model:
By default, Hawkeye renders a quadrotor.
Use flags to select a different model:
| Flag | Vehicle |
| ---- | ------- |
| Flag | Vehicle |
| ----- | --------------------- |
| `-mc` | Multicopter (default) |
| `-fw` | Fixed-wing |
| `-ts` | Tailsitter |
| `-fw` | Fixed-wing |
| `-ts` | Tailsitter |
Example for fixed-wing:
@@ -118,26 +122,26 @@ This is useful for comparing flights before and after tuning changes.
## CLI Reference
| Option | Description |
| ------ | ----------- |
| `-udp <port>` | Set UDP listen port (default: 19410) |
| `-n <count>` | Number of vehicles to visualize |
| `-origin <lat> <lon> <alt>` | Set map origin |
| `-mc` | Multicopter model |
| `-fw` | Fixed-wing model |
| `-ts` | Tailsitter model |
| `--replay <file.ulg>` | Replay a ULog file |
| `--ghost <file.ulg>` | Overlay a ghost flight for comparison |
| Option | Description |
| --------------------------- | ------------------------------------- |
| `-udp <port>` | Set UDP listen port (default: 19410) |
| `-n <count>` | Number of vehicles to visualise |
| `-origin <lat> <lon> <alt>` | Set map origin |
| `-mc` | Multicopter model |
| `-fw` | Fixed-wing model |
| `-ts` | Tailsitter model |
| `--replay <file.ulg>` | Replay a ULog file |
| `--ghost <file.ulg>` | Overlay a ghost flight for comparison |
## Camera Controls
| Mode | Description |
| ---- | ----------- |
| Mode | Description |
| ----- | ------------------------------------ |
| Chase | Follows behind the vehicle (default) |
| FPV | First-person view from the vehicle |
| Free | Fly freely with WASD + mouse |
| FPV | First-person view from the vehicle |
| Free | Fly freely with WASD + mouse |
## See Also
- [Hawkeye GitHub Repository](https://github.com/PX4/Hawkeye)
- [SIH Simulation](../sim_sih/index.md) — the headless simulator Hawkeye is designed to visualize
- [SIH Simulation](../sim_sih/index.md) — the headless simulator Hawkeye is designed to visualise
+11 -11
View File
@@ -80,9 +80,9 @@ If you need a visual aid to see what the vehicle is doing you can use QGroundCon
QGC auto-connects on UDP port 14550. Open QGC while SIH is running and the vehicle appears on the map view with attitude, position, and telemetry.
#### Hawkeye (3D Visualizer)
#### Hawkeye (3D Visualiser)
[Hawkeye](../sim_hawkeye/index.md) renders a real-time 3D view of the vehicle using MAVLink position data. No physics are simulated in Hawkeye — it is a visualizer only.
[Hawkeye](../sim_hawkeye/index.md) renders a real-time 3D view of the vehicle using MAVLink position data. No physics are simulated in Hawkeye — it is a visualiser only.
In a separate terminal, run:
@@ -92,7 +92,7 @@ hawkeye
Hawkeye connects on UDP port 19410 by default (the same port SIH sends `HIL_STATE_QUATERNION` on).
Use `-fw` for fixed-wing or `-ts` for tailsitter models. See the [Hawkeye docs](../sim_hawkeye/index.md) for multi-vehicle visualization and ULog replay.
Use `-fw` for fixed-wing or `-ts` for tailsitter models. See the [Hawkeye docs](../sim_hawkeye/index.md) for multi-vehicle visualisation and ULog replay.
### Environment Configuration
@@ -146,14 +146,14 @@ See [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](../middleware/uxrce_dds.md) for full setu
PX4 SITL opens the following UDP ports (all instance-aware, offset by instance number N).
| PX4 sends to (remote) | PX4 listens on (local) | Use for | Instance offset |
| --------------------- | ---------------------- | ------------------------------- | ----------------------------------------- |
| **14550** | 18570 (+N) | QGroundControl, GCS tools | Yes |
| **14540** (+N) | 14580 (+N) | MAVSDK, MAVROS, offboard APIs | Yes (capped at 14549 for 10+ instances) |
| **14030** (+N) | 14280 (+N) | Onboard camera/payload | Yes |
| **13280** (+N) | 13030 (+N) | Gimbal control | Yes |
| **19410** (+N) | 19450 (+N) | Hawkeye visualizer (SIH only) | Yes |
| **8888** | - | uXRCE-DDS / ROS 2 | No (use DDS namespace for multi-instance) |
| PX4 sends to (remote) | PX4 listens on (local) | Use for | Instance offset |
| --------------------- | ---------------------- | ----------------------------- | ----------------------------------------- |
| **14550** | 18570 (+N) | QGroundControl, GCS tools | Yes |
| **14540** (+N) | 14580 (+N) | MAVSDK, MAVROS, offboard APIs | Yes (capped at 14549 for 10+ instances) |
| **14030** (+N) | 14280 (+N) | Onboard camera/payload | Yes |
| **13280** (+N) | 13030 (+N) | Gimbal control | Yes |
| **19410** (+N) | 19450 (+N) | Hawkeye visualizer (SIH only) | Yes |
| **8888** | - | uXRCE-DDS / ROS 2 | No (use DDS namespace for multi-instance) |
QGC auto-connects on port **14550** by default. MAVSDK connects on **14540**. No manual port configuration needed for single-instance use.