I built an XRP mecanum chassis. I used the same layout for the battery and circuit board as well as the drive motors. I will post the CAD files on GrabCAD and post the link here. There is room for 2 battery packs for extended life. The outer bumper retains the clip-on interface for accessories. The range finder and line follower clip right on and the stock wires are long enough to reach the board. I tried to keep it as “stock” as possible.
These are the wheels I used, they are close to the same diameter as the stock XRP wheels and have the same shaft connection as the motor so they push right on.
For programming I swapped over to the WPILIb so it can be programmed in Java. This will be a learning tool for our FTC team, so Java is more applicable. So far it works awesome in the teleop mode. Haven’t done too much autonomous with it yet.
Next step is to add a PWM board via the QWIIC so I can add more servos for a manipulator of some sort. Having a hard time finding Java libraries for using the I2C port, but that is a topic for another place.
@toml21
Welcome to the XRP forum. Thanks for sharing your mod of the chassis.
While many here will infer the rationale for your new design, this description of Mecanum wheels may help others to understand your motivation:
I look forward to seeing further development of your variant!
Good call. It is an educational system so important not to leave out the educational piece. The mecanum design allows movement in any direction. When working thru the kinematics of the system I learned that it could be programmed to pivot around any point in space (had never really thought about that before) so it has been fun mapping different center points to buttons on the controllers. I currently have it set up so by default it pivots around the center of the robot, but I have the center points of the marker holders mapped to a couple buttons. The operator can choose to pivot around either the front or rear marker with the press of a button. Kind of fun.
It measures 245mm x 250mm. It can certainly be printed in one shot. I was having a hard time getting it to print in mine because of some exclusion zones on the print bed.
The snap together with a little epoxy has been holding up fine. I’d rather do it in one print tho.
This is awesome! Thank you for sharing the project and CAD files, and good job finding mecanum wheels that are compatible with the motors! We had the idea early on the in the design process of the XRP about mecanum wheel support, but ultimately didn’t get around to it. Really glad to see that you’ve done it, this is super cool!
It was mostly luck of the draw on the wheels working, but that is a pretty common shaft, so the props is to you all for specifying that. I’m sure there will be all kinds of cool stuff coming out of this. I just fried the board hooking it up to 9.6V so waiting on a replacement for that.
@toml21, your design inspired me to design a 1 piece frame in Tinkercad. With the work that @neilrosenberg did by adding the components into it, it made it pretty simple to put together. Here is a screenshot of the design. I’m hoping that the motor mounts will be strong enough on the front.
I also put together a frame to try Omni wheels as well in an X drive pattern. I’m not sure how well this will work, but here is a screenshot of that design.
Very nice! Your motor mounts should be plenty strong I would think. One suggestion is to add a second battery compartment. Running the 4 drive motors eats the batteries up in a hurry.
I like the Omni wheel layout too. I imagine that should work just fine!
I’m enjoying this. Thanks for providing a Mecanum chassis for the XRP.
Many of the FIRST Tech Challenge (FTC) teams that I mentor use Mecanum wheeled Chassis. They also program in the FTC Blocks environment. I’ve been working on some simple Blockly code for the Mecanum XRP. You can get more information in my project Google Doc at https://docs.google.com/document/d/1O7uEpK6AnP3FF7mwt2mC9n0xYDeVABoDihamBP4mcj0/view.
I built out some drive and turn functions so the XRP acts similar to Logo programming and turtle graphics. Today I was showing this robot to a FIRST LEGO League-Explore team. They were able to learn quickly and built out new code to make rectangles and repeat the rectangle multiple times.
I’m having trouble sharing a Google Doc explaining my Mecanum Chassis code. It is being marked as spam. I’m hoping that this link to one of the Blockly programs that I built for the community will work: 12A-Triangle.blocks - Google Drive
I’ve posted 04A-Mecanum Square. See folder link in the guide.
This will drive in a square path keeping the robot facing forward the whole time. Driving sideways is one of the most popular demonstrations at outreach events. Now you can run this to impress the crowds.
This program or OpMode has the six degrees of freedom functions available: Forward, Backwards, Left, Right, Clockwise, and Counterclockwise. You can use this as a starting point for building your own autonomous routine.
I just found the Negative block in the Math tray. I’ll be updating the code with this to make it easier to read. It is the square root block and you can drop down the operator to find the negative function.
I’m glad you are enjoying it! I built it to help the FTC team I mentor get rolling with a mecanum chassis. They did enough fundraising to finally get a new chassis and components to build a mecanum competition robot over the summer. This little XRP version has been a great outreach tool. The uninitiated always love the strafe move, gets all kinds of attention at events. I have been using the WPILibJ firmware and coding. It works great, and the teleop mode is fun for everyone to play with. The library has a kinematic package in it that allows fun things like changing the center of rotation.
I’m currently working on an upgraded version for a coaches vs kids competition we have coming up. I think I’m going to have to go back to the standard firmware tho, as i can’t get the I2C port to work with the WPI firmware and I need an additional servo board.
This completes the 10 Mecanum motion commands. It adds the four diagonal functions to the functions for the Square and Triangle.
Everything is still based on dead reckoning using drive times. The turns are particularly troublesome to calibrate. This early version was to help others get up and running so they could build out some cool autonomous routines for outreach events.
I’ve got a couple other projects to focus on, including FTC Scrimmage on Nov 9, so it might be a while before I get back here to clean up the user friendliness of this code.