25. Multi‐Input Robot State Feature Vectors Specification - m-marini/wheellyj GitHub Wiki
Multi-Input Robot State Feature Vectors
Release: 0.29.0
Analytical layout for the computeState pipeline. Instead of a single monolithic flat array, the system splits inputs into 5 independent, specialised feature vectors to feed a multi-input neural network architecture.
1. Robot Chassis & Navigation Vector (robot)
- Vector Dimension: 11 continuous features
- Scope: Physical kinematics, internal execution status, and chassis navigation targets.
| Index | Feature Name | Range | Transformation / Strategy | Description |
|---|---|---|---|---|
| 0 | Linear Velocity | [-1.0, 1.0] |
Speed ÷ Max Linear Speed | Current forward/backward velocity. |
| 1 | Angular Velocity | [-1.0, 1.0] |
Velocity ÷ Max Rotational Speed | Current robot turning rate. |
| 2 | Egocentric Map Orientation (Sine) | [-1.0, 1.0] |
(\sin(\text{Map Alignment Angle})) | y-axis projection of local map grid. |
| 3 | Egocentric Map Orientation (Cosine) | [-1.0, 1.0] |
(\cos(\text{Map Alignment Angle})) | x-axis projection of local map grid. |
| 4 | Halt Status Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | System is in an explicit idle mode. |
| 5 | Move Status Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Translation command is active. |
| 6 | Rotate Status Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Rotation command is active. |
| 7 | Target Relative X Coordinate | [-1.0, 1.0] |
Relative X ÷ Max Target Range | Left/right goal position from centre. |
| 8 | Target Relative Y Coordinate | [-1.0, 1.0] |
Relative Y ÷ Max Target Range | Forward/backward goal position from centre. |
| 9 | Target Relative Rotation (Sine) | [-1.0, 1.0] |
(\sin(\text{Target Heading Error})) | y-component of heading error vector. |
| 10 | Target Relative Rotation (Cosine) | [-1.0, 1.0] |
(\cos(\text{Target Heading Error})) | x-component of heading error vector. |
2. Proximity & Safety Vector (proxy)
- Vector Dimension: 6 mixed features (Continuous distance, binary tactile, and kinetic obstruction flags)
- Scope: Environment raw distance buffers, physical bumper contacts, and motion hindrance detection.
| Index | Feature Name | Range | Transformation / Strategy | Description |
|---|---|---|---|---|
| 0 | Front Proximity | [0.0, 1.0] |
Distance ÷ Max LiDAR Range | Distance to obstacles ahead (0 = collision). |
| 1 | Rear Proximity | [0.0, 1.0] |
Distance ÷ Max LiDAR Range | Distance to obstacles behind (0 = collision). |
| 2 | Front Contact Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Direct bumper impact at the front. |
| 3 | Rear Contact Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Direct bumper impact at the rear. |
| 4 | Front Hindrance Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Forward motion obstruction, slippage, or high torque area. |
| 5 | Rear Hindrance Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Backward motion obstruction, slippage, or high torque area. |
3. Sensor Head Vector (head)
- Vector Dimension: 7 continuous features
- Scope: Scanning turret kinematics, local panning intent, and hardware tracking alignment.
| Index | Feature Name | Range | Transformation / Strategy | Description |
|---|---|---|---|---|
| 0 | Head Direction (Sine) | [-1.0, 1.0] |
(\sin(\text{Head Relative Angle})) | Head orientation y-component relative to robot. |
| 1 | Head Direction (Cosine) | [-1.0, 1.0] |
(\cos(\text{Head Relative Angle})) | Head orientation x-component relative to robot. |
| 2 | Head Tracking Target Relative X | [-1.0, 1.0] |
Relative X ÷ Max Head Target Range | Left/right point coordinate tracked by head. |
| 3 | Head Tracking Target Relative Y | [-1.0, 1.0] |
Relative Y ÷ Max Head Target Range | Forward/backward point coordinate tracked by head. |
| 4 | Head Target Relative Rotation (Sine) | [-1.0, 1.0] |
(\sin(\text{Head Heading Error})) | Head angular error y-component. |
| 5 | Head Target Relative Rotation (Cosine) | [-1.0, 1.0] |
(\cos(\text{Head Heading Error})) | Head angular error x-component. |
| 6 | Head Tracking Status Signal | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | Active head sweep or target tracking mode. |
4. Web Camera Vector (camera)
- Vector Dimension: 4 + # of recognized markers mixed features
- Scope: Optical visual marker confirmation, target angles, and real-time temporal sensor fusion.
| Index | Feature Name | Range | Transformation / Strategy | Description |
|---|---|---|---|---|
| 0 | Marker Relative Angle (Sine) | [-1.0, 1.0] |
(\sin(\text{Marker Relative Angle})) | y-component of the visual vector pointing to the marker. |
| 1 | Marker Relative Angle (Cosine) | [-1.0, 1.0] |
(\cos(\text{Marker Relative Angle})) | x-component of the visual vector pointing to the marker. |
| 2 | LiDAR-Vision Temporal Correlation | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | 1.0 indicates a verified temporal coincidence between visual events and LiDAR detections. |
| 3 | Marker Unrecognized Flag | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | 1.0 indicates an invalid marker is in the camera's field of view. |
| 3+i | Marker Recognized Flag | [0.0, 1.0] |
Binary Discrete (0.0 / 1.0) | 1.0 indicates a valid i-th marker is in the camera's field of view. |
5. Concurrent FSM Actions Vector (fsm)
- Vector Dimension: 25 categorical binary features (Factored dual-region encoding)
- Scope: High-level logical intent driving robot primitives and sensor head strategies concurrently.
Region A: Robot FSM Sub-Action (MoveActionId - Indices 0–14)
Exactly one bit from indices 0 to 14 must evaluate to 1.0.
- 0: CONTINUE_MOVE – Keeps current locomotion profile.
- 1: HALT – Executes explicit stop or braking sequence.
- 2: MICRO_FORWARD – Performs a micro-step translation forward.
- 3: MICRO_BACKWARD – Performs a micro-step translation backward.
- 4: MICRO_LEFT – Performs a micro-step rotational pivot left.
- 5: MICRO_RIGHT – Performs a micro-step rotational pivot right.
- 6: TURN_FACE_OBSTACLE – Pivots front facade to face the closest obstacle.
- 7: TURN_REAR_OBSTACLE – Pivots rear robot body to face away from the closest obstacle.
- 8: TURN_FACE_MARKER – Pivots front facade to face the nearest marker.
- 9: TURN_REAR_MARKER – Pivots rear robot body to face the nearest marker.
- 10: TURN_LEFT_SCAN – Panning robot left for environmental mapping.
- 11: TURN_RIGHT_SCAN – Panning robot right for environmental mapping.
- 12: DISENGAGE_CONTACT – Emergency backward escape routine upon collision.
- 13: TRACK_MARKER – Active navigation pathing towards a tracked marker.
- 14: TRACK_OBSTACLE – Active navigation pathing towards an obstacle.
- 15: EXPLORE_UNKNOWN – Trajectory generation towards unmapped regions via RRT.
Region B: Head FSM Sub-Action (HeadActionId - Indices 15–21)
Exactly one bit from indices 15 to 21 must evaluate to 1.0.
- 16: CONTINUE_HEAD – Maintained gaze state without modifications.
- 17: LOOK_STRAIGHT – Locks head orientation parallel to the driving vector.
- 18: SCAN – Initiates continuous automated panoramic lookup sweeps.
- 19: LOOK_FACE_MARKER – Focuses gaze at the nearest active waypoint marker.
- 20: LOOK_REAR_MARKER – Reverses gaze to monitor waypoints from behind.
- 21: LOOK_FACE_OBSTACLE – Locks sensor attention directly onto the nearest obstruction.
- 22: LOOK_REAR_OBSTACLE – Monitors close obstacles utilizing a backward sensor
- 23: LOOK_FACE_EXPLORATION – Locks sensor attention directly onto the nearest unknown area.
- 24: LOOK_REAR_EXPLORATION – Monitors nearest unknown area utilizing a backward sensor