How to build Holonomic Robot
We have used three wheeled Holonomic robots to implement our Trilateration formation keeping method. Here we explain how we have built one from scratch. The robots have 3 Degrees of Freedom (D.O.F), they can move translations X and Y and rotation Z (i.e Yaw).
1) 1/16 in. Aluminum Frames (12 in. length x 24 in. width) for 3 frames
2) Rapberry Pi Zero
- OTG usb hub (with atleast 2 ports for wifi dongle, L-CAS Sensor)
- 3600 mAh portable power bank
- 8GB MicroSD
- Wifi Dongle
4) Arduino Pro Mini (for PWMs)
5) Pololu 200:1 Plastic Gearmotor (https://www.pololu.com/product/1120)
6) Solobotic Gear Mount (https://www.pololu.com/product/601/)
7) VEX IQ 63mm Omni Wheels (http://www.robotshop.com/en/vex-iq-63mm-omni-wheels-2pk.html)
8) L298N Motor Controller (http://www.robotshop.com/en/vex-iq-63mm-omni-wheels-2pk.html)
9) 2000 mAh 6V NiMH Battery (with charger) (http://www.amazon.com/Tenergy-2000mAh-Battery-Connector-Aircrafts/dp/B001BCOWLY/ref=sr_1_1?ie=UTF8&qid=1453317372&sr=8-1&keywords=6v+2000mah+nimh+battery)
9) GY-271 Magnetometer
10) L-CAS Ranging Sensor
11) Standouts (for mounting components)
(remove links, add ref. at the bottom)
Drilling and Milling of Frames
The CAM design for the drilling and milling of frames was done with AutoDesk Inventor. Then the design was exported to AutoDesk Fusion 360 (.stp file) because Inventor was not able produce the G-code for a linux CNC machine that was available to us at the GMU workshop.
The origin position in the design is at the bottom left corner of the frame shown above. This should be specified in the linux CNC software before running the G-Code.
- design(60,60,60)_3frames.ipt - this file (inventor design file) could be used to produce the .stp file needed to export data to Fusion 360 where G-code could be generated. Changes to design are recommended to be performed in Inventor as we have found it was harder to do this directly on Fusion 360.
- design(60,60,60)_3frames.stp (not really needed) - to be opened in Fusion 360.
- .ngc Files - these files need to be imported on the Linux CNC software controlling the CNC machine.
- 4001.ngc is for holes on top of the frame for components and two holes on the sides for for the motors. Drill bit needed: 2.63 mm. diameter - 4002.ngc is for the tension support hole for motors. Drill bit needed: 1/4 in. flat drill bit - 4003.ngc is for the motor axles. Drill bit needed: 1/4 in. flat drill bit - 4004.ngc is for frame outlines. Drill bit needed: 1/4 in. flat drill bit - 4005.ngc is for cutting the three sharp corners for each robot. Drill bit needed: 1/4 in. flat drill bit
As you can see two different drill bits were needed. One was needed to drill holes for the components (2.63 mm. drill bit) and the other (1/4 in. flat drill bit) was needed to cut the edges of the frames, the large 18mm. hole (for passing wire through) and holes for the motors. When the .ngc files are imported it could be useful to run a simulation on the software to double check any errors, although the tool path simulation could also be viewed on Fusion 360.
It should be noted the Linux CNC machine in the workshop controls only the X,Y and Z position of the drill bit, not the speed of the spindle. This is controlled independently from a different controller. When switching between .ngc files the origin for the CNC machine does not have to be re-homed as it the same for all the files and this origin is saved unless erased, one just make sure that the origin Z position is still properly right on top of the sheet.