We created a robot for a college robotics competition. The competition was to remotely control a robot that could pick up a golf ball, maneuver a course that included bridges tight turns and a 30 degree slope track. At the end of the obstacle course there is two platforms which were the golf ball drop off zones. One at 4 inches the other at 10 inches (more points awarded to the higher drop off). After the drop off there was a 'dead sprint' counted for time which was a point multiplier. Also, the robots constraints entailed having to encompass less than a 1 foot cubed volume and also be remotely controlled at least 50 miles away. We chose to use a Raspberry Pi with Pololu motors. We needed a car that would not be too heavy, have a low center of mass, and have a low speed high torque all wheel drive setting for the obstacle course but also have an alternative high speed setting for the timed race at the end. So... we 3D printed a dual drive train robot car.
I modeled all CAD files via Solidworks 2014 x64 edition (SLDPRT files). All parts were printed on a Solidoodle 4th gen. with mostly PLA plastic filament and some ABS. Used Repetier-Host Slicing software. I used VEX equipment for the chain and sprocket system and main arm elevator chain system.
Please contact if you have any questions/want more CAD models that I haven't already provided or have more questions on the electrical components and coding. However, this is mostly a tutorial to give you a solid and unique mechanical design to build upon and create your own awesome 3D printed robot.
Step 1: Design
Our design included:
- Chain and sprocket 4 wheel drive high torque motor assembly (outside wheels) mounted on arms connected to hinges that could lift outside wheels on a pivot while still connected to sprocket and chain to motors
- Inside high speed 2 wheel drive system
- High power servo dual drive trigger system
- Main arm attached to servo that could fold into chasis
- Claw system powered by micro servo on platform attached to a chain elevator system so we could drop the golf ball at both heights if wanted
- Spiked wheels made for carpet terrain (good for any terrain really minus smooth surfaces)
- Completely unnecessary chasis protective case for Raspberry Pi with Batmobile influences
Step 2: Chasis (Raspberry Pi Casing) and Wheels
This chasis was mostly for fun but it fits a Raspberry Pi. >>Trickiest print. Had to print in 3 parts no supports (crazy I know) with Skeinforge slicing software and ABS plastic. Contact if you want in parts.
I had to create a more solid frame I called 'Bracers' to hold the weight of all 4 motors and the 4 sets of wheels underneath and around the casing. The bracers also held the high speed motors in the back and the free spinning axle in the front.
The obstacle course was made of carpet so I made a remix of an open source wheel available here http://www.thingiverse.com/thing:47689. (8 wheels total)
Step 3: Claw & Arm System
I created the main arm model to fit perfectly as a servo arm adapter. That main should be attached to the front part of the chasis. The arm is hollow to allow the VEX chain to run along powered by a micro servo WITHOUT rotational boundaries (link provided for chain) http://www.vexrobotics.com/276-2182.html.
The platform snaps into the arm (crevices made along side of arm) and you attach platform to a chain link on the outside (I used a nail). One micro servo fits inside the platform and I bent wire and attached to tips of servo arm (double sided). Basically as servo arm turns 90 degrees, it pushes out both claw sides equally then back when servo turns 90 degrees back. Contact if you need more specifics.
Step 4: Chain & Sprocket System
This part was fairly difficult to assemble and initially hard to understand.
First, the hinge pieces are connected to the bracer with a bolt or screw. High torque motors are attached and hang underneath each of those. I had to jerry-rig vex sprocket to attach to the motor shaft. Now, the 'Arm together' file are the exterior wheel lifting arms. They must be attached to the motors directly via screws. At the wheels, each exterior wheel has a small bolt extruding from them outwards. On this bolt another smaller VEX sprocket is ATTACHED to the bolt while still allowing the hole in the tip of arms to spin freely with the sprocket inside. Finally, if you wind the VEX chain around both sprockets, the motor, with the sprocket attached, should spin the chain spinning the other sprocket attached to the wheel bolt. That was painful to explain but let me know if you need help.
In the bracer CAD file you can see sketches of where the servo should be located (upside down). This is your "alternative drive train trigger system." Wire should be attached to each end of the servo arm and the ends of the hinge pieces. This works by the servo spinning, pulling the wire and twisting up each hinge platform (with motors underneath them) which is also attached to the exterior arms and the whole chain and sprocket system. So in effect, one powerful servo rotates each arm and wheel equally off the ground and up making the interior wheels touchdown (they were slightly elevated before).
Link to VEX chain and sprocket http://www.vexrobotics.com/276-2166.html
Step 5: Electrical Components
Our system used a Raspberry Pi to control a 16 channel servo controller which were connected to our servos and H-bridges for the motors.
Questions on coding ask.
Motor (350 RPM fast) (100 RPM high torque) https://www.pololu.com/product/1103
Step 6: Thanks!
Good luck on making your robot and let me know if you have any questions