Pathfind3r is a Lego Mindstorms based printing system that can generate and solve 2D mazes. Grid size and dimensions are customizable. Maze width and height is limited to 20 tiles to support international A4 sized paper. In addition to draw and solve mazes, Pathfind3r can also draw simple SVG paths as well. Draw area of the SVG file should be set to 1750×1650. 2
Hearth of the brick is a Debian-Linux based operating system developed by folks at http://www.ev3dev.org/. Running ev3dev on the brick lets you make great things like using package managers and coding with different programming languages. Pathfind3r is using multiple languages to support responsive control.Starting python socket server, calibrating motor positions, feeding paper in and out, setting pen positions up and down, selecting the columnn and row size of the maze, uploading svg files to the brick are done using a friendly web interface.
At the first approach python scripts are executed using php scripts but the system was not responsive. Every command was single threaded and blocking. Also cancelling the currently running command was a problem because calling shell scripts from php takes some time to execute. It was working but not enough. The solution was using a socket server for communication. Now there is a simple multi threaded socket server running on python. Commands from the web interface are sent to php scripts using ajax calls. Php scripts pass these commands to socket server. Then Socket server executes them. It is so fast that pathfind3r can be controlled using arrow keys almost realtime.
All the building instructions, sourcodes and 3d models are available at the bottom of the page. Hope you like it.
Model Files3d Model file is created using Bricksmith. The model is seperated into multiple modules and each of them has a step by step instructions.
Download Model Files
Source FilesThere is a github project that contains all the source code of the pathfind3r. There are more details at the project page.
Github Project Page
Part ListProject started with Mindstorms Ev3 31313 Lego set but i had to add extra parts like rails and smaller tires.Complete list is at below link.