RDL 2019 kickoff!

So this weekend was RDL kickoff. RDL or robot drone league is a game that I help design every year with other members of Techgarage and is a challenge based robotics game with two drones and two robots on each team. This year I decided to actually compete and be on a team. I am really just using it as an excuse to work on potential FRC designed before FRC season actually starts. The first design that I wanted to test was an H drive.

This is basically what an H drive looks like. It is a five wheel drive train design that has one center wheel in the center perpendicular to the rest. Because all the wheels are omnis it allows the robot to strafe not only sideways but in any direction. Currently we use mecanums, although they work they are expensive and heavy and their strafing isn’t always accurate.

In addition it this proper strafing is dependen on centered weight distribution wich almost never happens and requires complex code. So we are seriously looking at using H drive next year for FRC because it simplifies the drive train, makes it cheaper, and provides more mobility.

Another potential design is a swerve drive train.

For the past two months now 5949 member Hani has been working on a differential swerve drive.

This is a typical swerve drive which has one strong drive motor that drives the wheel using a coaxial axle design that uses bevel gears to drive the wheel. It then uses a generally less powerful motor to rotate the entire wheel module in any direction. This has an advantage over H drive because you get all the torque and traction you get with a normal drive train but the additional mobility as well. However, the only issue is that not a lot of teams have created a differential swerve.

This guy right here is a diffy swerve. It uses two high strength motors both attached to a complex differential gearbox. When the motors move the same direction the wheel a the bottom rotates on the lazy Susan it’s mounted too. When the motors move opposie directions the wheel actually drives and doesn’t rotate at all. You can do both actions at once too just by changing motor speeds. The hardest part about this is getting both motors to actually be the same speed consistently. This can be accomplished with an absolute encoder attached the lazy Susan and using a PID control to keep the swerve straight, but this has yet to be programmed and will require a lot of time to get working well.

During RDL I worked on the Brooklyn board as well. This is a board designed by Kirill Safin a founding member of Techgarage who recently graduated from Stanford with his electrical engineering degree. He design us a compact inexpensive motor controller board that can drive eight brushed motors and 16 servoes at one time! Kirill is an amazing engineer but was missing some key elements in his boards firmware and API which I rewrote slightly.

However apparently I made a few mistakes to because no matter how hard I tried using the code that I had tested with the Google coral already I couldn’t get the board to work with a stable connection. It kept freezing up and wouldn’t accept joystick input. It took me a total of ten hours to trace this error and lots of debugging but I finally found the probelm, which was faulty serial read code on the Google coral. I went into the firmware and removed any serial writes and removed the serial read code from the google coral and it worked! Well kinda, in the procesa of flashing the Brooklyn board I ended up bricking it and had to use another Arduino as a bootloader so that I could flash the brooklyn board again. Those six pins on the right of the image were the spi pins that I had to somehow connect to another arduino.

After like an hour of soldering I used this guide to flash the bootloader onto the brooklyn board again. This was after rewriting a very simple api without the complexities of the old one but it works well and I am probably going to stick with it an expand upon it. The code will soon be public on Kirill safins GitHub and we are hoping we can get the board available for sale. I will send out an update post talking more about this. We are hoping to use it on the RDL robot to drive the robot.

Overall RDL was a fun two days and I always love these 24 hour builds because I become immersed in robotics in a way thats not possible with only two hours of work.

Leave a comment