top of page

LifeSource Robot

The Sourcerer,team Life Source's robot
Design

The drive train is the basis for every successful robot. First, we had to plan for an appropriately sized robot. This year, we noticed that on the table there were small spaces that the robot would have to maneuver through, such as the space between Filter and Flow. Therefore, the base robot we built was small and with a low profile while remaining structurally stable at the same time. We included an outrigger, which is a frame around our robot that helps with aligning walls and prevents ambient light from interfering with our colour sensors. The EV3 brick is mounted on top where it is easily accessible. We have one large motor at the front of the bot and another large motor at the back of the bot. We used caster wheels to balance out the weight at the back of the robot and we made sure that the wheels are at the same level as the caster wheel so it is balanced out and it isn’t slanted when moving around the mat.

 

Our robot has two fixed colour sensors placed perpendicular to the base in front of the drive train. This format is extremely helpful because it allows for efficient line squaring (aligning with the line) and many positioning maneuvers (line following, detecting lines etc.). We placed one gyro sensor in the centre of our robot. With the gyro sensor in the centre of the drive train, it allows for accurate turns and lets us navigate throughout the map efficiently.

Programming

In terms of programming, we tried to use little green blocks and use sensing blocks so that it was more accurate and efficient. To do that, we used PID’s which is Correction = (error*Kp) + (Integral*Ki) + (Derivative*Kd). We use PID for line following. P is proportional, accounts for present values of the error. There is a linear relationship between two variables (steering motion correction, error); I is integral, it accounts for accumulated passed error. D is derivative, this is possible future trends of the error. PID control is really good for following lines and it accounts for the errors that may come with following it without error correction. We also used my blocks which are blocks that summarize a whole mission or put many blocks into one block. It was useful for us when we wanted to shorten the line follow, we added many parameters to give the required inputs to make the line follow work. We blocked missions to put them into the menu system. We have two colour sensors and applied line squaring program to let the robot detect the black line and square up at black line perfectly. We aligned to the line by sensing the line with one sensor and then align to it by going forward with the other motor until the other sensor sensed the same line.

Programming

In terms of programming, we tried to use little green blocks and use sensing blocks so that it was more accurate and efficient. To do that, we used PID’s which is Correction = (error*Kp) + (Integral*Ki) + (Derivative*Kd). We use PID for line following. P is proportional, accounts for present values of the error. There is a linear relationship between two variables (steering motion correction, error); I is integral, it accounts for accumulated passed error. D is derivative, this is possible future trends of the error. PID control is really good for following lines and it accounts for the errors that may come with following it without error correction. We also used my blocks which are blocks that summarize a whole mission or put many blocks into one block. It was useful for us when we wanted to shorten the line follow, we added many parameters to give the required inputs to make the line follow work. We blocked missions to put them into the menu system. We have two colour sensors and applied line squaring program to let the robot detect the black line and square up at black line perfectly. We aligned to the line by sensing the line with one sensor and then align to it by going forward with the other motor until the other sensor sensed the same line.

bottom of page