Build Blog Day 6 (1/15/18)

Task: Design drivebase gearbox

  • We found out today that the gearbox will have to be redesigned. Our original plan consisted of a triangle of mini-CIMs but this design was too tall and would not allow the tunnel to lay flat and exhaust cubes to the exchange. Our new design still uses 3 mini-CIMs but they are arranged flat so that they can be lower than the bumper rails.

Task: Design tunnel with timing belts to friction drive the cube across on all four sides

  • For the tunnel, we worked on prototyping a mechanism that used timing belts to move the cube.. We made a four bar that allowed us to test the cube in both orientations (11 and 13 in width). Initially, we had trouble with the prototype as there was too much friction between the wood the cube rested on and not enough tension in the belt. We redesigned the prototype and made changes including making the four bar structure more secure, tensioning the timing belt, and installing plastic rails for the cube to slide on. These changes greatly increased the effectiveness of the prototype, and pushed the cube quickly through the tunnel. We now are designing a variation of this but using rollers instead of timing belts, to see which one works better.

Task: RPLIDAR Driver

  • After ensuring that the RPLIDAR works, we discussed several options, and have started to implement two of them. For our first method, we were able to use existing examples of code, from the RPLIDAR’s Software Development Kit (SDK), and write our own program that gets data and a timestamp for that data from the RPLIDAR, and send that data to the robot. Because the SDK is for C++, we would probably have to run this program on a co-processor on the roboRIO that communicates with the rest of the robot code over User Datagram Protocol (UDP). Our other option, which is more preferable, is to use the Java Native Interface (JNI). JNI allows the Java Virtual Machine, which runs Java code, to call functions written in other languages, which will allow us to use the SDK, even though it is written in C++. We will continue work on both of these methods, and choose whichever will work better for the robot.

Task: RPLIDAR Visualizer

  • We scaled down points to the size of the field, but this messed with the zooming and panning functions so we’ll have to fix this. Here is a sample image of the current functionality of this interface: