Alternating Navigation and Conspicuity Lights¶
Each motor mount board are equipped with navigation lights. These lights are used to indicate the drone's heading and conspicuity lighting patterns.
Warning
In the event of a motherboard reboot, the motor mount board temporarily loses the power and goes off.
Scheme¶
Info
This scheme needs motherboard release v1.3.0 or newer to operate in synchronous mode.
Warning
In instances of a CAN communication failure, where the MMB misses the sync pulse, it autonomously takes control of navlights. It alternatively activates controllability and conspicuity lights, resulting in a gradual drift in the sequence over time.
The MMB autonomously manage and control the navigation lights.
The MMB is tasked with configuring colors based on its unique node ID. On receiving the sync pulse, the MMB disables the navigation light and (re)start the sequence from the controllability light.
Configuration Registers¶
Brightness Control¶
Note
This brightness control register is only valid for the MMBs with the software version v1.2.0 or above.
For each MMB, the brightness of the navigation light is configurable with the following Cyphal register.
| Register Name | Type | Default | Unit | Description |
|---|---|---|---|---|
navlight.brightness |
natural16 |
300 | % | range from 0 to 1000 |
Use the following command to adjust the brightness of the navigation lights associated with each MMB.
yakut reg <node_id> navlight.brightness <brightness_value>
# e.g.,
# 1. update navlights brightness for all MMBs simultaneously
yakut reg 1,3,5,7,9,11 navlight.brightness 100
# 2. update the navlights brightness of a MMB with node ID 1
yakut reg 1 navlight.brightness 100
Navlights State Duration¶
Note
This state duration register is only valid for the MMBs with the software version v1.2.0 or above.
The ON duration of the controllability and conspicuity light and the OFF duration between the states is configurable with the following Cyphal register.
| Register Name | Type | Default | Unit | Description |
|---|---|---|---|---|
navlight.state_duration_ms |
natural16 |
[1200, 50, 250, 0] | milliseconds | [controllability light on duration, state 1 off duration, conspicuity light on duration, state 2 off duration] |
Warning
The navlights feedback publication rate is dependent on the state durations configured. Smaller state durations will increase the publication, results in bus overhead.
The ON duration of the controllability light must be greater than 100ms. If the ON duration falls below 100 milliseconds, the running application will automatically adjust it to a minimum of 100 milliseconds to limit the feedback publication rate.
Use the following command to update the state durations.
yakut reg <node_id> navlight.state_duration_ms <controllability_light_ON_duration> <off_1_duration> <conspicuity_light_ON_duration> <off_2_duration>
# e.g., the following command set ON duration of controllability light to 1.2s, off 1 duration to 50ms, ON duration of conspicuity light to 250ms and off 2 duration to 0ms
yakut reg 1 navlight.state_duration_ms 1200 50 250 0
# or updating simultaneously to all MMBs
yakut reg 1,3,5,7,9,11 navlight.state_duration_ms 1200 50 250 0
Configurations can also updated through mmb.yaml file. Refer to the Configuration Deployment Section.
User Interface¶
| LED | meaning |
|---|---|
| Solid Off | Motor Mount Board inactive |
| Blinking Blue | Motor Mount Board node active |
Cyphal¶
Publication¶
Note
The publication ports for acceleration and ambient_light is only valid for the MMBs with the software version v1.2.1 or below. These ports will be deprecated and subsequently removed in the future.
| Topic Name | Port ID | Type | Priority | Frequency | Description |
|---|---|---|---|---|---|
acceleration |
6002 | starcopter.AccelerationFIFO.0.1 | nominal (4) | Adaptive | Publish arm vibrations (acceleration measurements) |
system_status |
6004 | starcopter.aeric.mmb.SystemStatus.0.1 | nominal (4) | 5 Hz | Publish system voltages and on-board temperature mesaurements |
ambient_light |
6005 | uavcan.si.sample.voltage.Scalar.1.0 | nominal (4) | 2 Hz | Publish ambient light as a function of volts/illuminance (V/lx) |
navlights_feedback |
6007 | starcopter.aeric.Navlight.0.1 | low (5) | 4Hz | Publish navigation lights feedback message (brightness and color). The feedback publication depends on the state durations configured (see navlights state durations) |
Subscription¶
| Topic Name | Port ID | Type | Description |
|---|---|---|---|
navlight_sync_pulse |
6076 | uavcan.primitive.Empty.1.0 | Subscribe to the navigation lights sync pulse |
Configuration Deployment¶
The configurations can be applied via yakut command or ask software development team.
Using Yakut¶
Required:
- Configuration file
mmb.yaml(locate in the project directory) - Setting up Yakut
Apply configurations with:
cat mmb.yaml | y rb <node-id(s)>
# e.g.,
cat mmb.yaml | y rb 1,3,5,7,9,11
Note
the <node-id> can be viewed using the command yakut monitor or, in short y mon.
Further Information¶
See following diagrams