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
- open a regular powershell window (no administrator!)
- 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
- paste the command by right-clicking or pressing shift+insert ctrl+v doesn't work in the powershell window
- press enter, then y, then enter again.
- wait for about 3-10 minutes (depends on your pc/laptop cpu and internet speed)
- 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.