09/20/2016 at 18:49 •
High on the list of challenges was designing a "thing" that would land upright and be capable of being grabbed by a claw. Once I started, several things were created.
Two particular creatures took on a Halloween mode.
Full details can be found here, and the print files are included on this site.
The less attractive, but more workable (for the moment--who knows what I'll end up with) "thing" starts with a few 3d printed pieces and four US nickels.
Place the nickels in the bottom piece (printed at 85% scale and 100% fill).
Add the plug (printed at 100% fill).
Take the long rod (printed at 10% fill on a raft) and place it inside the rings (printed at 10% fill). Melt the rod to the rings using a soldering iron (or glue with superglue).
Melt (or glue) the top to the bottom.
This "thing" will always land rod side up.
09/21/2016 at 17:18 •
Print one body and two wheels. Attach the motor brackets and motors to the body. Use the vacuum belts on the wheels as tires.
09/22/2016 at 14:28 •
When the robot finds the "thing," it has to grab it and lift it off the ground to carry back to the catapult. Here's how this is built.
Cut off the ends of a servo horn and attach the horn to a continuous rotation servo motor. This is a normal servo motor with the electronics and end stop removed--just a dc gear motor.
Attach the 3d printed servo horn.
Push this into the leadscrew and secure with a 2-56 screw and nut.
Place the servo bracket against this assembly, making sure that the motor shaft can turn freely. Melt the servo bracket to the assembly using a soldering iron (or glue).
Attach the pincer to the extend plate.
Attach a servo motor to the pincer.
Attach the pincer assembly to the actuator assembly.
Glue the servo lid to the servo motor bracket.
Melt (or glue) the ping holder to the bottom of the servo bracket--adjacent to the servo motor.
Add the ping ultrasonic detector to the bracket.
The lifter assembly is now ready for attachment to the body.
09/22/2016 at 17:38 •
Take bodybracketd and attach it to the body (drill appropriate holes in the body), then attach the lifter.
09/22/2016 at 17:42 •
Print the caster ball, caster base, camera bracket and camera tilt bracket. Drill holes and fasten to the robot base.
09/23/2016 at 17:36 •
In this step, I'm adding power and vision capability for the robot. Let's examine the operation of the vision system. Pixy is trained to a color--push the white button on top until the Pixy LED turns red then release. Place the target color (my red wobbler "thing") in front of the lens until the LED turns more or less the color of the target "thing". Press the white button and release--the LED should flash to indicate acceptance. The Pixy camera detects color blobs (providing location information about them) and works best in a controlled light environment. In other words, if the light source changes, Pixy will have trouble seeing the selected color--Pixy is trained to a color/light source combination.
In my setup, the red led (attached to the Arduino) blinks when the object is to the right. The white led blinks when it is to the left. When straight ahead (or nothing visible), both led's are off.
Let's look at my example--I'm moving the robot by hand because the motor controls are not enabled yet.
The vision sketch for the Arduino is available on this site.
Here's the schematic:
Here's the DC-DC converter attached to the robot base. This will supply 5 volt power for the servo motor (I may add a "tail wagging" servo later).
I printed the battery holder bracket and Arduino holder platform (files available on this site).
Connect the input and output terminals of the DC converter before attaching the battery holder platform.
Remove the ping transducer and attach wire wrap wires to the terminals, then replace the Ping transducer (we'll need this later on).
Attach the "on/off" switch into the positive power out from the battery holder. The battery holder can be easily placed into and out of the battery platform for battery changes.
Now, I can connect things on a breadboard and test as the project develops.
09/24/2016 at 16:47 •
Now the Ping detector finds the thing, the claw grabs it, lifts it, then drops it and lowers. I still do not have the wheel motors hooked up yet.
Here's the current schematic
I had to remove the DC to DC converter because it created electrical noise that prevented the Arduino from operating properly. I did not have such problems with Mato, but Mato's 9000 farads of capacitance probably had a damping effect on electrical noise. The ping controller sketch for the Arduino is available on this site.
I secured the ping wires to the lifter using a tie wrap--to prevent them from getting into the wheels.
The rest of the connections are made primarily with jumper wires.
09/25/2016 at 18:22 •
Now the robot will seek the target "thing" and lift it off the ground.
This is accomplished by using the vision controller, ping controller and motor controller.
Wire as shown in the schematic and install the Arduino sketches (available on this site).
09/26/2016 at 19:41 •
Now it is possible to throw an object using the catapult--details here.
The current state of the project allows me to throw the "thing" using the catapult (by pushing a button remotely) and have the robot (standing by in ready mode) chase and retrieve the thing. The robot then backs up and drops the object.
Obstacle avoidance and getting back to the catapult flipper have yet to be implemented.
10/04/2016 at 19:02 •
I built a box (42 inches by 54 inches--3.5 inches high) to confine the Fetch system. Software is now in place so that the robot can find the object, but also recover if it bumps against a wall or other obstacle.
Next, I'll have to add some line following hardware and software so that the robot can follow a line back to the catapult.