Overview and progress:

This blog is motivation to build a robot and explore regularly. Post every week or so on progress. 

Robots will be:

  • Test robots to learn and test ideas
    • simple test robot to just test software ideas quickly
    • complex to test build ideas
  • Rebuilds from robots from others to learn and test
    • older ideas built with Spike Prime
  • Hardware tests and comparison
  • Software tests and comparison
  • Test or document a robots for a camp theme workshop
    • Theme related robots will likely Life Application Questions
    • Larger ideas condensed to work in a shorter time.
Possibly coming:  Humanoid with Spike Prime, Automated Lego boats, Robot dance

Robots in Progress Summary: (backward date order)

Robot 3: Humanoid [Oct 25 finished Torso build, write-up in progress]

Torso had interesting gear set-up to accomplish swinging arms, so build first using. 
Legs in progress.

Robot 2: Color Sorters (Spike Prime) [Sept.25: finished, refining write-up]

Used (Rebrickable - MOC by Philoo) as my starting place. Build  is excellent.
Program is modular with self-defined bricks so repeated actions are not repeated in the code (DRY)
Program changes are more interesting:
  • Initialization adds colors so maps colors by color #  to  bin#  so 
    • Color to bin allows fewer bins than color numbers
    • Don't have to have bins for colors not using
    • More intuitive and readable.
  • Added theColor variable to indicate color found for readability
  • Added default action if color not recognized.
    • No Color: Can only happen if add bricks while running or robot moved while running
  • Added indicator of color of block last seen
    • Power button color reflected color of last Lego block seen. 
      • Easier to see than Lego block under the color senor.
      • Useful if Lego color is not one of color defined like Tan was recognized as White.
Color Sorter can be used to teach multiple programming concepts from beginner to advanced best practices.
  • If/Then for beginners
    • basic use
    • vs If/then/else use
  • Next bin position:
    • Beginners - go back to beginning position each time
    • Relative position - Good math and variable exercise
  • Modular(DRY): self-defined blocks with and without inputs
  • Variables used for readability
  • Arrays and mappings between values for color
  • Error checking 
    • Default actions: even if never believe it can happen to avoid program hanging
  • Indicators
    • Power button color was easier to see than keeping up with what current Lego block's color under the color sensor was.
    • Can also be used as a test concept on checking when and if code is being reached.

Robot 1: Wall and Canyon - Python [Start Sept, 2025]

Repeat Wall and Canyon challenges using micro-Python.
Examine how to do Event driven (asynchronous) programming in micro-Python
Learn async and await with sensors.

Robot 1: Wall and Canyon - Word Blocks [finished Sept. 2025]

First tests that can be done on  the floor  and a table  First used July 2024 in 30 min workshop.
Use (Spike Prime) Any simple moving robot with sensors to do.

Challenges:
  • Wall: Stop at or before a wall or obstacle
  • Robot corrects and continues going
  • Canyon:  Stop before going over edge of table
  • End robot does a random walk
Programming idea: Event driven


Comments

Popular posts from this blog

1: Wall and Canyon robot

Lego (Color) Sorters