Project Octo

An octopodal robotic platform for rough terrain exploration

Similar projects worth following
In this project i will document the design, construction, testing and possible applications of an octopodal robotic platform based on the Klann linkage.

I've chosen to use the Klann linkage as it can take over steeper slopes than most other walker linkages, and as it uses only two DC motors, could be more reliable than a robot using multiple servos to control each leg if it were to be used in a critical application.

The goal is to have a sturdy walking platform on which many kind of robots can be built, like an exploration rover, or be used to carry supplies and instrumentation to help with disaster relief efforts...
The whole point of this project is to make a multi-purpose walking platform capable of traversing rough and steep terrain, so when it comes to applications, the sky is the limit [or a very steep slope, but you get the point].

I'm personally building it as the base of a long-term robotics project i'll work on as i study for my engineering degree.

A few years ago i built a little walking mechanism based on the Klann linkage. It worked well enough as a proof of concept, but wasn't useful for anything else.

Now i'm building another one, but harder, better, faster, stronger.

Intead of making it out of brass and small enough to fit on a hand, the new one will be made out of aluminium and stainless, and big and strong enough to carry tools, actuators or a payload.

I'm almost done with the mechanism itself, and it looks very promising.

this is how it looks loke so far:

Compared to the brass prototype:

5mm aluminium parts.dxf

Vector drawing of the aluminium parts

- 771.46 kB - 07/24/2017 at 07:56


8mm stainless parts.dxf

Vector drawing of the Stainless steel parts

AutoCAD DXF - 190.47 kB - 06/26/2017 at 10:35


  • 1 × The aluminium parts included in the files (Not all of them are used) The robot is made out of laser cut 5mm thick aluminium
  • 1 × The stainless steel parts included in the files The parts laser cut from 8mm thick stainless are used in the transmission
  • 96 × AXK 0619 thrust roller bearings Used for the linkages
  • 96 × 4mm thick 19mm ID O-rings Used to cover the AXK 0619 bearings
  • 8 × AXK 1024 thrust roller bearings Used fo the geared transmission

