the objective was to build a low cost robot drive system by using mostly 3d printed parts and standard stepper motors.
several motion systems for the positioning of a robot exist. among them are systems that use ackermann steering, differential drive, synchro drive, mecanum wheels, omni wheels and others. the synchro drive is what i chose for this design.
the two main ideas behind the synchro drive are: 1) equal rotational velocity on all wheels (motor a) and 2) equal orientation (motor b). this enables the robot to move in all directions. a rotation of the robot around its vertical axis is not possible. unwanted rotation can still occur though due to wheel slippage and unequal wheel diameters.
the following images show the current design with certain components deactivated for better visibility of the mechanism.
attached to the upper motor (motor a) is a pinion gear (blue). the pinion drives three intermediate wheels (magenta) which in turn drive three large main gears (orange). attached to the main gears are three bevel gears (green) that mesh with three combination gears (yellow). the combination gears drive the rollers (light blue) and they finally rotate the ball shaped wheels.
attached to the lower motor (motor b) is again a pinion gear (blue). the pinion gear drives the cages (white) around the wheels via three intermediate wheels (green).
the mechanism allows to orient the wheels freely. there are no cables that limit the motion in any way.
the ball wheels are actually not necessary. they could be replaced by standard wheels. but that takes part of the fun out of the design.
- 2x nema 17 stepper motors (17hs4401)
- 2x tb6600 stepper motor drivers
- 1x arduino uno
- 1x rc system (currently operated via remote control)
- 5x aluminum flanges
- 3x hi-bounce stick balls (60 mm)
- various bolts and nuts
weaknesses of the design
- a change in orientation of the wheels leads to drive motion of the wheels in the driving direction. this has to be compensated for in the control software.
- the current nema 17 stepper motors limit the maximum velocity of the robot a bit too much.
- the accumulation of small errors lead to an overall error in the rotation of the robot about the vertical axis this cannot be corrected with the drive system. therefore the orientation has to be monitored and errors have to be compensated for.
rc controlled vehicle
the drive mechanism can be piloted via a radio transmitter. the orientation and the drive velocities are proportional to the input from the radio. the following video shows the robot in action as it is operated from an rc controller.
automated drawing machine
automatic missions can programmed. a list of x and y coordinates along the robot’s path is provided on an sd card in csv format. the robot then moves from point to point in sequential order until all points have been visited. the following video shows the robot following points to draw the swiss cross.
some light painting examples are shown below.