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
Copy file name to clipboardExpand all lines: docs/vitepress/docs/deploy-for-development.md
+19-15Lines changed: 19 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@ The recommended way of developing GISNav is to deploy a SITL simulation and supp
10
10
11
11
The easy way to deploy for development is via the Makefile. Use the below commands to run a local ROS 2 default launch configuration of GISNav and to deploy a supporting SITL simulation as Docker Compose services.
12
12
13
-
- The `uorb` target uses the `micro-ros-agent` middleware service and `UORBNode`.
14
-
- The `ubx` and `nmea` targets use `socat`running on the Docker host to bridge the serial port output via TCP to the SITL simulation container.
13
+
- The `uorb` target uses the `micro-ros-agent` middleware service.
14
+
- The `ubx` and `nmea` targets use `socat` to bridge the serial communication over TCP between the docker containers.
The PX4 NMEA driver hard-codes some variables like the `s_variance_m_s` speed variance to 0 which may lead to failsafes triggering (unverified) if only relying on GISNav for velocity estimates (e.g. when [simulating failure of the primary GPS](/README#simulate-gps-failure)).
36
-
NMEA also was not originally intended for airborne drone navigation and the message types are not well suited for GISNav's use case.
34
+
::: info Todo
35
+
UBX support is not fully implemented and most likely does not work yet
### Redirecting serial output for SITL simulation <Badgetype="info"text="NMEA/u-blox"/>
60
60
61
-
The `px4` SITL simulation container listens for serial messages (e.g NMEA or u-blox) at TCP port 15000. GISNav `NMEANode` and `UBXNode` write into a serial port, and this serial port traffic must be bridged to the TCP port of the running `px4` container to make the mock GPS demo work in SITL simulation.
61
+
The `px4` SITL simulation container listens for serial messages (NMEA or UBX) at TCP port 15000. GISNav `NMEANode` and `UBXNode` write into ROS, and the `nmea` and `ubx` middlware service use `socat` to bridge the serial communication over TCP between the docker containers. This TCP traffic is again directed to a serial port in the `px4` container to make the mock GPS demo work in SITL simulation.
62
+
63
+
::: info uORB bypasses the PX4 GPS driver
64
+
When using the `uORB` protocol, the PX4 GPS driver is bypassed and the uORB messages are used directly by the FCU.
65
+
66
+
:::
62
67
63
68
The Makefile `make dev PROTOCOL=nmea` and `make dev PROTOCOL=ubx` recipes create a pseudo-tty (virtual serial port) using `socat` to bridge the GISNav serial port output via TCP to the Docker container running the SITL simulation. The Makefile hardcodes `localhost` as the container host as the targets are intended for local development, but you can use the below example if your simulation is running on a different host:
0 commit comments