Unbiased Pencil Sorter

by Wennix in Circuits > Arduino

379 Views, 0 Favorites, 0 Comments

Unbiased Pencil Sorter

Useless Machine_final presentation (2).png

Concept


To say that an algorithm is just math and that it doesn't live in a social context is almost to say that human beings are purely cells or molecules...We are more than just cells and algorithms are more than just math. - Safiya Noble


We have been increasingly relying on the technology of artificial intelligence to obtain information. However, we often ignore the fact that these technologies are imbued with the coder’s biases and prejudices, just as any other cultural object.

Safiya Noble’s book Algorithms of Oppression reveals that data bias is a real social problem that combines unconscious human stereotypes and private interests in promoting certain information. This ubiquitous nature of algorithms reinforces the hegemonic frameworks that discriminate against people of minority, and affect individuals’ judgments and decisions in favor of the unconscious bias.

This project, Unbiased Sorter, is an irony of how the increasingly dominant technologies, such as search engines, big data algorithms, etc, are filled with conscious and unconscious biases. As designers, we would like to raise people’s awareness to reflect the affordances and the consequences of our “irresponsible” ignorance of our reliance on these technologies as they take on more importance in our daily time



Features


  1. The robot is able to detect the color and location of the pencils just like us.
  2. The robot can pick up and place pencils at any location on a linear axis
  3. The robot will reorder the pens according to its completely "unbiased" code. The sorted color arrangement will mirror the ubiquitous nature of algorithms in today’s “intelligent" technologies


by Maxime Fouillat, Weiqi Xie, Sienna Xin Sun

The project was conducted as part of the Computational Design and Digital Fabrication seminar in the ITECH masters program, at the ICD, Universität Stuttgart.

Supplies

未标题-1.jpg

Everything you need for the sorter.


# Main Body.

There are two main parts in our robot:

  • Robot Car
  • Robot Grabber

*Recommend: 3d print Available Options: Lasercutter, CNC or Manual cut



# Electronics.

You can find everything you need online. Starter kits from amazon are highly recommended.

(Price range from €29.99-59.99 link: https://www.amazon.de/s?k=starter+kit&ref=nb_sb_noss_2)


Basics:

  • Breadboard (x1)
  • Jumper wires
  • 9V battery (x1 although if you prototype for a long time, you will need more)
  • Arduino Uno and USB wire (x1)
  • Resistors (x1)
  • Capacitors 100μF (x3) 
  • Pushbutton (x1)

Sensors

Actuators

  • SG90 Servo motor (x2)
  • 28BYJ-48 Stepper Motor (x1)
  • L293D Stepper Driver (x1)


# Fabrication Tools.

Available online or try to find them in a euro shop.

  • Soldering iron and wires (optional)
  • Multimeter (optional)
  • Glue gun and hot glues

How It Works

微信截图_20220614050749.png
MOVING.gif
folding.gif
grabbing.gif

# Kinematic Logic


Robot car: linear movement.

The machine moves with a stepper motor attached through the L293D driver to a rotating gear. This gear actuatesa shaft connected to two wheels on either side of the robot.

The two other wheels are coupled using a caterpillar track (excavator/tank-like) 3D printed in TPU, a flexible filament. Although the design of the wheels is meant for this use, they also work without it.


Robot arm: folding movement facilitated by a servo motor.

The rod that attaches to the grabber on one end and connects to a servo motor on the robot car on the other end is to fold the grabber up within 90 degrees, and everything in between.


Robot grabber: rotation movement facilitated by a servo motor.

The grabber serves two purposes. The grabber servo move linearily a vertical shaft. This shaft then actuates two gears simultaneously.

  • move the shaft up and down to lower the sensor close to its target, or get it out of the way.
  • open and close the claws to grab or release the pencils (or any other objects you might want to grab!).



Get Your 3D Printer Heated-up

3D-PRINTED-PARTS_EXPLODED-VIEW.png
electronic-parts_EXPLODED-VIEW.png

The Unbiased Sorter comes in two parts: the robot car that moves the pencils to certain locations and the grabber that detects the color of the pencil and grabs them. Additionally, the arm that links those two parts.

Below is the list of the 3D printed parts required. Almost all the parts are printed with PLA, except the caterpillar tracks, which require to be printed with TPU or any other flexible and bendable filament.

We provide a file for the main plateform that holds the other components. However, it is a very simple part that can be cut out of anything, like cardboard or acrylic. In the pictures you will see, it was manually cut in 3mm thick plywood.


# 3D Printed Parts


Robot Car

  • moving wheels (x4)
  • shaft to connect the wheels (x2)
  • caterpillar tracks (x2, 3D printed with TPU)
  • rotating gears (x2, attached to the stepper motor to drive the wheels)
  • stepper motor case (x1)

The Grabber

  • the folding arm
  • rotating gears (x3, two to rotate to open/close up the grabber, one to rotate to lift up and down the grabber)
  • color sensor case (x1)
  • lifting rod (x1, attached to the 3 rotating gears to facilitate the movement)
  • servo motor case (x1)
  • fixture (x2)

Assemble!!!!!!

ezgif.com-gif-maker (1).gif
assembly 2.gif
assembly 3.gif

The assembly consists of the 3 parts. Please see the gifs for the sequence of the assembly

  1. Robot Car (platform + gears + wheels + steppers)
  2. Robot Grabber (gears + mechanics parts + servo + sensor)
  3. Robot Arm ( 3d printed arm + servo)

Lets Connect the Board

Useless Machine_updated_bb.png
  1. the step motor's 5 pins are plugged into the stepper driver
  2. the stepper driver's 1N1 is attached to Arduino pin 5, 1N2 to pin 4, 1N3 to pin 3, and 1N4 to pin 2
  3. the servo motor, which drives the folding arm, is attached to pin 9 on Arduino, ground and 5V to the breadboard
  4. the servo motor, which drives the rotation of the grabber, is attached to pin 10 on Arduino, ground, and 5V to the breadboard
  5. The button's one leg is attached to pin 7 through a resistor, and the other leg to the ground socket on the breadboard
  6. the color sensor's SCL and SDA pins are attached to the analog pin 4 and pin 5 on Arduino respectively, and its 5V and GND pins are attached to the 5V and ground socket on the breadboard
  7. 2 capacitors are connected to the ground and power pins of the two servo motors, and the 3rd capacitor is attached to the other Vcc channel and the ground on the breadboard
  8. the 5V and the ground on the breadboard are connected to the corresponding pins on Arduino
  9. finally, a 9V battery is connected to the second Vcc channel on the breadboard, and its ground. Then, connect the channel to the Arduino's Vin input.

Code

Useless Machine_final presentation.png
Useless Machine_final presentation (1).png

The script is built in the UnbiasedSorter.ino file.

This file uses two libraries, Color.h and Pencils.h. The first one enables the convenient use of color objects, which can hold RGB and HSV data simultaneously, giving easy access to them. The second mimics the real-life pencils, storing their original positions, Color, and sorted positions.

Behaviour.h is just a documentation file, that shows every function in the main script. This is for reference only and ease of understanding, as it does not come with a joined .cpp file that would define those functions. Instead, they are defined in UnbiasedSorter.ino.

The Arduino Helpers library by Pieter P. is required. It can be found and downloaded at its repository. Unfortunately, it cannot be installed through the IDE library manager. Instead, it should be installed by going to the arduino IDE and locating the source zip file. For more information on how to install libraries manually, see the arduino website page tackling this topic.

Test the Unbias

Unbiased Pencil Sorter