Bot The Builder Documentation
Our robot construction set consisted of a crane, a conveyor belt, and a dump truck. It had a sequence of picking up a stick with the crane, placing it on the conveyor belt, and using the conveyor belt to put the stick in the dump truck. The crane uses a claw with a medium motor and a set of bevel gears and levers to actuate the claw, and hangs from the end of the arm using gravity. The arm is lifted up and down by a large motor and two gear sets. The arm/claw assembly is mounted on a turntable that is turned with a large motor and a worm gear. We used a system of beams to form a load distributing base. We built a conveyor belt with three pulleys, a simple frame, and a motor with a gearset at one end to spin it. We put cardboard on the sides of the conveyor belt so the sticks wouldn’t fall off. To build the dump truck, we mounted wheels on a brick and then a motor on the side with a cardboard dump bed and a button to activate it. In order to control all the movements of the crane as well as the conveyor belt, we used two bricks. One brick controlled the conveyor belt and the base of the crane, and the other brick controlled the arm and claw of the crane. To control the conveyor belt, we had a button which would turn on the motor when pressed, thus moving the belt. To control the crane claw, we used a button with a simple code to open and close the claw with each push. To control the base and the arm of the crane, we came up with a joystick, using a large motor mounted on a medium motor. This allowed the user to push the large motor back and forth on its axis to raise and lower the arm, and to spin the base by twisting the large motor on the medium motor. We put some rubber pieces to limit the movement of the twisting motion and edited our code accordingly.
We had 3 EV3 Bricks so we split the code onto all three of the bricks.
One brick controls the dump trunk. We used a simple code to wait until a button is pressed then move the motor in one direction, waiting for a half of second, and then moving to its original position. The only functionality of the dump truck is to dump out sticks when the button is pressed.
Because our crane and controller involved five motors we had to split up the motors onto two bricks. We used one brick to control the up and down motion of the crane arm and the opening and closing of the claw. We used the other brick to control the motor that controlled the spinning of the base and the motor that moves the conveyor belt.
The code for the upper arm of the crane and the spinning of the crane base involved a read rotation function inside of a while loop. It read the rotation of the two motors in the joystick, as the kids moved it, and spinned the crane base and moved the crane arm up and down a scaled value based on the rotations of the joystick.
The code for the conveyor belt was simple. It consists of a case structure inside a while loop that would constantly check if the button that activated the conveyor belt was pressed. If it was, it would move a motor until the kid released the button. The code for the claw movements involved a series of two “wait for touch” blocks. The first would open up the claw and the second would close the claw. We put this series in a while loop so you could continuously press the button to open and close the claw.
Improvements that we made:
We made several major improvements to the robot for the final version. First we motorized the crane base so that the kids could control the rotation of the crane base with a motor instead of having to manually spin it with their hands. Then, we added walls to the side of the conveyor belt to ensure that sticks did not fall off the sides like they did in our prototype showcase. During the prototype showcase we noticed that the sticks often fell off the belt so the walls were a necessary improvement. Lastly, we implemented a joystick control of the crane to replace our keyboard of buttons which kids found confusing. We found this joystick to be a great improvement and made the controls of the crane much more intuitive and easier for the kids to use. We recieved much feedback during the protoype testing that our crane was a lot of fun but that it was difficult and confusing to operate with our old button layout. Using Professor Danahy's reccomendations and our feedback from the kids we created this joystick controller. It worked very well during the final showcase and was clearly easier for the kids to use.