3D-printable robot with mecanum wheels

21/07/2019

Are you frustrated by the robot kits that can't do almost anything? What if you could your own robot platform by yourself?

I can't believe this project actually made it to Hackaday's website!
https://hackaday.com/2019/07/28/a-3d-printable-mecanum-wheeled-robot-platform/


I'm trying to start making videos on YouTube again. At least a couple of videos of the assembly would come handy when I have time to do them.


https://www.youtube.com/channel/UCPtfAE6_21oqjO7Bh2bJcog


Introduction for the robot platfrom

Configuring the robot platform to use WiFi + static ip


Now you can finally get the parts for the robot from Thingiverse!


If you want to get access to the source files I uploaded the links to my Patreon. The entire model is designed with Fusion 360.


If you want to support this project, buy all of the parts for the project through these links

Notice! If you are using Adblocker, it hides all of the Amazon.de affiliate links. If you want to see them, please turn your Adblocker off and reload the page. 

If you need a wide variety of small M2, M3 and M4 screws, here's a really good option from Amazon


2015 - Tape and hope

Recently I got an idea to design a robot platform, that could actually drive over carpets and rotate with ease. My first experience in robotics comes from a really simple robot that I built in 2015. It was capable of driving on flat floor, but couldn't get over almost any obstacles. It was just a piece of electronics held together by tape. That model was powered with Arduino which is a really limited for controlling a robot. With that kind of setup, there weren't any room to upgrade it to support LIDAR, OpenCv, TensorFlow or any of the modern technologies. Nowadays most of the robots have sensors that output massive amount of data, which needs to be processed. Arduino certainly can't do that very well at all.

As you can see from the picture, there is a lot of room for improvements. The robot had no proper chassis to mount the electronics and therefore had to be held by tape. Even the main power came from AAA-batteries.


2019 - Power and functionality

My interest in robotics got a humongous boom when I started working for an automation / robotics company. Seeing all of the modern robots and what they are capable of made me realize that I could make a moderately competent one even by myself. This time the robot platform rocks a single-board-computer (and it's easily changeable if it fits), which allows the robot to process a humongous amount of information and therefore be more compliant for multiple robotics applications. The programming is also SO much better: I can just connect the robot the same WiFi network as my PC, connect into it through SSH and start messing with it through terminal. With this setup, you have full control over the robot and you don't need to limit yourself to using only one programming language. I highly recommend using Python for programming the robot, because it's such high level language and requires less coding compared to C++.

After a couple of iterations the robot's layout and chassis got a massive makeup. Every wheel has a dedicated shock absorber and the chassis has room to actually mount the electronics. It also uses bolts rather than tape, which is a bit better way to go than tape.


20.7.2019

At the moment the robot is partly assembled, but I still need to print some parts out. The wheels are still under development, but they are so expensive to make that I don't have money for them. I'm currently working on a smaller version of the mecanum wheels, but it's still going to take somewhere around 4-5 weeks to get them done. (2-3 weeks to ship the bearings from China and 2 weeks to get my salary.)

In the earlier version the SBC were at a place that couldn't be accessed without disassembling the entire robot. Therefore I moved the SBC one level above and made two adapters for an extra level for sensors and such. Also the SBC has now a mount that can be changed with four bolts. This way it should be easier to change the SBC to a different one.

When I get the rest of the parts printed, I'll assembly the robot to check that everything fits together and it'd be possible to assembly it. Then I'll create a BOM for the entire assembly (except the mecanum wheels). When everything is ready, I'll publish the files for the robot with some instructions for the assembly.


21.7.2019

I got the BOM made and now the only thing to do is to print the parts. It'll probably be ready next week if I get my CR-10S configured (I'm having some problems with the print quality).


BOM

(Mecanum wheels not included, development in progress) 

3D-printable parts

  • Robot chassis ( 1 pc )
  • Gearbox spacer ( 4 pcs )
  • Motor adapter ( 4 pcs )
  • Upper support arm ( 4 pcs )
  • Bottom support arm ( 8 pcs )
  • Upper support arm frame bracket ( 4 pcs )
  • Bottom support arm frame bracket ( 4 pcs )
  • Shock bracket bottom ( 4 pcs )
  • Shock bracket top ( 4 pcs )
  • Battery cover ( 1 pc )
  • SBC level bracket ( 2 pcs )
  • Accessories adapter ( 2 pcs )
  • SBC level (BeagleBone Black) ( 1 pc )
  • Motor controller mount ( 2 pcs )
  • * Sensor mount ( 1 pc )
  • * TOF-adapter ( 1 pc )

