Objectives: The mini sculpture we build aims for the preparation of the final kinetic sculpture. We learned project management, team communication, and applied skills we learned in the past weeks such as the physics analysis, WM2D simulation, robotC programming, automated control... etc..
Requirements:
At least one motion sensor (ball position, velocity, counting or color).
At least one (servo)motor to dynamically change a part/component in the Mini Sculpture. The (servo)motor should be controlled automatically by the measurements of the motion sensor.
At least one Human Interface component (button/dial) to influence automatic operation.
Can only use 1 Lego NXT Mindstorm for motion control via RobotC.
Analysis of motion control behavior with a WM2D simulation.
Documentation of design, analysis, simulation and proof of operation in a team webpage.
Some of our ideas:
Ball Dispenser: balls are dispensed one by one into a track
Extending Ramp: a ramp extends by some amount ensuring the ball lands in a fixed basket
Tilting/Rotating Basket: a basket tilts to transfer a ball from one track to another
Ball Race: two balls race each other on separate tracks
Shooting machine: a motor gives torque to a box to shoot a ball to a higher place
Flying elevator: a ball lands in a basket, which is lifted by a string to another place
Moving Trampoline: a ball lands on a moving trampoline
Tilting ramp: motor automatically tilts the ramp with an angle based on the velocity of ball ensuring it lands in a stationary basket
Mechanical Arm: A basket catches a ball in a basket and rotates 180 degrees to transfer the ball elsewhere
Ball dispenser 1st prototype design - A ball falls down a tube and a mechanism pushes the ball outward
Extending Ramp design - Extends or retracts a ramp depending on the marble's velocity in order to get the marble to land in the same place
Tilting Basket design - Once a light sensor detects a ball, a motor is activated to turn a basket with the marble inside and then transfer the marble to a new track.
The Pugh chart was used to help decide on the design ideas that will be prototyped to include in our final sculpture
The Tilting Basket and Extending Ramp were chosen as our final design
Task 1: Code for Opening System
Task 2: Code for Tilting basket
Ball dispenser/opening system:
Button is pressed and an opening sound plays
Motor rotates to open gate and ball is released
Motor returns to original position
Risks:
A human does not press the button to open the gate for the balls.
Gate does not auto-home
Improvement:
Create it to open after a few seconds once the code starts running.
Manually home it if necessary
Tilting basket:
A ball rolls down a track past a light sensor into a basket
When the ball is detected, motor turns the basket (w/ ball in the basket)
Basket drops the ball to the next track
Risks:
Motor does not work due to lag in light sensor, resulting in ball getting stuck.
The light sensor can't detect black marbles' presence
Improvement: Create the basket to tilt periodically even if no ball is detected, or mount the light sensor and light source on opposite sides of the track so that any opaque object will block the path of light.
Extended ramp:
Speed sensor measures the ball speed
Motor adjusts track length accordingly
Ball falls into the basket
Risks:
Ramp does not extend in time or does not extend enough
Speed sensor is finicky to work with
Complicated to execute in real life
Improvement:
Use a crank as the extending mechanism because can move very fast. Use PID control to move it accurately.
Code the speed sensor to not automatically reset.
Do something easy first so we have something to show, then work on this
Image of Final Mini Sculpture
Video of working Mini Sculpture