The ÜberBots’ 2010 Drive Modes In order to successfully conquer Breakaways’ diverse and challenging goals the ÜberBotsdesigned various drive permutations in order to effectively control the Robot in the numerousfield positions and game situations. 90 Swerve Car Traverse
Swerve Drive: Swerve was implemented in order to allow the robot to turn the maximumdegree possible in the minimal amount of time, thus allowing our robot to maneuver very fastand switch directions in the minimal amount of time. In order to pursue this level of versatility all four wheels on the robot are individually driven. In addition to the independently driven wheels, both the back and front wheels are paired with a chain. The chain allows the orientation of the wheels to rotate. During a turn, both pairs of wheels will be turned by a window motor mounted above the chain. The rotation causes the wheels to form a theoretical arc of a circle to provide the maximum rate of steering. Furthermore, the wheels closest to the center of this circle decrease in speed. This is beneficial because the midpoint of the virtual circle is defined by the intersection of two perpendicular lines extruding from the wheels. As a result the wheels closest have a smaller radius, which causes a decrease in the distance to travel in the same amount of time as the adjacent set of wheels. Just like the Earth rotates slower at the core, it is crucial for the velocity of wheels closest to the midpoint of this theoretical circle to be reduced. The derivative of distance over time is equivalent to velocity. Therefore, reducing the rate of velocity will allow the wheels to execute the exact number of rotations to go the required distance. If the proportional decrease in velocity was not implemented, the robot would experience marginal slipping on the inside wheels. As a, result our drivers would experience a substantial loss of control Wheel Orientation
Car Drive: Car drive was designed out of driver request. After much practice we observed thatin many game situations, our drivers would benefit from the ability to move the robot a smalldistance very accurately. Car drive was an amended permutation of the previously created swerve drive. Car drive was brainstormed from the very finesse one can acquire with a car by only moving the front wheels. In pursuit of this great control, we applied a system of locking the back wheels of the robot to the straight orientation. All previous values of the joystick controlling the back pair of wheels are nullified. Then, the software emulates a zero turn on the joystick. With assistance from the feedback on the chains mounted on the wheel pair, we are able to consistently hold the back wheels in a center position. Meanwhile, the front wheels are controlled by a similar function. As mentioned above, with the use of a closed loop control system, the distance the driver turns the joystick in the horizontal direction is used to control the wheels. With the use of the magnetic encoders mounted on the chain, we can calculate the error between the current positions a desired position and send the necessary voltage to correct for the offset. Wheel Orientation
Traverse: Traverse is an adaptation of our previously designed swerve drive. Traverse was anaccommodation to allow the driver to go in any direction at any time. Allowing the robotquickly transition from direction to direction with great results. Traverse allows all of the wheels to rotate and orient themselves to the angle calculated by the X and Y axis of the driver one joystick. In order to orient the wheels in such a way, the software automatically re-tunes the drive algorithms when the drivers hit the switch box to go into traverse mode. At this point, both wheel pairs will rotate in a parallel orientation. The degree of turning is calculated by the angle of the joystick, therefore all of the wheels will turn in a synchronized fashion. As the direction of acceleration changes, the CIM motors power the wheels in order to propel the robot in any direction the driver wants to travel. This allows the robot to travel in all 360 degrees, switch direction, or reverse in minimal time with superior control. By the addition of this drive system, our team and drivers have noticed unmatched maneuverability and an almost unpredictable course. Wheel Orientation
90 Drive: 90 Degree drive was incorporated in order to allow the driver to re-orient the robot sothat the front of the robot is now the side with the pneumatic kicker. To accomplish this task, we employed a control system which emulated a 90 degree offset relative to the standard center used in swerve and car drive. To implement the offset, the software virtually the theoretical wheel of voltage that is used to control the turning of the wheels. The wheel of voltage is acquired from the absolute magnetic encoder that is mounted on the rotating chain that controls one set of wheel pairs. The impact of this software-based offset imitates that the front of the robot is now 90 degrees to the left. This will cause both pairs of wheels to be rotated, re-orienting the robots front side to the side which the kicker is mounted on. In addition, because of the mechanical difference when rotating these wheel sets, we implemented a new function to calculate the speed, and rotation of the wheels during this mode. As a result, the drivers can seamlessly alter their driving modes and drive orientation without any complications from the change in orientation and speed. Wheel Orientation
Driver-Tuned: To accommodate the complex control system and allow the drivers themaximum control and versatility, the ÜberBots implemented a system which allows the driversto tune the software based drive functions from the joystick. While the drivers have had muchsuccess with the implemented control system, in rare situations drivers, could take advantageof slower speed, or increased turning. In the pursuit of a robot with great control and maneuverability, developers integrated many software and driver aspects of functions of the many joystick buttons. For example, the degree of turning the paired motors will rotate is directly proportional to the Z-axis, or throttle, on driver-ones’ joystick. This allows our drivers to fine-tune the software to meet the request of the driver. Also, the ability to rapidly and effectively change the degree of turning can be used for various field positions and game situations. Whether the driver is playing defense or trying to go under the tunnel, the driver can tune the amount of turning on the robot to better accommodate the control and assist in accomplishing the task at hand. In addition, the Z-axis, on driver-twos’ joystick can control the speed of the robot. This axis is used as a throttle to decrease or increase the speed of the robot. When the driver has the throttle three-fourths of the way up, the robot will be limited to 75% of its maximum speed. The added speed control allows an innumerable amount of driver permutations to successfully maneuver the robot in the different game situations.
The Advantages of a Closed Loop Control System: Closed loop controls system can providemany unparalleled benefits that otherwise would be unavailable. With the addition of a closedloop control system, the robot can intuitively respond to the external forces acting upon therobot. Variable forces such as friction, torque, and velocity can drastically decrease the control of the robot if not properly combated. A closed-loop control system allows us to consistently and effectively react to these unpredictable forces. These closed-loop systems are designed to intelligently detect what the driver wants the robot to do and what the robot is actually doing. This requires a comparison between the driver’s actions and the robot’s actions. To accomplish this, the ÜberBots use a variety of sensors these sensors can actively monitor the robots physical movements. To utilize the sensor data, we implemented a system that compares the difference between what the robot is actually doing and what the driver wants to do. The comparison is executed though the well- known algorithm called a PID loop. A PID loop has the ability to actively monitor the change between the robot’s physical movements and the driver’s request. Furthermore, the PID loop contains an algorithm which calculates the error between these two actions. By using the sensor feedback and comparing it to the set point of the driver input, the PID loop can manipulate the power sent to the motors in order to allow the robot to do exactly what the driver wants it to do. This system of correcting for error provides the driver with increased maneuverability, versatility and control.