Parts that you probably can't 3D-print

  • A Single Board Computer that you like to use or have laying around
  • 2 pcs L298N Dual H-Bridges (motor driver)
  • LiPo battery (The battery cover is designed to hold a 35 (w) x 17 (h) x 107 (l) battery. If you choose a battery with more cells than two, you'd need a second voltage regulator to provide the right voltage for the motors.)
  • 4 pcs of wheels & motors with gearings
  • 4 pcs of 80 mm shock absorbers

Screws & nuts

  • 16 pcs of M4x50 (Allen screw, cylindrical head), for mounting the support arms
  • 32 pcs of M4 washer
  • 16 pcs of M4 nyloc
  • 8 pcs of M4 x 60 (Allen screw , cylindrical head), for mounting the motor assemblies to the chassis
  • 8 pcs of M4 nut
  • 8 pcs of M3 x 10 (Allen screw , cylindrical head ), for mounting the motor controllers to the adapters
  • 8 pcs of M3 nyloc
  • 4 pcs of M4 x 30 (Allen screw , cylindrical head ), for mounting the motor controllers to the chassis
  • 4 pcs of M4 washer
  • 4 pcs of M4 nut
  • 4 pcs of M3 x 20 (Phillips round pan), for securing the shock absorber from the top
  • 4 pcs of M3 nyloc
  • 4 pcs of M3 x 20 (Allen screw , cylindrical head), for securing the shock absorber from the bottom
  • 4 pcs of M3 nyloc
  • 8 pcs of M3 x 40 (Allen screw , cylindrical head ), for mounting the motors to the motor adapters
  • 8 pcs of M3 nyloc
  • 8 pcs of M4 x 14 (Allen screw , cylindrical head ), for mounting the SBC's plane's to the chassis
  • 8 pcs of M4 nut

I recommend buying an assortment for the small screws to save on the cost and get some spare screws for securing modifications and/or other projects. All M3 sized bolts must be machine screws to handle the loads.

Assembly

When all of the parts are ready it's time to assembly the robot. I'll add step by step instructions with pictures when I have time to do so.

  1. Construct the support arm assemblies [ 4 pcs ] (upper support arm, lower support arm, motor adapter + spacer, shock mounts and chassis mounts)
  2. Attach the motor controllers to the adapters [ 2 pcs ] with 4 pcs of M3x10 screws per adapter. (8 in total!) and the adapters to the chassis with 4 pcs of M4x30 screws
  3. Inset nuts to the SBC's plane's brackets
  4. Attach the battery's cover, support arm assemblies, chassis and SBC's level's brackets to the chassis with 8 pcs of M4x60 screws

  5. Attach the accessories adapters to the SBC's plane with 4 pcs of M4x14 screws
  6. Put the electronics in
  7. Attach the SBC's level with 4 pcs of M4 x 14 screws

Step 1 ( Support arm assemblies [ in total you need 4 ] )

These are the parts that you'll need to build one support arm assembly:

Screws & nuts

  • 4 pcs of M4x50 (allen screw)
  • 8 pcs of M4 waser
  • 4 pcs of M4 nyloc
  • 1 pc of M3x20 (allen screw)
  • 1 pc of M3 nyloc
  • 1 pc of M3x20 (Phillips round pan)
  • 1 pc of M3 nyloc
  • 2 pcs of M3x40 (allen screw)
  • 2 pc of M3 nyloc

3D-printed parts

  • 1 pc of upper support arm frame bracket
  • 1 pc of bottom support arm frame bracket
  • 1 pc of shock bracket top
  • 1 pc of shock bracket bottom
  • 1 pc of upper support arm
  • 2 pc of lower support arm
  • 1 pc of motor adapter
  • 1 pc of gearbox spacer

Other parts

  • 80 mm shock absorber
  • DC motor with gearing & wheel

Step 2 ( Motor controller adapters )

Screws & nuts
  • 8 pcs of M3x10 
  • 8 pcs of M3 nyloc
  • 4 pcs of M4x30 (allen screw )
  • 4 pcs of M4 washer
  • 4 pcs of M4 nut

3D-printed parts

  • 2 pcs of motor controller mount

Other parts 

  • 2 pcs of L298N motor controllers

Make sure that the heat sink is pointing up, while the mounting spot in the back is pointing down.

Step 3 (nuts for the SBC level brackets)

Screws & nuts

  • 8 pcs of M4 nut

3D-printed parts

  • 2 pcs of SBC level bracket

Step 4 ( Attach the battery's cover, support arm assemblies, chassis and SBC level brackets to the chassis )

Screws & nuts

  • 8 pcs of M4x60 (allen screw)
  • 8 pcs of nuts

Other parts

  • 1 pc of battery cover
  • 1 pc of robot chassis
  • 4 pcs of support arm assemblies
  • 2 pcs of SBC level bracket

First put the M4x60 screws throught the battery cover. Then you can put the rest of the parts through the screws. When you get all of them to fit, add the nuts on top of the sbc level brackets and tighten everything together.

Step 5 ( Attach the accessories adapters )

Bolts & nuts

  • 4 pcs of M4 x 14 (allen screw)

3D-printed parts

  • 2 pcs of accessories adapters

Put the adapters over the sbc level adapters and attach them with four M4 x 14 screws. (Two for each side.)

Step 6 ( Put all of the electronics in )

Now would be the perfect time to fit all of your electronics between the chassis and the SBC. This space is great for BECs and other kind of electronics that you wan't to access, but not that frequently. You can attach all of the parts to the chassis with for example two sided tape or zip ties.

Step 7 ( Attach the SBC level and the SBC itself )

Bolts & nuts

  • 4 pcs of M4 x 14 (allen screw)

3D-printed parts

  • 1 pc of SBC level

When everything else is ready, you can attach the SBC to the level and the level to the robot. After this all you have to do is to route the I/O from the SBC to the rest of the robot. Then you have a complete robot platform! Now all you need to do is to play around with it and do some code to get it alive!


28.7.2019

I finally decided to put the platform together and bring it alive with some code. The red module is just for testing and it's nothing more than a radio receiver that I designed a while back. (It's actually a home automation unit.)