Spin Robot
The spin robot is a versatile mobile platform. The wheels can be steered independently from eachother, in the same configuration as the ESA Exomars rover. I wanted to be able to build the platform with cheap parts that still meet the requirements of robustness and accuracy. It also had to be large enough to carry a computer and cameras. I set myself that goal and by using the right construction principles I believe I have succeeded in that.
Largely the platform can be 3D-printed and it is available to hobbyists and researchers. The stl-files of the parts that need to be printed, a well as the 3mf-files (for a Prusa 3d-printer) are available on Cults3D. The maker can source the purchase parts himself. The cost price of the rover is typically below 500 euros.
Wheel bearings and suspension of the servos
Each wheel is supported by a metal ball bearing of 42 mm. In this design, the ball bearing is preloaded with wedge parts, so that the wheel is rigidly locked. As a result, it cannot move sideways, but can absorb large forces without deforming.
This is in contrast to designs where the wheel is mounted directly on the shaft of the servo so that the wheel is under-supported and starts to skew.
The rotation of the wheel is done by a servo that is suspended with a rod coupling. This allows the servo to transmit the drive torque to the wheel, without having to absorb forces in other directions. This will make the servos last longer.
In total 12 power servos are used in this design.
Large wheels and large torque
The wheels have a diameter of 140mm so that they can overcome large obstacles. The servos have a specified torque of 35 kgcm and with this large wheel diameter can deliver enough power to get over obstacles.
Carbon fiber tubes
The six wheels always keep in contact with the ground due to the rod construction, whereby 2 wheels can rotate in pairs around a common point. This concept is also applied to the ESA Exomars rover. To keep the construction light and rigid, the rods are made from carbon fiber tubes.
Glueing and cutting
The Rover Body is a ABB junction box. This is a waterproof box (IP65) which is a sturdy basis to mount the rotating rods to. The rods are screwed to parts that are glued to the box. Also some holes need to be cut in the Rover Body to prepare it for further use. The rods themselves are stiff carbon fiber tubes which also required bonding to some printed parts.
After the rods are glued and some parts are glued to the body the wheels can be assembled. No further glueing or cutting is required anymore.
Printing and settings
The parts have been printed on a Prusa i3 ML3S+, but any accurate printer with a minimum bedsize of 150mm x 150mmm should suffice. The 3mf files contain the print settngs and are convenient if you use the PrusaSlicer. You can also use the stl files and use your own print settings.
Everything is printed with a 0.4 mm standard nozzle. The layer heght is 0.2 mm for all parts, except for the Tapered Bearing Shell which require a smaller layer height of 0.07 mm. These bearing shells are used to fix the bearing using a wedge that needs to be well-defined.
I use PLA for printing all parts. The total mass of all the parts to be printed is about 2.1 kg. and 3 spools (in different colors) are sufficient. I made some 3mf files and the total print time is 196 hours.
If you do use multple colors it is advised to reserve one spool for the wheels (which is about 820 gram to print all 6 wheels).
License
The work described in this instructable consists of three parts.
- The instructions and figures on instructables.
- The software for the Raspberry Pi
- The stl and 3mf-files for printing the parts
Instructions: All rights reserved, you can download them for instruction purpose but you cannot distribute them yourself (videos are hosted on Youtube and all rights reserved there too).
Software Raspberry Pi: Open source (Apache 2 license) software for ROS2 available on Bitbucket
stl and 3mf-files for 3Dprinting: this is available on Cults3d.com. Those creations are exclusively reserved for private and personal use. It means you cannot sell the model or any derivative of the model for economic or financial gain. For example, you cannot sell the digital model, a derivative or adaptation of that model, nor can you sell prints of the model or make trade of it, unless I, the designer, has given you formally my approval.
Commercial use
If the above licensing options do not fit your needs please contact me to work out another deal.
Supplies
Buy-parts
The link to the 3D-printable parts on Cults3D is here
Link to a spreadsheet with buy-items including sources where I purchased the items is here
Tooling
The required tooling is:
- hex key for M3, M4 and M5 bolts
- wrench for M3, M4 and M5 bolts
- Dremel with 26150952JA conical grinding stone
- (Wood) drill 3,4,5 and 10 mm
- Soldering iron for mounting brass inserts
Consumables
These consumables are used:
- Araldite Standard epoxy-glue
- Super-glue
- Waterproof sandpaper grit xxx(todo)
- Black tieraps 100 mm
Make Some Holes in the Rover Body
The Rover Body is a large ABS electronics box from ABB. The bottom is used to glue the printed parts Glue Bracket Rear, Glue Bracket Front Right and Glue Bracket Front Left.
Before gluing them watch the video on where they must be located on the body.
Then drill the 3 holes. I found it best to be done with a Dremel with a conical grinding stone. This will grind and also melt the ABS, so beware of the fumes from the ABS.
Make sure the holes are large enough so the part Body Wire Plug can be inserted into the glue brackets without a problem.
Glueing the Brackets
Glue Bracket Rear, Glue Bracket Front Right and Glue Bracket Front Left need to be glued to the Rover Body with 2-component epoxy glue.
This can be any epoxy glue suitable for plastics but be aware that you do not use a glue that has a short working time. You will need some time to glue the whole surface of the parts and position them so an epoxy with a working time of a few minutes is not suitable. I recommend using Araldite Standard and leave the parts to cure overnight.
Since the bottom of the Rover Body is not flat you will have some cavities between the brackets and the rover body. Try to fill the cavities up with the epoxy a bit.
Make sure the vertical sides of the brackets are glued and pressed firmly against the Rover Body.
Drill 5mm Holes
After curing the remaining 5 mm holes in the brackets can be drilled into the the Rover Body. This enables M5 bolts to be inserted.
Mount the LEDS
The LEDS can be positioned with the given screw in the LED Cover Left and LED Cover Right as shown in the below figure. It may be that the hole in the LED cover is a bit tight. Use the 10 mm drill to drill the hole to be able to mount the LED.
Grind 2 Holes in the Front of the Rover Body
Two parts Glue Bracket LED need to be glued to the Rover Body to be able to mount the LED Cover Left and LED Cover Right to them. Position them on the front side of the rover body (you can use the parts xx and xx as aid for positioning.
Be aware of the orientation of the Glue Bracket LED. The side large radius must be in the upper corner as shown in the figure. To achieve this for the other Glue Bracket LED, effectively that part must be mirrored.
Glue Some More
The two Glue Bracket LED parts and the three Body Wire Plug and three Wire Plug Fixator parts can be glued with the epoxy. The Glue Bracket LED parts can move during curing so glue them after the plugs.
In step 1 you already made sure the Body Wire Plugs fit in the Brackets, so glue them lightly and insert them in the Brackets completely so no space is between them (see figure above). Then turn around the Rover Body and glue the Wire Plug Fixators.to the Body Wire Plug that protrudes through the Rover Body.
Then position the Glue Bracket LEDs and glue them and let it cure.
Drill 4mm Holes for the LED
After curing the remaining 4 mm holes in the Glue Bracket LED can be drilled into the the Rover Body. This enables M4 bolts to be inserted.
Grind a Hole for the Power Switch Cover
Glue the Power Switch Cover
Mount the Power Switch and LEDs
Preparation of Assembly Rear
Mount the Brass insert M3 in the Rotation Point Rear in the location as shown in the video above. This must be done with a soldering iron at 300-340 degrees, they are melted in place.
The Closing Hexgaon must be able to slide over the end of the Rotation Point Rear so the insert must be flush or, slightly sunk. Cut away any plastic on the surface if this protrudes (this in general can be avoided by sinking the insert upto 1 mm).
Mount two Nylon bearings from each side (as seen in the video) in one Lever Rotation Bracket, this should be a snug fit and take a bit of force to achieve. Now insert the Rotation Point Rear. It should be able to rotate fully w.r.t. the Lever Rotation Bracket without too much effort.
Also mount two Nylon Bearings in the Lever Frame Rear Left and Lever Frame Rear Right. It may be required to remove some print artifacts by slightly sanding the bearing area with waterproof sandpaper.
Glue Carbon Rods Rear
Two carbon rods are used in the rear, the nominal length is 204mm.They must be glued between the Lever Frame Rear Left and Lever Frame Rear Right and the Rotation Point Rear.
Before the actual gluing of the carbon rods the following two things are important:
- The flat undersides of the Lever Frames must be in the same plane during curing.
- The bottom plane of the Lever Rotation Bracket must remain parallel to the plane of the Lever Frames during curing at a distance of 43.5 mm.
- The part of the carbon rod which is not inside another part must be 168.4 mm as can be seen on the drawing above.
In order to achieve this I used a wooden beam 43.5 mm high an mount a flat wooden board to it as shown in the figure below. The Lever Rotation Bracket can be fixed to the beam with some screws. The distance between the parts (168.4 mm) can be measured with a piece of paper with this size. Adjust the parts so the distance of both rods is correct, and the Lever Frame Rear Left and Lever Frame Rear Right are positioned flat on the wooden board
Assembling and Gluing Side
Two identical rod-assemblies must be made for the sides. Per assembly two carbon rods are used The nominal length is 120 mm.They must be glued between the Lever Frame Side and Lever Frame Side Mirror and the Rotation Point Side.
The preparation of this assembly is similar (although other parts) to step 11, the glueing (use the same tooling) is similar as step 12.
Here the following rules apply:
- The bottom plane of the Lever Rotation Bracket must remain parallel to the plane of the Lever Frames during curing at a distance of 43.5 mm.
- The part of the carbon rod which is not inside another part must be 84 mm as can be seen on the drawing above.
Once the glue is cured you can mount the 2 side rods and the rear rod to the Rover Body with M5 bolts.
Preparing the Wheel to Servo Connector and Vertical Wheel Rotation Axis
The Wheel To Servo Connector and the Vertical Wheel Rotation Axis are used to mount the horn of the servo with M2 bolts.To make assembly more easy the M2 nuts should be glued with super-glue to these parts. Also the horn of all 12 servos has a row of holes to aid mounting. The outer hole is used, this hole must be drilled with a 2 mm drill so the bolt can access.
Make sure to remove all burs (from the printing process) from the parts, a 10 mm drill may be usefull.
Assemble Servos
Mount the 360 servos to the ServoMount Wheel and the 210 servos to the ServoMount WireConnector Right and Left. This must be done with three M3x12 bolts each, Use the rubber bushing that is provided with the servo. Also screw the horns (with drilled 2 mm hole) to each servo.
For the 210 servos also add the Ball Joints using a 32 mm long M4-wire rod (all can be sawn from a 1 meter wire rod). The distance between the ball joints must be about 50 mm.
Assemble the Wheel
The six wheels and its assembly is identical. Use the 360 degree servo to drive the wheel.Mount it as the video shows.
Notice that the ball-bearing should have a snug fit. Only lightly sand the inside of the Wheel Bearing Flange. Put the part on a flat surface and use light force to insert the bearing.
The Tapered Bearing Shell is used to fix the ball-bearing to the wheel. It is tapered and should be pushed in with force with your fingers to fix the bearing shells. The shells are used to properly pretention the bearing. Once pressed in the Wheel should then rotate very lightly w.r.t the Wheel Bearing Flange. Be aware that it will take some effort to remove the Tapered Bearing Shell from the bearing.
Now you can mount the Wheel to Servo Connector (including the M2 nuts) to the Tapered Bearing Shell. The Connector is secured to the wheel with the M5 bolt (wheel-side) and nut (connector-side).
Add the horn of the servo motor, assembled in step 15, with the M2 bolts and washers. The servolead needs to be routed through the Upper Wheel Flange, and the Vertical Wheel Rotation Axis.This is not shown in the video. The rooting is shown in the photo-collage however (only not the part in the Vertical Wheel Rotation Axis). It can be seen that the Closing Plate is used to keep the servolead in place.
Do this and finally mount the Upper Wheel Flange and the Vertical Wheel Rotation Axis.
Do this assembly for all 6 wheels.
Mount Wheel Assemblies to Rods
Mount the wheel assemblies as demonstrated in the animation.
Also add the servo assemblies (the 210 servos).
The routing of the servoleads is dependent on the location on the robot. The output to the left or right of the Vertical Wheel Rotation Axis depends on the location of the mating servolead.This can be observed in the video. Also can be seen that the servolead does not restrict rotation of the 210 servo. It can rotate freely +/- 90 degrees as shown in the video.
Finish Servo Wiring
Add the extension servo-leads of 500 mm in the ServoMount WireConnector Right and Left and connect the servoleads from the wheelservos to it (the 360 servos). Route them via the rods, through the center of the Rotation Axis, via the Plugs into the Rover Body.
Connect the servoleas of the 210 servos to the 150 mm servo-extensions and route them identically, into the Rover Body.
Use black tieraps to fix them to the rods.
Connect Electronics
Connect the electronics as shown in the diagram. The switch is the switch that you already mounted in the Rover Body.
The order in which to mount the servos to the PCA9685 is mentioned in the Pi Setup.
Pi Setup
an image for the pi will be provided with ROS2 and the drivers installed (and the source code will be provided open source). Having an image will make installation easy. Just burn the image on an SD-card an use it in the Raspberry Pi.
The source and image will be provided on Bitbucket (to be done).