Integrated Desgin Project
Dec 2021
Arduino based project to control a robot to collect and sort objects
lakeesiv/idp-robot-controller
  • C++
  • PlatformIO
  • Arduino

Details


For our second year Engineering project, we were tasked with creating a autonomous robot that could navigate a terrain, find and pick up boxes which were magnetic, then place them in a designated area. This tasked was completed in a group of 6, and I was in charge of the robot's navigation and control and software.

PlatformIO


I decided to use PlatformIO as my development environment. This was because it allowed me to use the Arduino framework, with typesafe C++ code, compared to the unsafe C code that the Arduino IDE uses. It also allowed me to use the VSCode IDE, which I was already familiar with.

I also used PlatformIO to manage the libraries that I used. This was because it allowed me to easily install and update libraries, and it also allowed me to use the same libraries on my PC and on the robot.

OOP

I decided to use OOP to structure my code. This was because it allowed me to easily create new classes and add new functionality to the robot. It also allowed me to easily reuse code, and it made it easier to debug. This was done through the uses of C++ and header files.

Another benefit was that it allowed us to store all the configs in one place, making it easy to change the robot's behaviour.

WiFi


I decided to use WiFi to allow the robot to communicate with the PC. This was to send logs to the PC, which would then be displayed on the PC's terminal. This allowed us to easily debug the robot.

Results


Sadly the line following sensors broke a few days before the competition, so we had to try to hard code a navgiation however this was not successful.

© Copyright Lakee Sivaraya