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