Navigation Service - The-Bug-Bashers/iBOARCode GitHub Wiki

Overview

The Navigation Service handles autonomous navigation by calculating movement directions and speeds based on LiDAR data.
Built with Java, Maven, and Spring Boot.


Modes

Simple Navigate

  • Selects the furthest distance that is not in a restriction zone.
  • Two calculation modes:
    1. Recalculate every 0.5s.
    2. Wait until obstacle is reached before recalculating.

Restriction Zones

Static

  • Always points 180° from target direction.
  • Prevents backtracking.
  • Note: May prevent maze completion if backward angles are needed.

Dynamic

  • Always points 180° from current heading.
  • Prevents the robot from getting stuck in a loop.

Commands

Action Command
Run sudo screen -S NavigationService mvn spring-boot:run
Test if running `sudo screen -list
Stop sudo screen -S NavigationService -X stuff "^C"

[!CAUTION]
Always start the MQTT Broker first.

[!IMPORTANT]
Always use the session name NavigationService.