Autonomous tracked robotic platform UGV

One of my most advanced projects to date. A tracked robotic development platform that [hopefully] raises the bar for hobby robotics.

Similar projects worth following
This project's objective is to create a tracked robot for ROS development, that looks less like a science project and more like an actual product. These kind of platforms are increasingly used for surveillance, search and rescue, tasks involving mapping, and a plethora of other scenarios. The top cover doubles as a payload bay, and can be modified to allow for many payload configurations.

Commercially available robotics products are extremely expensive. On the other hand, most DIY platforms lack on finish and payload versatility. I intend to show that something clean can be made with not too many tools. Let's blur the line between hobby development and commercial platforms!

It makes use of one of my previous projects for control, the Ground Control Station.

I'd like this to be a ready to go platform, just flip a switch and use it.

Check the logs to follow the process!

To make this project I took inspiration from other robotics platforms. The most known type of vehicle that use tracks are tanks, so why not get some inspiration from them too? Didn't want something too military-looking, though.

Most of the chassis is 3d printed, which was a challenge on itself. It widely exceeds the dimensions of my 3d printer so I had to slice it into 4 pieces. Why not making the cover see-through? Internals are cool!

I am making this post after I have completed the design. When I began, I already had an idea of what I wanted it to look like. Trying to give some insight and share some thoughts that came along the design and build. The final model required multiple iterations and features redesign. Reprinting of a couple parts was necessary as well.

With the right tools, I believe this project can be scaled up perfectly and some features I had to add to assemble could be removed. I used what I had available.

I hope it can serve as inspiration for someone.

Blueprint of the tracked robot
Blueprint with general dimensions (mm)

The idea is to use this platform with ROS, and learn by doing.

  • 1 × Raspberry Pi 4 1GB
  • 1 × Pi camera wide angle lens
  • 1 × Odrive v3.5 56V
  • 1 × Arduino Nano
  • 1 × Slamtec RPLIDAR A1

