Movement
omniwheels
The drive system is comprised of four motor-omniwheel assembly mounted at 45 degrees from the global coordinate axis. Omniwheels are used as the main driving mechanism to allow two-dimensional movement of the robot. A traditional two-wheel drive only permits one-dimensional motion of forward and backwards. However, the advantage of using omniwheels is that the robot can move freely in a two-dimensional space without turning its head. This design ensures the maximum efficiency in moving around the playing field while trying to accomplish the task of shooting balls into the opponent’s field.
The main advantage of using omniwheels is its two degrees of freedom of motion on a plane. By eliminating the need to turn and reorient itself on the field, this design minimizes time spent on movement and maximizes the time spent completing other objectives, such as shooting the balls across the field. By controlling the direction of rotation and the on-off state of the motors, the robot can easily achieve any desired motion on a two-dimensional plane. Two examples of how to control this system are shown below:
Wheel assembly
The motor-omniwheel assembly starts with the motor shaft being connected to a 2” square shaft. This connection in established by a spider shaft coupler that links a ¼” motor shaft to the square shaft that fits into the omniwheels. A bearing is fit into the square shaft before the wheel to minimize the radial loading onto the motor shaft. The omniwheel is fixed onto the square shaft using two shaft collars on each sides of the wheel to prevent axial movement. This whole assembly is attached onto the chassis with two vertical mounts each for the motor and the bearing.
Motors & Drivers
We used two L293 boards to drive the DC brushed motors. We decided to share the enable pins on the driver, as all four motors will spin or stop at the same time with our omniwheel layout. However, each had its own direction pin. This way we can save pins on the Arduino UNO.