Difference between revisions of "Niryo Ned One - Townend Joseph"
m (→Further developments) |
m (→Further developments) |
||
Line 17: | Line 17: | ||
==Further developments== | ==Further developments== | ||
Further developments that this project can undertake include the following: | Further developments that this project can undertake include the following: | ||
+ | |||
- Incorporate additional elements in the hardware to enable more automation. For example, have objects arriving on a conveyor belt that will stop when a UV light sensor is disturbed. This would allow for an endless amount of objects to be collected at a steady pace. | - Incorporate additional elements in the hardware to enable more automation. For example, have objects arriving on a conveyor belt that will stop when a UV light sensor is disturbed. This would allow for an endless amount of objects to be collected at a steady pace. | ||
+ | |||
- Create a method for aligning all of the objects so that they can be picked up effectively by a grabber. For example, if this was incorporated on the conveyor belt, then the objects could be filtered into the desired orientation before the grabber reaches them. | - Create a method for aligning all of the objects so that they can be picked up effectively by a grabber. For example, if this was incorporated on the conveyor belt, then the objects could be filtered into the desired orientation before the grabber reaches them. | ||
+ | |||
- Limit the amount of light that the objects are exposed to. For example, this could be achieved by creating an enclosed environment that doesn't have background light, and a more sensitive light can be added to the head of the arm. This would reduce angle glare, thus allowing the camera to correctly identify the colour of the object. | - Limit the amount of light that the objects are exposed to. For example, this could be achieved by creating an enclosed environment that doesn't have background light, and a more sensitive light can be added to the head of the arm. This would reduce angle glare, thus allowing the camera to correctly identify the colour of the object. | ||
+ | |||
- Produce the program using ROS programming language. This would be effective because it allows for more modularity and flexibility in the code. It also allows more processes to happen. | - Produce the program using ROS programming language. This would be effective because it allows for more modularity and flexibility in the code. It also allows more processes to happen. | ||
Revision as of 22:35, 7 December 2023
Contents
SORTING BRICKS BY COLOUR USING THE NIRYO ARM BY JOSEPH TOWNEND
The goal of the project
The goal of my project was to build a robotic arm that would grab items off of a plate, and place them into containers depending on their colour. This program will be developed with the intention to be used in every day robotics tasks, creating automation that can be utilised in daily life and in production methods to reduce time and labour.
Project details
The system uses a Niryo One robot arm to identify and pick up bricks based on their colours. It uses a camera to recognize different colours. Once the colours are identified, the robot arm moves to grab the bricks from the workstation using a grabber module and delivers them to a redetermined area. This system will run until the workspace is empty, which is identified by the camera.
Problems in the project
The main problems that were encountered were software. To begin with, the software didn't respond well to the camera module on the robotic arm. This was resolved by re-installing the Niryo software, which resulted in the camera becoming available for initialisation. Another problem that was encountered was the lighting. Due to external lighting, sometimes the blocks were missed by the robot arm due to the glare that the blocks were projecting. This resulted in the robot not detecting the blocks as the colour that they are, resulting in the blocks being skipped on cycles of the code. Another issue was the orientation of some bricks. The gripper failed to account for slightly horizontal bricks, resulting in a few failures to collect.
Conclusion
In conclusion, this project was successful at the task of sorting Lego bricks by their colour.
Further developments
Further developments that this project can undertake include the following:
- Incorporate additional elements in the hardware to enable more automation. For example, have objects arriving on a conveyor belt that will stop when a UV light sensor is disturbed. This would allow for an endless amount of objects to be collected at a steady pace.
- Create a method for aligning all of the objects so that they can be picked up effectively by a grabber. For example, if this was incorporated on the conveyor belt, then the objects could be filtered into the desired orientation before the grabber reaches them.
- Limit the amount of light that the objects are exposed to. For example, this could be achieved by creating an enclosed environment that doesn't have background light, and a more sensitive light can be added to the head of the arm. This would reduce angle glare, thus allowing the camera to correctly identify the colour of the object.
- Produce the program using ROS programming language. This would be effective because it allows for more modularity and flexibility in the code. It also allows more processes to happen.
Photos and code
Find below the code block and a video of the arm operating.
Code block for the colour sorting algorithm
Video of the code in operation