View all 20 components

  • Project pause

    Maximiliano Palay03/27/2022 at 03:46 0 comments

    This project is far from finished. Since the fabrication and then the first tests of the platform, I can't stop thinking on upgrades in design and construction techniques.

    Unfortunately, the project is now on pause as I'm working on my degree's final project.

    Hope I can get back to improving and keep working on this one.

    If this has motivated any other projects, please I'd love to see what you have come up with.

  • Assembly

    Maximiliano Palay10/14/2021 at 22:30 0 comments

    This phase was one of the most enjoyable until now. Seeing everything coming together to form the robot was amazing.

    With every part already made, I had to prepare the electronics before assembling.

    This stage required a bunch of soldering of connectors and cables and assembling the batteries.

    You can see most of the process in the following assembly time-lapse.

    Batteries were made out of recycled Lithium Ion laptop cells, in a 6s2p configuration. These were tested prior to assembly.

    Bear in mind there are some parts of the build missing. As an example, I assembled the batteries, and then had to reassemble due to some issues. I captured the first take only.


    In the process I noticed some flaws on design that made the assembly a nick harder. Some of these were:

    • Cooling fan mounting was pretty hard due to screws placement. If I had longer m3 screw, this would have been easier.
    • Mounting the motors and rear pulleys wasn't too easy. A wider opening on top would have helped. On the other hand, the holes to get an Allen key through the frame were helpful.
    • The attachment of side covers was a bit hard, screw placement made it hard to get a screwdriver or Allen key in.
    Robot assembled without top cover
    Robot assembled without top cover

    Warning: soldering batteries is an extremely dangerous practice. I do not condone this activity. Do at your own risk.

    If you were to make something similar, you can always use classic hobby packs.

  • Wrapping up the fabrication

    Maximiliano Palay10/08/2021 at 02:19 0 comments

    Continuing from the last log, I printed the 3 remaining wheels, now it's time for the axles.


    For these, I repurposed parts of old 3d printers that were scrapped. These usually have a couple of steel axles, as pictured below.

    Scrap printer axles and some post-processed in the center.
    Scrap printer axles and some post-processed in the center.

    I stripped the rubber these had, and searched for 8mm axles specifically. As I'd be using 608zz bearings, this size would fit nicely. I then cut these to proper length, and filed one end off.

    Filing the axles flat on one end.
    Filing the axles flat on one end.

    These were then hammered into hexagonal adapters that would interface with the wheel.

    Finished axle with adapter
    Finished axle with adapter (view 1)
    Finished axle with adapter
    Finished axle with adapter (view 2)
    Wheel and axle set
    Wheel and axle set

    We're still missing some body parts

    The lateral compartments, fenders and robot handle had the same treatment as the chassis. Some sanding, primer, paint, and ready to go. Actually, the fenders had to be pasted together too.

    A joined and sanded fender, and a freshly come out the printer fender in two pieces.
    A joined and sanded fender, and a freshly come out the printer fender in two pieces.
    Two finished fenders
    Two finished fenders

    The recess that can be seen is for accommodating the LED lights that will go on top.

    Side compartments and handle ready to be painted
    Side compartments and handle ready to be painted.
    All the things.
    All the things I have been doing are combined into one picture.

    In this one, you can see the outermost parts are for securing the LED sidelights on top of the fenders. These were left as-is. Just as a reminder that this is all 3d printed. Some motors and pulleys are showing up too!

    Top cover / the lid

    This top cover, will not only serve as a means to enclose the robotic platform, but will double as an accessory or payload bay. The idea is to make something see through, with acrylic so internals can be seen. If you wouldn't like this, it can be made entirely from printed plastic as well.

    Mark 1

    This version of the lid was intended to be printed in two parts, with a canal that would hold the 2mm acrylic. When joining these parts with glue and threaded rods, the acrylic couldn't be removed. This proved to be a pretty bad design choice. I'm leaving a couple of pictures, just for the record.

    The top cover with threaded rods partially inserted, and acrylic in place.
    The top cover with threaded rods partially inserted, and acrylic in place.
    Top cover canal that holds the acrylic.
    Top cover canal that holds the acrylic.

    Mark 2

    For mark 2, I decided to make the acrylic removable. So instead of enclosing it forever when assembling the cover, it is held in place sandwiched between a lip in the cover and screws from below. Not a super elegant solution, but it proved to be enough.

    Bottom view of the ready to be painted cover.
    Bottom view of the ready to be painted cover. The aforementioned screws can be seen.
    Top view of almost finished cover.
    Top view of almost finished cover.

    Stay tuned for assembly.

  • Finishing the body

    Maximiliano Palay09/21/2021 at 22:14 0 comments

    In the last post, I left off with the main body glued up and turned from 4 pieces to a monocoque.

    Smoothing everything out

    The seams were terrible, and the pieces came out of the printer with quite a few imperfections.

    To hide the seams and thicker imperfections from the printing, I added plastic putty over the worse parts of the body. This putty is car grade, and two component mix, with a hardener. Please bear with me, this is the first time I've used it.

    You can see there was excess putty in many places, and I started messing with it while it was hardening, it didn't like that.

    After [a lot of] sanding, the result was looking promising. Don't be fooled by the color differences of the plastic and putty, the surface was quite smooth.

    Used from 60 to 220 grit sandpaper.


    To start, I added a base coat of primer. This is just regular spray paint primer. Everything began to look more homogenous, and the seams started to disappear!

    I alternated a couple of layers of spray painting and sanding to achieve an even better finish. Time to apply the final color.

    You can see there are still some details and scratches from the coarse grit. I ended up liking this more than a super smooth finish. There might be a couple of reasons and for sure one of them is that I'm not able to achieve an even better finish without this project taking 2x.


    Started printing the wheels! Don't like this filament brand too much, there is a lot of ringing and unevenness in flow. This print still has the support on.

  • Making the body

    Maximiliano Palay09/18/2021 at 22:30 0 comments


    Each of the 4 pieces took about 22 hours to print. I'd say the longest prints I have done up to date. Material is black PLA+, printed with a layer height of 0.2mm and 0.4mm nozzle.

    First test fit of power train components.
    First test fit of power train components.

    Everything seems ok, so lets print the 3 remaining parts.
    The 4 parts of the main body.
    The 4 parts of the main body. 3d printed in PLA+.

    Some parts have a rough look because I sanded them down a bit. This allowed for more sharp edges where I would paste the parts together, and helped remove some supports that just didn't want to separate.

    As mentioned in an earlier log, I will join these parts together using some epoxy and threaded rods for increased stiffness.

    Assembling the body

    I cut the threaded rods to proper length, then filed the edges. With a small hand Dremel, made a groove so I can screw it in place with a flat screwdriver, and leave them totally inside the plastic.

    Cutting rods to length.
    Cutting rods to length.
    Filing the ends of the rods.
    Filing the ends of the rods.
    Cutting a groove to make a flatscrew head.
    Cutting a groove to make a flatscrew head.

    Joined the pieces into two long halves first.

    Joined the pieces into two halves.
    Joined the pieces into two halves.

    Then joined the halves to get a pretty sturdy body! Alignment was tricky, had to reposition the pieces removing the threaded rods and inserting them again. In the end, everything seemed quite square.  Sanded the excess epoxy from the joints to make them smoother.

    Fully assembled main body.
    Fully assembled main body.

    The grooves for using a flathead screwdriver ended up working a bit poorly. As the holes were tight with the rod, I ripped apart a couple of grooves using a bit too much force. Perhaps I should have made the channels that go through the body a little bigger in diameter.

    Following, I will get this into better shape with sandpaper, plastic putty, primer and some black matte paint.

  • Rounding up the design

    Maximiliano Palay09/15/2021 at 14:11 0 comments

    Preparing the body slicing

    Knowing I would slice the body in 4 pieces, I would then have to fuse the printed parts into a monocoque. Using just glue didn't make me feel too optimistic about it, though it could have been enough. Instead, I decided to include some plastic guides to join everything using 3/16 threaded rods. I put several in each direction to ensure everything would stay in place. The rod would make the thread as it went through the plastic. With some glue to fill the joints and with the strength and weight of the threaded rods, the body ended up super rigid, and with a nice, hefty weight.

    Battery trays

    The batteries I would be using were 18650 cells, in a 6s2p configuration. I decided to make two modules in parallel. Designed a minimal frame to hold each seat of batteries, mounted on the bottom face to keep the COG low.

    The chamfered feature that can be seen before the battery holder is to allow for mounting plates that accommodate electronics above.

    Mounting the electronics

    I went for a stack design, that allows me to assemble everything easily, with the disadvantage that to make any changes on the bottom layer, I would have to remove the top one.

    The first layer, would hold the Odrive, an Arduino Nano, the L298 H bridge module to drive the LEDs, and a couple DC buck converters to power 5v electronics.

    The Raspberry Pi would be on top of that, so made a small plate to be mounted on over this one.

    The remaining component was the wireless adapter, which already had a frame I designed on a previous project. I made a small plate that accommodates a 5v DC buck converter and the wireless card. This particular one has two antennas. I decided to make two openings to mount these on the back, but as high as I could.

    The lid (yes, again)

    Having the electronics mounting resolved, I saw there wasn't much clearance between the Raspberry Pi and the top cover I had designed at the time. Solved this by offsetting a part of it something like an inch above. This lid would house an easily accesible switch to turn on (ad in case of an emergency, off) the robot, a camera and the lidar sensor.

    Although I'm not too happy with how the electronics mounting came out, I love seeing the internals and the technology running this robot. Incorporating an acrylic top would be amazing. So I contacted a couple of sellers and decided to make it with 2mm acrylic. I would still make kind of a lid frame that would give it rigidity and allow for attaching to the body, and make something like a window in the middle. 

    Remember that thing I mentioned about front to back airflow? Yes, that needs to be addressed as well. Mounting the camera on top? Yes, that too. Perhaps some mounting holes that allow to mount different things, and design the accessories to be mounted with those holes in mind. Kind of a modular design.

    You can see a big hole for mounting the lever switch, vents on the front face, holes and a channel for the CSI cable of the Pi camera. The acrylic could then be modified to mount anything on top as well!

    The same concept of slicing applied to this part. Two threaded rods go through the sides.

    Camera & lidar

    Made a small, simple camera mount. The camera slides in from the back, and is held by four m2 screws. If I mounted the Lidar just as It came, it would have a couple of things blocking its field, such as the camera, the on/off switch and the antennas. So made a shroud that just raises it from the acrylic the right amount.

    Building this won't be easy, but I'll do my best. There's plenty of printing to do. 4+ days for everything.

    Some exploded views? Yes, please.

  • Design follow up

    Maximiliano Palay09/14/2021 at 23:17 0 comments


    Before getting into designing the interior, I wanted to leave the outer body in a further stage of development. I thought about doing a couple of fenders, as some tanks and robots have above the tracks. Perhaps I could also mount some warning lights on them? Yes! They would go great with some amber LED strips for cars I have bought. These would be some kind of warning lights, so the robot is properly noticed when powered on and moving around.

    These will be attached to the frame with screws, and a cable will run from the side of the body towards the LED strip.

    You might notice these are cut in half, because they won't fit in my printer. I'll have to print the halves and paste them.

    This same problem will be addressed for the body. But I'll probably need to cut it in 4.


    Made a shell out of the body and started [blindly] with the interior. I won't make an opening yet, but this will probably require a top lid for easy access to internals. I'm still figuring out how I'll make it.

    To begin, a good task is to accommodate bearings to hold the 4 wheel axles. You can see this in the following picture, viewing hidden lines as dashed lines.

    Having the belts [200mm GT2 timing belt], pulleys [20 tooth GT2 pulley, 6mm bore and 60 tooth GT2 pulley, 8mm bore] and motors [Turnigy Multistar 3508 268kv, with modified long 6mm axis], the next step was incorporating the motor mounts to the chassis. Encoders as well! These will be coupled to the shaft on one side of the motor through a 1:1 transmission with same belt, while the other side will be coupled to the wheels through said belts and pulleys.

    Left some holes on the body to allow for easier fitting of the motor screws.

    It is very important to think how things will be assembled. Sometimes the design is great but it's almost impossible to put together. Although I tried to have this in mind, you'll see I made some of these mistakes. The holes turned out to be useful, but it was actually very difficult to put the screws in place.

    Handle - A jump to the outside for convenience

    Getting ideas from the internet, I decided to include a handle. The size and proportions were "guessed" comparing with a drawer handle and getting my hand in it. It is at an angled face, so it is easily accesible and the screws don't pull straight out. Besides, the top is reserved for a removable cover and the back side will have another feature, which I will cover next.


    I'm thinking front to back airflow, with cool air coming in from the front, going through all the electronics, and exiting at the rear side. A grill resembling that of an M1A1 could look good. I'll use an old server fan with speed control, which is a total overkill, but I prefer using it than buying another one. Perhaps, having plenty of air volume circulating can dampen the effect of horrible airflow, which I will not get into optimizing.

    I actually like the look of it! Let's hope it is actually functional. There's a socket that holds the fan inside with 4 screws.

    Back to the body

    You can see the body in the second picture. I'm thinking the section in between the wheels is a bit empty. Perhaps this space could be used for batteries, or some other components. I could make detachable compartments, but don't want to add a lot of complexity. I'll make some modules that will be fixed, and held from inside out with screws. This will require an opening in the body to allow for cables going through. No screws will be visible from the outside.

    Removable top cover

    After some thoughts and tries, I finished up with this lid. It is held by 4 screws, and lays on/in a recess.

    Design took much longer than I anticipated. There were many considerations and redesigns. On the next post I'll try to round up the design.

  • Starting the design

    Maximiliano Palay09/08/2021 at 15:17 0 comments

    Okay, so I want to build a tracked robot. But to begin I need to know what length the tracks will be! I've got an idea of proportions and shape, but having the dimensions of the tracks lets me adjust wheelbase, wheel diameter accordingly. As I won't have any custom made tracks (remember, affordability is key for this project) the first thing I would do is find some. I'm thinking something along the 800mm length. I have scoured the internet searching for cheap tracks for robotics applications such as this one. Of course, there aren't any! But seriously, some online shopping sites didn't show any relevant results, and the findings I identified as useful were usually expensive products. I wanted the tracks to be rubber, but was open to finding a chained track and going with it.

    As getting actual tracks ain't easy, that got me thinking. How can I make them? So I began searching on how to make rubber tracks and some special compounds were needed, etc. But then thought, is there anything similar to tracks? Yes! Toothed belts! Don't even bother to say they aren't the same, but a toothed belt is similar enough to me, I hope it works.

    Disclaimer: I know nothing about tracks.

    Finding some of the right dimensions wasn't easy, but I came across a specialized belt store that offered to cut a very wide belt into thinner sections. Time to pay came and, who could've thought, belts aren't cheap either! But I paid around 50 USD for two belts of 30mm width and ~1m length.

    So having these, I could start the design.

    The wheels

    I went for two big wheels on each side. Traditionally, tracked vehicles have multiple wheels for each track, and they have different purposes. I didn't want it to look too militar-ish, and perhaps adding more wheels means adding more axles and a more complex design. As to the design of these, could've gone solid, more of a car-styled look or...who doesn't think honeycomb (or hexagon) wheels are cool?

    The track was modeled as a solid, to help calculations of wheel separation and obviously help design completeness.

    As for the axles, I intend to use some old printer roller axles that are conveniently 8mm in diameter, which is almost perfect fit for 608zz bearings. Will have to cut them into the proper length and probably file a flat surface for spin locking with the wheels. I wanted to be able to remove the wheels without removing the axis, so came up with an interface that will be pressure inserted with the steel axis and the wheel will be removable with some screws.

    The body

    Body-wise, the intention was to create something futuristic looking, or at least, modern looking. Design is going more and more into the strong lines and edges in many industries. I didn't want to disappoint.

    Next, I will make a shell out of the solid body, and begin designing the interior to hold all the components. I'll probably go crazy and change some of the current design, or add more detail on the outside, we'll see.

  • Project motivation

    Maximiliano Palay09/03/2021 at 22:31 0 comments


    Some time ago I saw the DARPA Sub-T Challenge. Its basically a challenge in which several teams compete with robots that have to autonomously explore and find items in unknown and harsh terrain. Environments are varied and include caves and buildings. It had me watching every video of the competition on their Youtube channel nonstop. The platforms being used, different sensor arrays, communication methods amazed me and made me think how cool it would be to be part of one of those teams. Mostly, they focus on the sensors and software development side and adapt existing robotics platforms for their purpose. One of the suppliers of platforms that caught my eye was Clearpath Robotics. Their robots are very sleek. 

    Hobby development platforms usually don't look to good, most probably for the sake of price [and of course many people don't care about the looks]. I am a huge fan of making things, and care about the aesthetics as well. Personally, it is very different looking something well thought and designed than something poorly designed and built with very low attention to detail. I, of course, prefer the former.

    Having a passion for robotics and an increasing interest in robotics platforms and frameworks, I wanted to build something that would let me develop and get into control, communications, SLAM. You can check my previous projects, the Cablecam and Robotics Ground Control Station. A good example of a project with poor design is my CNC laser engraver (:/).

    With every project I try to make something better. Lately, I have been focusing on the finish.

    I want somebody looking at this project and the robot going: "was that actually made at home?".

    Components and design ideas

    I'll try to use stuff already laying around. You might have seen this expression all over my other projects as well. This is because most of the components end up being recycled into new projects. Knowing the components I will use lets me design specifically for these.

    Following, I will splash a lot of ideas for the making:

    I have been tinkering with an Odrive, a couple brushless motors and encoders, so expect them to be included on this one. A Raspberry Pi 4 will be controlling mostly everything on board. Will probably use an Arduino Nano to control more hardware related stuff. Want it to have lighting and have seen some car accessory lights that are cool and very cheap, so I will try to include them in the design. A Raspberry Pi camera will be on board for video transmission. A handle is fundamental for easy transport. I've been recycling some lithium ion cells so I'll probably make the batteries out of these.

    I'll hopefully be able to show some design advance on the next log post!

View all 9 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates