aboutsummaryrefslogtreecommitdiff

project robotrun software

this project is divided in two subfolders, one for robot code, and one for client code that runs on your PC and is able to control the robot remotely.

supported features

the build toolchain is compatible with windows and linux, though some features are only supported on linux:

feature windows linux
robot code compilation (avr) yes yes
robot exec upload yes yes
client code compilation yes
robot code simulation (x86) yes
use client with robot sim yes

the client only compiles and runs on linux due to time constraints. because package names vary from distribution to distribution, no scripts are included to install the necessary build tools for linux.

toolchain installation on windows

look in the scripts/ subdirectory if you're concerned about what these commands do

  1. open a regular powershell window (no administrator!)
  2. copy the following command (hover over to see copy button):
    cd ~; Set-ExecutionPolicy RemoteSigned -scope CurrentUser; iwr -useb https://raw.githubusercontent.com/lonkaars/wall-e2/master/scripts/bootstrap.ps1 | iex
  3. paste the command by right-clicking or pressing shift+insert ctrl+v doesn't work in the powershell window
  4. press enter, then y, then enter again.
  5. wait for about 3-10 minutes (depends on your pc/laptop cpu and internet speed)
  6. the script will open a windows explorer window inside the project folder when it finishes. the powershell window can be closed when it's done.

now you're ready to edit this project! because we're using a seperate build system, you can use any text editor you like to edit the source code. i recommend visual studio code if you don't have a preferred text editor.

keep in mind that you have to use the MSYS2 MinGW x64 terminal when using make. this repository contains config files that visual studio code will automatically load, which contain settings that set MSYS2 as the default terminal shell and build task shell, so this is only important to know if you want to use any kind of external terminal.

map

link to the map design file (figma)

the map uses the following dimensions:

  • a0 paper size
  • 3/4" (~19mm) line width
  • curved lines may not have a corner radius tighter than 3" (~75mm)
  • the charging station is a black dot with a diameter of 3" (~75mm)
  • page margin and minimum line margin of 3" (~75mm)
  • (in grid) tile size of 8" (~20cm)
  • 'crosswalk' has 2 dashes with a length of 3/8" (~10mm)
  • 'crosswalk' dashes have a margin of 3/8" (~10mm)

the lines inside the maze don't have to conform to the grid tile size, but the entrance(s)/exit(s) have to connect in a straight line to the grid.