Oberth Arm

Wall plotter

Similar projects worth following
I'm building a robot arm similar to the SCARA architecture. Named after Herman Oberth, so I can plot Oberth manuvers on the wall :D

It's for plotting on a wall or chalkboard! It could also be used for pick and place on a flat surface.

Scale is ~ 2m radius, so it will have a large working volume (a very short large diameter cylinder)

The goal is 0.5 - 0.1mm positioning accuracy / repeat-ability and low cost.

Goal speed is ~ 1 rev / sec

This will be a significant challenge due to the desired accuracy / scale of the arm. 

Some Considerations

- Motor Selection - Aiming for Brushless DC for power density / low cost

- Driver Selection - Currently using Odrive, looking to implement with FOC (field oriented control) for low vibe / high torque at low speed.

- Encoder Selection - Investigating implementing 16 bit magnetic encoders w/odrive

- Arm Material / Cross Section - Prototyping in Aluminium, later considering Carbon Fiber Reinforced Polymer (CFRP)

- Bearings - Considering low cost IGUS slew bearings, may have too much lash, will also look into thin section roller bearings, bushings.

- Gear reduction - Looking at cycloidal drive for low backlash, low cost of manufacture, also considering a differential belt driven system with two input motors per axis if the lash is too high with cycloid. 

  • Trade Study / Arm Sizing

    risknc11/12/2018 at 19:07 2 comments

    I've got rough requirements in my head already (and listed in the project description).

    So the first thing I'll do is a trade study to size various components of the arm. This will give me loads to properly select COTS components and then size structural members. It will also give me an idea of deflections.

    To do that, I'll make a spreadsheet that calculates bending moment based on geometry and component mass.

    First thing I'll do is create a diagram of the arm, so I'm using common language to describe the various loads and components. 

    Then I'll make a mass estimate. Some components will have known mass as they are downselected, others will have an associated Modeling Uncertainty Factor (which captures how uncertain I am of the mass). At first the estimates will be WAGs (or wild ass guesses), and I'll refine them over time. 

    From here I'll do basic statics calculations to determine the loads in X, Y and moments each motor will see. I'll then create a rotating model that can calculate the static load in every possible position of the arm. I'll make a macro that runs through all positions at some fine resolution and get an envelope of all of the load cases. 

    From here I can tweak various geometric parameters (like the sub arm length, the main arm length, etc) and attempt to optimize towards design requirements. For now I'll move on to calculating static deflections of the arms. 

    To calculate deflections, we need section properties of the arms, so I'll make a quick spreadsheet that lets us input various cross sections and get the section modulus, cross sectional area, and modulus of elasticity for the various sections

    From here I can calculate stress and try to minimize the material to get the appropriate factor of saftey and margin for the design. In this case, we're likely stiffness driven (to minimize deflection) so, strength of materials isn't as much of a concern. I'll finish fleshing out this portion of the calculator later. The other thing I can do with the deflection data is create a lookup table so based on a given encoder position of the motors, you can account for error in static deflection of the arms, this is useful when trying to achieve high accuracy without a lot of processor overhead to compute the actual deflection in each position.

    The last thing I'll do is a rough dynamic calc to see how much load we'll see in an emergency stop from the max velocity that's planned. This will give us a rough envelope on the loads into the wall / mounting surface. it also tells us the static loads will be well eclipsed by the dynamic loads, so velocity profiling is likely a good idea. 

    Now that I have a good idea of torque necessary to actuate the arms, I can select components for the motors, gear reductions, and drivers. This trade will include cost, mass, power, rotation rate, and a lot of other things, for now I took a couple motors that were in the ballpark and picked the Turnigy Aerodrive based on cost, necessary reduction, max speed. It also fits well within the envelope of the Odrive for control.

    Next I'll design the cycloid reduction to get from the base speed of the motor to the intended max speed of the arm. I grabbed a couple research papers that described how to create the gear profile, and added the calculations to the spreadsheet. I took a stab at how to keep the drive compact and manufacture-able, by having it consist of two 1:11 stages to achieve the 1:121 reduction I was shooting for. I think picked a package size that seemed reasonable and generated a profile, which I can carry over into CAD and create a fit spline for later (and then, much later, CAM toolpaths to cut out the parts). 

    At this point I've got some components picked out and I think I'm in the ballpark. It's a good idea to start grounding the models and get out of tradespace. Instead of dropping into CAD then FEA (which is normally how you'd start...

    Read more »

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

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