Home Contents Start Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Next

Roadmap and Implementation Phases

There are a lot of concepts for me to learn here. I also need to determine where functionality resides (Pi or Arduino) and create communication mechanisms between the processors. This is potentially a complex build and integration so I intend to implement in small phases, each building on the previous phase.This may mean reworking and/or rewiring things as we move forward.

Some phases are purely research and will not move Kupe forward, but the knowledged gained will be useful in subsequent phases. As I look further forward, the details of phases becomeless detailed but that will be fleshed out as I learn more.

Phase 1: Traversing a Virtual Map

This involves using a virtual map and creating a "traversal path".This is CPP.

  • Represent lawn as a virtual map
  • Consider map representatiion (cartesian,compass, python)
  • Ideally, use real measurements and scale for grid granularity (different sized robots)
  • Simple Grid CPP - extend to accommodate obstacles leaving holes in the pattern
  • Display CPP visually
  • Get this working on the Pi

Phase 2: Add Obstacle Avoidance

Augment Phase1 to navigate around obstacles and continue CPP. This aims to give full coverage

  • Add A-Star (or similar) search algorithm
  • Package/Modularize python code and algorithms
  • Add tests
  • Display visually to monitor how we cover the whole area
  • Get this running on the Pi
  • Merge CPP and A-Star to give full coverage

Phase 3: Experiment with OpenCV - Camera

I worked with openCV on moana but hat was on a Pi 3 using older OpenCV software. I need to familiarize myself with any new APIs etc

  • Load up Pi with openCV and get it working.
  • Use a Pi camera to take images
  • Install Pi on kupe
  • Loom wiring from power to Pi
  • Physically install Camera on Kupe
  • Wire camera into Pi

Phase 4: Using April Tags

  • Research different April Tags. Size, type etc
  • Create some April Tags
  • Use Camera with OpenCv to recognize April Tags.
  • Determine what data we can obtain from the April Tags
  • Determine if we need to custom configure OpenCV for the camera type to improve accurracy

Phase 5: Real world map to virtual map and vice-versa

  • Investigate map representation. Cartesian vs Compass vs Relative
  • See how recognition of an April Tag data can be integrated into the virtual map
  • Determine which map representaion to store and various conversions between other types.
  • Localization between April Tag and Virtual Map representaion

Phase 6: Interfacing Pi with Arduino

  • Serial UART mechanism
  • Determine baud rate. I suspect it needs to be high
  • Create a communication protocol, primarily from Pi->Arduino but maybe two way
  • Physically wire this up on kupe
  • Pi should send steerage commands to Arduino
  • Compass readings
  • Where to interface the compass (Pi or Arduino)
  • Get it working on kupe

Phase 7: Monocular Odometry

  • Research into how to do this with openCV
  • Camera configuration adjustments
  • Determine what data we can glean from this mechanism
  • What are the limitations and what is missing
  • Do we need compass and consider how we can merge this sensor data

Phase 8: Compass - planning and correction

Phase 9: Sensor Merging - Kalman filtering

Phase 10: Monocular Visual Odometry, April Tags and Compass

Phase 11: Stereo Visual Odometry

Phase 12: Reworking the compass - move to arduino

Phase 13: Monocular to Stereo Visual Odometry

Phase 14: Merging Stereo Visual Odemtry with April Tags and Compass

Phase 15: Generating the map - SLAM research

Phase 16: Visual SLAM vs LIDAR


April 2026


Home Contents Start Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Next