View all 20 components

  • Putting the mechanism together

    Pinomelean07/21/2017 at 16:06 0 comments

    Once the gears were in place, it was time to attach the legs to the rest of the mechanism and assemble it whole for the first time.

    I noticed that i needed spacers for three joints in every leg. Those could be built by stacking washers until the stack was the right thickness. But i didn't have enough stainless washers for all eight legs, and didn't want to wait for shipping as i could only get them online.

    I decided that i would have the spacers turned out of aluminium. This would be a tidier solution than a stack of washers, and would probably behave better in the mechanism.

    [And yes, i can get machined parts in my city within a week but i can't find stainless washers of the right size. Go figure!]

    All the spacers have a 6mm hole in the center for the axles to pass through. The following are the ones i used (eight of each one):

    The ones on the left are 8mm thick, 28mm in diameter and have a flat surface which can be made by filing or milling 1mm off the side.

    The ones in the center are 17mm thick and 28mm in diameter.

    The ones on the right are a bit more complicated, to avoid one of the linkage parts hitting an axle while in use, i had to design in a smaller diameter "neck" which would allow that part of the linkage to get closer to the joint. Here's a drawing that details this part (dimensions in mm):

    Had i noticed how close to the axle the other part in the linkage would get, i would have designed them with a different shape, but i noticed when fitting the legs to the mechanism, which was too late to change them.

    I'll now show the assembly of the mechanism for a pair of legs, for which i already have the leg linkages assembled as i have shown in a previous log:

    To start the assembly i tighten M6 x 45mm button head bolts onto the upper pivots from the inside. They will act as axles for the upper part of the leg.

    The 8mm spacer is placed on the 35mm bolt protruding from the wheels and gears, with the flat part clearing the axle clamps. The 17mm spacer is placed on the upper pivot bolt.

    Greased thrust bearings (AXK 0619) and o-rings are placed on both spacers.

    The leg linkage could be placed now on the pivot and wheel, but i found it easier to put the third spacer on the leg before, so i prepare it separately.

    Another thing i couldn't get were stainless M6 x 95mm bolts, so 10cm pieces of threaded rod and lock nuts were used instead.

    Into the threaded rod slide a 27mm stainles washer (of the ones i had laser cut), followed by a greased bearing and o-ring.

    Then the rod is put through the small lower pivot in one leg linkage and then greased. The 26mm spacer is placed with the thin part facing the leg pivot, and a bearing and o-ring is installed on it.

    After covering the axles in grease, the whole leg was fitted onto the rest of the mechanism as seen below:

    A thrust bearing and o-ring is placed on each protruding bolt.

    Followed by a covering washer and a nylon-insert lock nut.

    Once the inner leg is done, similar steps are followed for the outer leg.

    The 8mm and 17mm spacers are placed on their respective axles, followed by greased bearings and o-rings.

    The 26mm spacer is placed on the bearing for the lower pivot.

    The outer leg is slided onto the three axles (which have been greased beforehand).

    As with the inner legs, bearings and o-ring are placed on each bolt, and a washer and nylon-insert lock nut are used to finish the joints.

    This is how the finished mechanism for a pair fo legs looks like from above:

    You can see that all joints have two bearings each (covered with o-rings) to rotate with very little friction.

    The mechanism for the pair of legs is assembled mirrored to complete one side of the robot.

    And done twice more on the other side. The whole mechanism is now completed, and the robot can now stand on its own for the first time.

    It's an impressive sight to behold, and even better that what i had envisioned.

    Depending of the leg position, it is between 50cm and 60cm in lenght (just under two feet long).
    I can't wait to get this...

    Read more »

  • Geared transmission - done right

    Pinomelean07/19/2017 at 11:42 0 comments

    After the first attempt at coupling the gears to a shaft i realized that trying to use threaded rod as shafts was not going to work, even if i tried to key them or improvise a spline on them.

    I came up with the idea of using hex bars as shafts, and instead of mating them to a very precise hexagonal hole, i could design a part that would clamp on them and then screw to the gears.

    What you can see below is the previous design compared to what i made with this idea.

    (I've included the parts as "8mm stainless parts.dxf") In the file there are four larger clamp halves that i plan on using for the motors, but won't do so until later in the build.

    I ordered the necessary parts to be laser cut out of 8mm stainless steel.

    For the hex shafts, i decided to use allen wrenches. I bought a couple of 8mm wrenches and cut the four 40mm pieces that are needed for this robot. I would recommend using an abrasive cutoff disc, as the steel in this wrenches is hardened and would easily dull a saw.

    The shafts fit nicely between the halves, which will be screwed to the gears through the holes that match four of the six that i've already threaded into the aluminium parts.

    All the halves were drilled 3.3mm and threaded M4 on one side, and drilled 4.5mm on the other so the screws would fit through easily. Be careful wen treading stainless steel, as it's very hard even with good quality taps.

    With M4 x 16mm screws the halves are clamped onto the hex shaft.

    A couple of thing i want to point out about the fasteners:

    While you see me using button head screws, i later changed to full socket head because for the same thread size, they use a larger key and so they are less prone to be damaged and rounded when tightening them.

    Also, you may know that stainless on stainless threads are prone to galling, and generally are to be avoided, but i'm using that to my advantage. As this parts will probably be subjected to a lot of vibration, it helps if they lock automatically without the use of any adhesive that would need to be replaced.

    I then countersunk the holes so the assembly could be kept as low profile as possible.

    Once all the parts were done, i started the assembly of a wheel pair by tightening the M6 x 35mm button head bolts that will act as crank pivots for the leg linkages.

    Then i used M4 x 12mm countersunk screws to screw the clamp halves onto the aluminium parts, holding them in place.

    The hex shaft was put trough one of the wheels and the clamps tightened onto it, then i tighten the countersunk screws down.

    In the same way as in all other joints, i'm using thrust roller bearings between the wheels and the frame. This ones are AXK 1024, as the 10mm internal diameter leaves just enough room for an 8mm hexagon to pass through.

    The bearings were packed with grease too.

    Grease coated o-rings are used here as well, to keep dirt and water out of the bearings. This ones are 4mm thick (as the bearings) and 24mm in internal diameter.

    The assembled half is put though the 10mm hole in the frame after greasing the hex shaft, and another bearing and o-ring is placed on the other side.

    The other half (the gear in this case) is placed on the shaft, but making sure that the protruding bolt is on the opposite side of the one on the wheel.

    Before tightening any screws, the two halves are pushed together with the help of something like bar clamps. The assembly is clamped tight and all the screws tightened all the way, making sure that there will be no slack when the bar clamps are released and the bearings are free to rotate with little resistance.

    After it's done, the assembly looks like this from the side:

    The process is repeated another three times for the remaining wheels and gears. And this is how they look on the frame plates:

    Some time after having assembled the wheels, i thought of a modification that would improve the mechanism durability.

    Having a hexagonal steel shaft rotating inside an aluminium hole will wear down the aluminium over time. Having greased them thoroughly might improve...

    Read more »

  • Geared transmission - first attempt

    Pinomelean07/15/2017 at 18:11 0 comments

    This log is an explanation of an engineering problem i faced while designing and building the robot. The mechanism shown here won't be part of the finished robot, as it has been a failure.

    I decided to include the information anyway so people can understand the design choices i made and the reasons behind them, and hopefully learn something along the way. (Or at least, avoid making similar mistakes)

    The octopodal Klann linkage i'm building drives the legs in two groups of four, with a motor for each side. In this way, the mechanism functions in a similar way to a vehicle with two tracks, like a tank.

    Each couple of legs in the corners could be powered independently, but that would only complicate the design.

    Tying them together in groups of four will ensure there are always four legs on the ground at any given time, two in each side of the robot (at least on a flat surface), making the platform stable and parallel to the ground.

    Using this arragement, in each group of four the two external legs are in sync, and 180º apart from the internal ones to ensure that they contact the ground at the same time, and just before the other two lift.

    In the brass prototype i powered the outer legs with gears, and those gears drove the internal linkages with a crank through a shaft. The shaft was copper wire soldered to the gear and crank.

    As i might have mentioned before, i want the new version to be easily taken apart, for repairs, replacements or improvements. This means i won't join any parts permanently unless it is completely necessary.

    The first idea i came up with to tansmit torque from the external gears to the internal linkages was threading the gears and cranks, using threaded rod as the shaft and to tighten lock nuts against the aluminium parts to fix them to the shaft.

    I tested the idea on some scrap aluminium and saw that the threads would strip way before applying the torque i expect necessary for this mechanism

    The next thing i came up with was fastening a thick stainless disk onto the aluminium parts, the harder steel could be connected to a shaft with a key or a spline.

    Standard key and keyways could be used for this, but for some reason i decided to ditch standardized hardware and thought it would be a good idea to make my own coupling.

    I ordered 8mm stainless discs to be laser cut, with holes in the perimeter to to bolt to the aluminium parts and an oblong hole in the center.

    Not wanting to complicate the build process i decided to still use the threaded rod as shafts, i cut the pieces to lenght and ground the ends as flat as i could, aiming for a very tight fit with the discs.

    I noticed that some shafts and discs had a little bit of angular backlash, only a little bit, but just enough to feel it. I didn't care much at the time.

    Then i countersunk the holes for the screws, and threaded the aluminium parts. (Note that instead of a crank, i use a full wheel for the inner linkages)

    I used oversized phillips screws for testing, but later decided to standardize all fasteners to allen socket head screws (all stainless).

    I put a pair of them together to test how rigid the setup was, but as i applied torque from the gear to the wheel, the ammount of backlash increased from barely perceptibe, to more than the angle between gear teeth. Which was obviously unacceptable.

    While the backlash did grow, it ended settling. This indicated that the coupling appared tight at first only because of the irregular surface left on the laser cut discs. But as torque was applied to the shaft, the surfaces were flattened, creating clearance between the parts.

    While the idea may have seemed good, the tolerances required to make this kind of "splined" joint work well are beyond what can be achieved in the home shop, even with laser cut parts.

    I finally scrapped the idea of using threaded rod for the shafts, which rely on tight tolerances to avoid backlash, and the thread itself to keep the parts together.

    Since then, i've been designing a solution to transmit torque through...

    Read more »

  • The leg linkages

    Pinomelean07/07/2017 at 18:35 0 comments

    There are many ways of building planar linkage mechanisms, and we all have used the simple approach of loosely fastening the joints with a bolt and nut, and maybe add washers in between.

    This technique is quite popular for building something simple and light duty, like the many DIY robot kits made out of laser cut acrylic or plywood, but it doesn't cut it for me. [No pun intended]

    The joints are the most critical part of a mechanism such as this, as they will determine how well it can function, and will be the first places to fail due to wear if not built robust enough.

    I decided to use stainless M6 bolts to act as axles in all joints, but i needed something to stop the parts from rubbing against each other.

    I decided to use axial bearings (AKA thrust bearings) for this task. I chose AXK 0619 roller bearings to suit the size of the axle, and i choose roller intead of ball bearings to keep the thickness down.

    Since i wanted my robot to be all-terrain, and the roller bearings are open by design, i needed to consider ways of limiting particle and water ingress in them.

    So i bought a bunch of o-rings of the same thicknes (4mm) and a fitting internal diameter for all the bearings (19mm).

    Putting the o-rings around the bearings will prevent particle ingress, and coating them with grease will make the assembly waterptoof.

    I begin building by screwing in tight the bolts in the threaded parts. The bolts have to be button head because any other kind of M6 head is thicker than the 4mm of separation between parts that the bearings provide.

    The thrust bearings came with a light oil coating. That has to be cleaned, and the bearings then packed with grease. The bearings are composed of two washers and the cage with the rollers, so the cage has to be installed between washers.

    Each bearing gets an o-ring around it, which is greased both so it won't rub with the aluminium parts, and to prevent water ingress.

    The parts that complete each joint are placed on the bearings, and new bearings are placed on them. Before doing so, it's a good idea to apply grease to the part of the bolt that will be in contact with the joint parts.

    To finish each joint, a big washer is placed over the bearings and o-rings to close and hold them in place.

    The washers that i'm using are actually laser cut from 1mm stainless sheet, and 27mm in outer diameter.

    A nylon-insert lock nut (also stainless) is installed on each joint, tightened enough to keep the parts parallel against the bearings, but not so much that the joint become hard to turn.

    This is what the hardware sandwich looks like from the side, The o-rings completely cover the bearings from dirt, and the grease lubricates them and keeps moisture out.

    This are the eight legs assembled, half of them mirrored as they will work in pairs.

    The rest of the joints are built in a similar way.

    In this case, for example, the bolt doesn't thread into any part, so a washer and bearing have to be installed before putting it into the first part.

    This are a couple of pivots for the legs, which are attached in pairs to the frame, with the bolt only threaded into the lock nut, otherwise free to rotate.

    The legs are attached to the frame with pivot parts like these, but before fully assembling the leg linkage, i have to install the gear train and get some spacers.

    The geared transmission isn't as simple as the linkage joints, so i will detail its assembly separately.

  • Body frame assembly

    Pinomelean06/27/2017 at 16:56 0 comments

    Once i had filed and sanded all the aluminium parts, i started preparing them for an initial assembly.

    I started with the body frame. As the parts all meet at 90º angles, I designed the edges with simple box joints.

    I plan on using threaded fasteners to hold the whole robot together, avoiding glue, welds or anthing permanent. For the frame this meant having to drill and tap M3 threads into the 5mm thick plate to screw the parts together.

    The 5mm holes in which the threaded holes end are useful as an exit for the tapping chips.

    Here you can see how the parts are held together. I ended up using M3x12mm button head allen screws for all the body frame, as the don't protrude as much as the ones in the pictures.

    The frame seems to fit together well, and is very rigid. There is enough space inside for the motors i plan to use (windshield wiper motors) and the batteries they will use.

  • Getting the main parts

    Pinomelean06/26/2017 at 11:56 0 comments

    To make the parts and not get old while doing so, i decided to have them laser cut out of sheet stock instead of making them myself.

    I designed all the parts needed for the Klann linkage and main structure in AutoCAD, and spreaded them to send out to the laser cutter shop. I also added a bunch of washers filling the gaps, just because i could, and i was paying for that metal anyway.

    After dropping almost 150€ and spending a full week hoping i got the dimensions right, the aluminium parts were done.

    They were left with quite rough edges, so i had to spend a lot of time filing and sanding them all.

    Although i did it mostly for mechanical reasons (to avoid parts rubbing against raised edges), aesthetics and not getting cut when handling the parts were important reasons too. I think it was especially important for the gears, since the oxide left by the laser is much harder than the aluminium itself and it would work as an abrasive.

    Since i ordered the parts and while i was building the mechanism, i made some design changes in the parts, such as more holes. This changes will be included in the .dxf files of the project which could be updated as i keep building. This wil be noticeable in future puctures of the build process.

  • The idea and design

    Pinomelean06/26/2017 at 10:13 0 comments

    A few years ago, while wasting my time on the internet as we all do, i ended up on the wikipedia page for the Klann linkage, i thought that it could make for an awesome robot, so i built one from brass sheet stock, copper wire and solder.

    I took the dimensions for the parts from the gif found in the page, and that worked well enough. It ended up being not much more than a toy, as it could barely carry its own batteries.

    This time i wanted to make a useful robot with the same design, as i still think the Klann linkage is a pretty cool way of making a walking robot without having to use lots of servos.

    I investigated a bit more about the mechanism and found an online simulator for it.

    I used it to tweak the lenght of every part, optimizing the shape of the steps taken so the lower part would be as flat as possible to avoid having a shaky robot, but the upper part would be high enough to walk over obstacles or climb.

    I also had to think of what materials to use, and how i would build it.

    Seeing that cutting sheet metal by hand wouldn't be a good idea for a robot as big as i wanted, i started looking for other ways to fabricate the parts. Luckily, at that time i was taking a CAD class in my university, and realized i could draw all the parts and have them CNC cut from a wide variety of materials.

    They have a laser cutter in my university, but just for plastic, plywood and other soft materials. I was considering using delrin/acetal, but they only had acrylic (which seemed brittle for a big robot) and i couldn't find delrin sheets easily.

    Even though i was considering plastic for the convenience of having it cut in my university, what i really wanted was metal.

    Steel would be either too heavy or too flimsy depending of the thickness, so aluminium was the way to go.

    I settled for 5mm aluminium sheet for most of the parts (just an arbitrary thickness that seemed right to me), and decided that the rest of the parts and the fasteners would be stainless steel, as i would want this robot to not rust after a stroll in the park.

    With that choice of materials, i could make a big robot capable of walking many different terrains and not be affected by moisture, dirt or even mud. This would certainly open a lot of potential uses.

View all 7 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