The locomotion subassembly depicted above served as our stable platform to position the robot such that it can easily access the required valves and switches. The assembly is composed of an 18"x18"x5" 8020 10 series T-Slot Box Frame that housed the overall system’s electronics as well as the locomotion motors and wheels. The system made use of four 4" omni wheels that allow the robot to translate along the X and Y axis. Each omni wheel was driven by its own individual 12V DC motor. The motors also have quadrature encoders that allowed us to track the robot's position within the test bed. Although the omni wheels allowed us to rotate in the XY plane, we only used them for simple forward/backward and lateral translations along the X and Y axis for simpler and more accurate positioning control.
Once the robot was positioned such that it was able to reach the required valves and switches, we needed to orient and position the arm in a favorable manner. The turntable X gantry subassembly helped us accomplish this by rotating and positioning the base of the robotic arm in the XY-plane. This was achieved by using a combination of a uniaxial gantry placed on a motorized turntable. Both the turntable and the gantry system were driven using a NEMA 23 stepper motor, which provided us with accurate positioning and adequate torque. We used the turntable to control orientation instead of the omni wheels because the turntable provides us with more precision and enables us to switch quickly between stations in the corner. The X gantry simplified the kinematics of the robotic arm and allowed us to easily approach and manipulate objects with large normal forces. The render above depicts our X gantry turntable subsystem.
When the turntable and X-axis gantry properly positioned the base of the arm in the XY-plane, the Z-axis gantry subsystem is able to position the base of the robotic arm precisely in the Z axis. We used a uniaxial gantry similar to the one used in the X-axis gantry above, but instead used a NEMA 17 stepper motor, which again provided us with accurate positioning of the robot arm. The image above illustrates the design of our Z gantry subsystem.
We used a 3-DOF robotic arm to position our end-effector such that it could interact with all the necessary valves and switches in the test bed. The robotic arm was composed of 3 HEBI x5 actuators, which were attached directly to the Z-axis gantry trolley. The robotic arm rotated only in the XZ plane and oriented our end-effector such that it could interact with the valves and switches of the test bed, regardless of their orientation.
Finally, we used a granular jammer system as our end-effector because it allowed us to easily grasp a wide variety of objects such as the valves and breakers. We connected a 12V DC air pump to the granular jammer so that when we want to grasp an object, we could turn on the pump, which would vacuum out the extra air within the gripper, causing the coffee grains inside to reach bulk density and exert forces on the object it is manipulating. We 3D printed a support for the granular jammer that could be easily attached to the HEBI motor along with a Raspberry Pi Camera mount to fix the position of the camera relative to the granular jammer.