The aim of this project is to build a line following robot that will follow a line at a constant speed and be able to recognize different docking zones scattered around the track and park there.
Note: This project is retired and not under current development. Feel free to contact us if needed.
Here you go: RoboPost Demo Video – Youtube
If you want to know how it works in more details, please visit our wiki!
Our custom hardware was designed and built with 3d printed parts, and our own lab-etched PCB boards. We also made the assembly in a lab.
If you are interested in building your own custom robot based on our design, read on.
If you are interested in ordering a hardware built by us, please open an issue on Github or email Daniel at [email protected]
- MSP4305529LP Evaluation Board
- Particle Photon
- TI DRV8871 Adafruit Breakout Board
- 2 6V DC Motors with attached encoder
- SparkFun Line Follower Sensor Array
- Grove I2C Color Sensor Module
- 3d-printed Chassis (Custom-built)
- 3d-printed Motor couple (Custom-built)
- PCB Main Dedicated Board (Custom-built)
- Two wheels
- Omni-wheel
- 2 Cell (7.4V) Lipo battery
- 5V Voltage regulator
- 3v3 Voltage Regulator
- Battery Voltage monitor
- Track (Custom-built)
- Docking Stations (Custom-built)
The schematic below is from the PCB Main dedicated board design. It does not include some connections external to the board.
Connections external to the board are done by connecting external pins. This includes:
- From battery to Battery terminal
- From motor driver output to motor
- From power pins (3v3/5v) to sensor power inputs
- From i2c pins in sensors to i2c bus on the board.
Now that you have the hardware, it is time to setup the software!
Note: This installation procedure assumes you have a UNIX operating system, such as macOS or Linux, and that you are familiar with the command line. If you are using Microsoft Windows, some steps might be different. Note: This installation procesure also assumes that the RoboPost firmware for both MSP430 and Particle Photon are already flashed into the robot.
- Remove the robot from packaging.
- Attach the battery to the velcro tape mount.
- Connect Voltage Monitor. A loud beep will occur and the voltages should appear on screen.
- You should see 6.7V minimum on the total voltage monitor. If it is below, it is necessary to charge the battery, or the robot will not work as expected
- Connect the battery terminals to the Robot.
- You should immediately see the Line Follower Array and the Photon light up.
- Setup the Photon to connect to the Wi-Fi network of your choice. More instructions on that can be found on https://setup.particle.io
- Make sure you have Git https://git-scm.com/
- Clone this repo into your computer
$ git clone https://github.com/danielwalnut/RoboPost.git
- Generate a keys.json file within the Web folder. This allows the Node.js Application to connect to the correct device.
Then open the file, and create its contents, in the following format:
$ cd RoboPost/Web $ touch keys.json
Your keys can be found at https://console.particle.io{ "ID": <YOUR PARTICLE-ACCOUNT-ID IN DOUBLE QUOTES>, "Token": <YOUR PHOTON-ACCESS-KEY IN DOUBLE QUOTES> }
- Make sure you have Node.js 8.x.x https://nodejs.org/en/ and NPM https://npmjs.com/
- In order to install the required module packages, open a UNIX terminal, make sure you are in the
Web
folder and type:$ npm install
- Now the installation should have been successful. Make sure the installation happened with no error
- The software is now setup.
- After the robot is assembled and software is installed, power the robot by plugging the battery connector with power on the board.
- Make sure Photon is connected to the same Wi-Fi network as the computer.
- On a UNIX terminal, go to the
Web
folder and start the server:$ cd <path-to-RoboPost>/Web $ npm start
- After a few seconds, you should see on the screen
- Open your favorite web browser and go to http://localhost:3000/
- The user interface will be displayed, to adjust parameters, click the cog at top right corner and drag the sliders. To set the robot in motion, click the play button on top left corner of the UI then press PB1 on the MSP430.
- To download statistic information, click the download button to the left of the cog in the UI.
If you want to improve the software in RoboPost to suit your needs, you will need to understand the firmware more deeply.
General information about each module can be found in the README.md
of most modules, and deeper information, such as descriptions of each functions can be found in the header .h
files of most modules.
Feel free to open an issue or email Daniel at [email protected]