Skip to content

kylewr/sprk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

S.P.R.K.

Parts of the project

  1. The SPRK robot program (this repository) running on a Raspberry Pi.
  2. The ESP-32 that runs custom software that handles all low level IO on the robot and communicates to the Pi via SPI.
  3. The teleoperator console that connects to the Pi via a network socket.

Purpose

The purpose of this was to create a general purpose robot framework, mainly for use on the SPRK robot. Hence, why src/base/ exists.

Building the project

Ensure you are in the root of the project first.

  1. For a x64 linux target, run
mkdir ./build && cd ./build && cmake ../src && cmake --build . --clean-first

The output will be an executable ./robot

  1. For an arm target, use the toolchain-rpi.cmake file by running
mkdir ./build-arm && cd ./build-arm && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-rpi.cmake ../src/ && cmake --build . --clean-first

Deploying to RPi

Yes, the IP is hardcoded in deploy.sh. There is a VS code task that runs it.

If you read this far...

Don't ask me what SPRK stands for. I don't know either. Originally, the robot was named SHARK for "Self Height Adjusting Robot with Kinematics", and when I realized I didn't have CAD experience at the time, was quickly scrapped. We put off the renaming the project until the day of the STEM showcase.

Credits

  • Leon de Boer: C SPI logic