Developed by
- Shivam Walia
- Saswath Yeshwanth
- Kyle Surendran
- Om Upadhyay
Colourific is a robotic toy-sorting system designed to help children, particularly those with visual impairments or early-stage cognitive development, organize toys by color. Developed as part of the MTE 100/MTE 121 course project, this system leverages LEGO EV3 Mindstorm components to create a safe, efficient, and user-friendly solution.
The robot utilizes sensors for color detection and motors for sorting toys into designated areas. Its child-friendly design ensures safety, modularity, and accessibility, making it suitable for a diverse range of users.
- Color Detection: Identifies toy colors using LEGO EV3 sensors.
- Block Count Selection: User-defined sorting for 1 to 9 blocks.
- Interactive Controls: Simple EV3 button-based interface for selecting target colors and block counts.
- Child-Friendly Design: Sturdy structure with rounded edges for safety.
- Inclusive Design: Tailored to assist children with disabilities, promoting accessibility and inclusivity.
-
Sensor Initialization:
Sensors for touch, color, and IR are set up using theinitializeSensors()
function. -
User Input:
- Target color is selected via the
getColorSelection()
function. - Block count is specified using the
getBlockCount()
function.
- Target color is selected via the
-
Block Sorting Process:
- The robot searches for blocks using IR sensors and moves toward them.
- Blocks are grasped, checked for the correct color, and either sorted or released based on the target color.
- Correctly colored blocks are transported to the designated area using IR beacon guidance.
- LEGO EV3 Mindstorm kit.
- RobotC software.
- Clone this repository:
git clone https://github.com/your-username/colourific.git
- Navigate to the mainprogramv3.c file and open the code in RobotC. Remove the .c from the file name
- Upload the program to your LEGO EV3 Mindstorm robot.
- Follow the instructions displayed on the EV3 brick to select the target color and block count.
initializeSensors()
: Sets up and calibrates the sensors.getColorSelection()
: Allows users to select the target color via EV3 buttons.getBlockCount()
: Enables users to set the number of blocks to sort.searchAndCollectBlocks()
: Main routine for searching, grasping, and sorting blocks.graspBlock()
andreleaseBlock()
: Handles block manipulation.followIRBeacon()
: Navigates the robot to the designated area using the IR beacon.
- LEGO EV3 Mindstorm kit.
- EV3 IR sensor.
- EV3 touch sensor.
- EV3 colour sensor.
- EV3-compatible multiplexer (e.g., NXT sensor multiplexer).
- Enhance the color detection algorithm for improved accuracy.
- Add support for additional toy shapes and sizes.
- Implement advanced navigation techniques for dynamic environments.
This project was developed as part of the MTE 100/MTE 121 course at the University of Waterloo. Special thanks to our instructors and peers for their guidance and feedback.