Design of A High Torque Density Modular Actuator For Dynamic Robots Alexander Hattori
Design of A High Torque Density Modular Actuator For Dynamic Robots Alexander Hattori
Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Department of Mechanical Engineering
May 15, 2020
Certified by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sangbae Kim
Professor
Thesis Supervisor
Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nicolas Hadjiconstantinou
Professor of Mechanical Engineering
Chairman, Department Committee on Graduate Theses
2
Design of a High Torque Density Modular Actuator for
Dynamic Robots
by
Alexander Hattori
Abstract
When designing new control systems for dynamic robots, differences between simulated
and real-world physics can cause the robot hardware to experience a significant
amount of misuse, often leading to downtime as hardware is continuously repaired
and improved. The MIT Biomimetic Robotics Lab aimed to mitigate this problem
by building the MIT Mini Cheetah, a low cost, mechanically robust, quadruped that
was capable of tolerating the strains of testing new legged robot controls. One of
the key design features of the Mini Cheetah that allows it to have minimized repair
time compared to other dynamic robots is its use of the same modular actuators
at all joints, allowing for easy replacement of components and a simpler mechanical
design. These modular actuators consist of a hobby brushless motor with an internal
planetary gearbox, a motor controller and a position sensor. This thesis documents
the design and manufacturing of the new generation of Mini Cheetah-sized actuators.
The new design utilizes a custom rotor design and a new module topology which
allow for higher torque density in roughly the same form factor. The new module also
incorporates a new, higher resolution encoder allowing for higher torque bandwidth.
These new modules will be used in various research projects in the lab including a
set of bilaterally teleoperated arms, a humanoid, and a new quadruped.
3
Acknowledgments
The author would like to thank:
Sangbae Kim for being my advisor throughout my time at MIT, from undergrad
to grad school, and giving me a place in a lab where I could work on projects that
kept me excited and engaged.
Jared DiCarlo for being my best friend and roommate for the last 5 years
and teaching me basically everything I know about engineering. Your enthusiasm
for controls and robotics is contagious and I’m so glad we got to work on so many
projects together over the years.
Ben Katz for taking me under your wing in MITERS and lab and teaching me
so much. You inspire me to be a better engineer.
Austin Brown for the late night apartment shenanigans, long productive walks
during quarantine, MITERS shenanigans at all hours, and for always fixing my surface
mount electronics when I inevitably bridge pins.
Pat McAtamney for being the best shop manager and being my friend. You
enabled me to become the machinist I am today and provided me with hundreds of
hours of entertainment on the Haas and Waterjet throughout my time at MIT. The
table you set up in front of the VF2 became my unoffical desk as a grad student this
past year.
Andrew SaLoutos for your advice on designing the module, and your help with
finding and implementing the encoders and higher voltage motor controllers.
Zhiyi Liang and John Zhang for being my MechE buddies. I’m looking forward
to seeing you both become professors and MIT Lifers some day.
Lili Sun for keeping me company in MITERS, Area 51, ZOOM, and Messenger
while I worked on all my various projects.
Harriet Chiu for inspiring me to finish this thesis in a year and for always being
willing to listen to me talk about my robots and machining.
4
Contents
1 Introduction 11
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Design 17
2.1 Mechanical Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Motor Constant Selection . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 Manufacturing 31
3.1 Prototype design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Ring Gear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Stator-Ring Gear Interface . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 Rotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Planet Carrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.6 Small Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7 Outer Housings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8 Final Manufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 Results 55
4.1 Actuator Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Encoder Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3 Finite Element Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 67
5
5 Summary and Conclusions 71
5.1 Design Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6
List of Figures
7
3-11 The pressing process. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3-12 The completed stator assembly. . . . . . . . . . . . . . . . . . . . . . 41
3-13 The CAD rotor assembly. . . . . . . . . . . . . . . . . . . . . . . . . 42
3-14 Probing the smallest possible bore. . . . . . . . . . . . . . . . . . . . 43
3-15 The finished rotor assembly. . . . . . . . . . . . . . . . . . . . . . . 44
3-16 The completed planet carrier assembly. . . . . . . . . . . . . . . . . . 45
3-17 The tested gearbox assembly. . . . . . . . . . . . . . . . . . . . . . . 46
3-18 The thin washer-like parts. . . . . . . . . . . . . . . . . . . . . . . . 47
3-19 The wire clip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3-20 The starting billet and fixture plate for the front housing. . . . . . . . 49
3-21 The results of the operation to machine the housing front. . . . . . . 49
3-22 Anodized housing assembly. . . . . . . . . . . . . . . . . . . . . . . . 50
3-23 Completed prototype module. . . . . . . . . . . . . . . . . . . . . . 51
3-24 The front housing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3-25 The rear housing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8
List of Tables
9
10
Chapter 1
Introduction
1.1 Motivation
In robotics applications, it is highly beneficial to have easily replaceable, self-contained
actuators in order to minimize downtime of the robots. For research institutions in
particular, where robots are often used for highly dynamic locomotion with untested
controllers, durability and ease of repair of the actuators is critical. As a result,
the Biomimetic Robotics Lab developed modular robotic actuators used for the Mini
Cheetah quadruped and other robotic projects. These actuator modules, developed
by Ben Katz and Sangbae Kim, are self-contained motor, gearbox, position sensor,
and controller units. The actuator only needs power and a CAN (Controller Area
Network) signal and can provide torque, position, and speed control. These were
designed to be robust and cost effective so that 10 Mini Cheetah robots could be
produced and lent to various research institutions who could benefit from the hardware
for developing new controls and software in collaboration with our lab. A CAD model
of the completed module is shown in Figure 1-1. These modules cost approximately
$300 per actuator.
11
Figure 1-1: The original Mini Cheetah actuator design.
These modules work very well, but as our lab starts to develop more advanced, one-
off designs, some improvements can be made to the actuator modules. In particular,
the motor used in the original Mini Cheetah actuator, an EX-8, is a stock hobby
motor. This motor was chosen because of its performance and price; it could be
purchased for $50-$90 depending on quantity, with a comparable custom motor from
T-motor priced on the order of $300+. As a result of the stock hobby motor geometry,
there is some amount of space that is under utilized in the original module, where the
rotor of the motor takes up volume, but provides no force. This underutilized space
is shown in Figure 1-2. Typical applications of these actuators, where they are linked
in tightly packed serial linkages, have the revolved volume of the actuator as a limit
rather than simply the volume enclosed by the actuator.
12
Figure 1-2: The cross section of the original Mini Cheetah actuator design, with the
underutilized rotor area boxed in red. The useful length of the rotor magnets is boxed
in green.
13
Figure 1-3: The rear bearing section is boxed in red.
Lastly, the actuator used radial bolts to secure the front and back housing pieces
together, with no axial constraint besides the countersunk screw heads. This proved
to be structural enough, but allowed for slight deviations in overall module thickness,
resulting in clearance issues when clamping the module from both sides.
14
1.2 Scope
This thesis documents the design and manufacturing of a high torque density robotic
actuator consisting of a motor, gearbox, position sensor, and motor controller, in one
housing. A prototype actuator module was developed in-house and the final design is
being produced for use in humanoids, quadrupeds, and bilaterally teleoperated arms.
The actuator builds on previous work by Ben Katz and Sangbae Kim who developed
the original actuator modules for the Mini Cheetah robot. The new actuator uses a
new mechanical topology, an improved mechanical design for the rotor, and a new
encoder to improve overall performance while maintaining the same form factor with
a small increase in weight.
15
16
Chapter 2
Design
17
Figure 2-1 shows the new actuator CAD model and Figure 2-2 shows the cross
section. The new design has roughly the same overall form factor as the original
module, but with twice as much motor volume.
18
Figure 2-3 shows an exploded cross sectional view of the new actuator design.
Table 2.1 describes the labels in Figure 2-3.
Figure 2-3: The exploded cross sectional view of the new actuator.
19
This actuator and the previous Mini Cheetah actuator were designed to have the
driven load mounted directly on their outputs, allowing for a very compact, simple,
and robust serial linkage implementation as shown in the original Mini Cheetah CAD
model shown in Figure 2-4. In order to minimize collisions of the actuators with
one another and keep overall form factor to a minimum (which increases stiffness
and decreases moment of inertia among other benefits), the overall rotational volume
consumed by the module is important to consider. This was a key driving factor in
the mechanical design.
Figure 2-4: The locations of the actuators on the original Mini Cheetah robot.
In order to keep the new module design small, the internal components were first
redesigned to be more compact and space efficient. One of the inefficient uses of
space in the original actuator was the use of the stock motor rotor. The motor has a
significant structural portion which causes the rotor to be longer but does not contain
any magnets and thus does not produce torque. The new module utilizes a custom
mechanical rotor design that allows for twice the magnet length, in the same module
form factor, while maintaining enough structural integrity for the design. While the
20
previous design used a motor that was comparable to the U8 from T-motor, the
new design can now use a U10 motor for the base design. (Note: the U10 II is not
comparable to the U10 used.) The comparison of rotors is shown in Figure 2-5.
Figure 2-5: The new rotor design shown on the left has double the length of magnet
of the previous rotor, but similar encompassed volume.
As a result of utilizing a rotor twice the length of that of the previous design, the
module uses an appropriately sized stator (double the length), resulting in a peak
torque twice that of the previous design. The gear module was increased from 0.5
mod to 0.8 mod to account for the increased torque on the pinion, and the planetary
gears are now the full width of the module. The comparison of the cross sections of
the two gearbox assemblies is shown in Figure 2-6.
21
Figure 2-6: The new planet gear assembly, shown on the left, compared to the original
planet gear assembly on the right.
22
The last significant design improvement was the use of a crossed roller bearing
to support the output of the module. The roller layout of the IKOCRBT405A
bearing used in this design is shown in Figure 2-7. This single crossed roller bearing
mounted at the output of the module (considered the front of the module) can
support a significantly higher load compared to the two ball bearings used at either
end of the previous module. Additionally, due to the nature of the bearing design,
the bearing is much stiffer in axial, radial, and torsional loading. The downsides
recognized from using this type of bearing in the new design include a small increase
in friction/damping, as well as a significant cost increase ( $100 for one crossed roller
bearing compared to <$3 for a ball bearing).
23
A new type of magnetic encoder was also used for the new design, with more
details provided in the Encoder section.
24
2.2 Motor Constant Selection
Selection of a motor torque constant for an actuator can often be tricky, especially
when designing a single actuator for many different possible use cases. In this design,
the actuator has use cases in bilaterally teleoperated arms, humanoid arms and legs,
and quadruped legs. As a result, the list of possible constraints is rather large.
Fortunately, the applications will be designed around the actuators which in turn,
relaxes constraints on the actuator itself. The tradeoff for choosing the motor constant
is related to maximum torque, maximum speed, and limitations from the motor driver.
This actuator uses the same motor controller designed for the previous Mini Cheetah
actuators, with only a slight modification of using components with higher voltage
ratings on the power stage. As a result, many of the limitations from the original
actuator design are the same. This section focuses on choosing the speed constant of
the motor, KV, which can then be used to compute the torque constant, KT.
The peak torque of the motor occurs when the stator is saturated which is based
on the geometry of the stator. Torque produced by the motor is proportional to
current until the saturation torque is reached. It’s important to note that the motor
has a saturation torque, but not directly a saturation current. In general, the torque
saturation scales with stator or rotor surface area which should be the same but
sometimes one is easier to measure than the other. In the case of this module design,
the stator is the same as the previous Mini Cheetah actuator, but twice as thick,
resulting in a theoretical peak torque of 34 N·m whereas the previous actuators could
produce up to 17 N·m [3]. Doubling the stator thickness is analogous to putting two
of the same motors on the same shaft, which would provide double the torque of just
one motor.
The first design constraint considered was the ability to achieve max torque with
the given motor controller. The original actuator achieved its peak torque of 17 N*m
[3] with a current of around 30 A. The motor controller can only produce up to 40A
for a limited amount of time, so using the same motor KV (105 rpm/V) as the original
actuator would not allow the new actuator to achieve double the torque. Lowering the
25
KV increases the torque constant, meaning that actuator will reach its peak torque
at a lower current. However, this means that the motor will have a lower top speed
for a fixed voltage.
Conveniently, this actuator will be used with double the voltage of the original
actuator, so even if the KV is halved, the module will still have the same top speed as
the previous actuator, while having twice the torque constant. As a result, a KV of 50
was chosen, compared to the 105 KV used in the previous actuator. If an application
requires peak torque for a longer period of time but can sacrifice top speed, a lower
motor KV can be chosen which would allow the motor to reach its saturation torque
at a lower current, thus easing the thermal load on the motor controller.
The prototype module used a stock KV motor (100 KV) and is different from the
final design.
26
2.3 Encoder
One of the improvements to the electronics of the module was the use of a magnetic
off-axis encoder integrated circuit (IC) made by iC Haus. This uses a 32-pole pair
magnet (the magnetic code carrier), attached to the motor rotor, and an IC on the
motor controller to determine the absolute position of the rotor with 19 bits of position
resolution for one rotation of the motor [1]. This replaces the diametric magnet setup
which was good for 12 bits of position resolution used in the previous module. The
encoder is used for the field oriented control (FOC) used to drive the motor. Besides
higher resolution position data, this encoder also has a hollow center which is useful for
applications involving a hollow center module including passing wiring for additional
modules through on a serial actuator design. However, this feature was not needed for
the applications this module was designed for. The physical locations of the encoder
components are shown in Figure 2-8, and the topology of the code carrier is shown
in Figure 2-9.
27
Figure 2-8: Encoder Layout. The rotor is highlighted in blue, the encoder magnet in
red, and the encoder IC on the PCB in pink.
28
There are a few different magnetic code carriers that can be utilized with the same
IC, depending on form factor and max rotational speed. The particular 32-pole pair
carrier used in this module is capable of measuring position at speeds of up to 12000
rpm which is significantly higher than the rotor speed any variation of this module
will see and was chosen due to its availability.
Due to the topology of this module, in particular, the use of a single crossed roller
bearing at the output, the position of the encoder IC and the magnetic code carrier
relative to each other is highly dependent on the stiffness of the housing when the
output is loaded. As a result, FEA was used to find the max displacement of the
encoder magnet and IC to make sure they fell within the permissible radial and axial
displacements from nominal, found in the datasheet. Some of the FEA simulations
are described in the FEA section.
29
30
Chapter 3
Manufacturing
31
Figure 3-1: The prototype CAD model.
32
3.2 Ring Gear
The ring gear was a modified KHK 0.8 mod ring gear. It was clamped with an arbor
on a custom jig plate and the outer diameter was modified. The ring gear in the
fixture is shown in Figure 3-2.
Figure 3-2: The ring gear mounted in the Haas CNC Mill before being modified.
33
3.3 Stator-Ring Gear Interface
The most difficult assembly to manufacture was the aluminum piece that is pressed
into the stator, with the assembly shown in Figure 3-3. The machined aluminum piece,
known as the ring gear adapter, is pressed into the stator, while both the ring gear
and a bearing to support the rotor are pressed into the aluminum piece. Additionally,
the front housing piece, which contains the crossed roller bearing, locates off the same
bore as the ring gear. As a result, this piece is the core piece of the module off of
which all the other simpler assemblies locate.
The CNC machining of the ring gear adapter was not difficult. The majority of
the material was removed in one operation, then the part was flipped over and held
by a jig plate and finished. The machining fixtures are shown in Figure 3-4. The
34
finished part is shown in Figure 3-5.
(a) The first machining operation. (b) The second machining operation.
Figure 3-4: Manufacturing of the ring gear adapter. Note that the second operation
picture was from an earlier iteration so the bearing pocket is different.
The difficulty regarding this piece came with the assembly process. The windings
35
on the stator are not as compact or organized as the CAD model suggests. The linking
wire between the windings on individual stator teeth proved to be problematic. The
factory wound stator is shown in Figure 3-6.
The stator is wound in such a way that an object can easily be pressed through the
center without damaging the windings. However, this design utilizes the flower petal
bolt pattern which protrudes into some of the territory that the windings occupy.
There can be significant electrical noise problems if a single phase of the motor is
shorted to the module housing, and obvious electrical shorting problems if multiple
phases are shorted and so the difficulty came from ensuring no windings were damaged
when pressing in the aluminum ring gear adapter. The first stator assembled had a
single strand of winding crushed by one of the flower petals when being pressed and
so that stator was no longer usable.
A different assembly method of pressing in the aluminum piece into an unwound
stator and then rewinding the stator was attempted, but the windings were not as
compact as the factory-wound stator, so that stator was not used. It was a successful
stator in the sense that all three phase resistances were the same and there were no
36
shorts between any phases and the frame. Some of the hand winding process is shown
in Figure 3-7 and the final hand wound stator is shown in Figure 3-8.
37
Figure 3-8: The finished hand wound stator.
The assembly method used for the prototype module involved modifying the ring
gear adapter (without losing the structural integrity of the threads) to include a relief
angle for the windings, insulating the ring gear adapter petals with nail polish, and
machining a custom pressing jig. The relief angle is shown in Figure 3-9.
38
Figure 3-9: The relief angle on the ring gear adapter.
The pressing jig has a thin edge to hold the stator in place without the risk of
damaging the windings and a locating boss that fits into the bearing bore on the ring
gear adapter. The pressing jig and the pressed assembly are shown in Figure 3-10.
39
(a) The pressing jig. (b) The pressing jig assembly.
The process of pressing the ring gear adapter into the stator, shown in Figure 3-11,
was painless for a single stator, but this prototype proved that it would be extremely
beneficial to have the company that manufactured the stator to manufacture and
assemble the ring gear adapter as well.
40
The final stator assembly is shown in Figure 3-12.
41
3.4 Rotor
The rotor assembly consists of the rotor magnet ring, an aluminum structural piece
(rotor end piece), and the pinion. Additionally, the encoder magnet is pressed onto
the rotor end piece, which fits through a bearing in the ring gear adapter assembly.
The CAD assembly is shown in Figure 3-13.
In normal production, the rotor end piece and the rotor magnet ring are a single
unit (usually a bolted connection, but each manufacturer has its own method) made
by the motor manufacturer, but due to the one-off nature of the prototype, the rotor
was two pieces press fit together. The small increase in diameter on the rotor (.25
mm) is negligible for clearance within the module.
Machining the rotor was straightforward, with most of the material removed in
42
one operation, followed by a flip into soft jaws, and finishing of the part. The 1 mm
radii needed for the encoder magnet ring locating features were done by drilling holes
before the material was machined. The bore in the center of the part was at the limit
of the smallest internal diameter the Renishaw probe on the Haas could indicate, as
shown in Figure 3-14. Although it was not needed in this situation, an alternative
for picking up a very small bore with the probe is to press a pin into the bore, and
indicate off the OD of the pin instead.
The pinion was machined from a stock Misumi gear which was held in soft jaws.
The pinion and the rotor were both aggressively chamfered so that when the steel
pinion was pressed into the aluminum rotor end piece, the aluminum part did not
form a chip and make the pinion eccentric. The assembled rotor is shown in Figure
3-15.
43
Figure 3-15: The finished rotor assembly.
44
3.5 Planet Carrier
The planet carrier was virtually unchanged between the previous Mini Cheetah actuator
and this one. The bolt pattern is different to allow for more bolts for the washer plate
which clamps the carrier to the crossed roller bearing. Each planet gear is supported
across its whole length with a needle roller bearing, and the gears are shimmed to
reduce slop and keep friction low without the use of a thrust or ball bearing. The
completed planet carrier is shown in Figure 3-16.
Additionally, the gearbox assembly was tested by nesting the appropriate components
before they were all pressed and bolted in place. This is shown in Figure 3-17.
45
Figure 3-17: The tested gearbox assembly.
46
3.6 Small Parts
There are a few washer-like plates that are designed to be 2 mm thick. They were
made by first waterjetting 1/8" thick blanks with the rough geometry. Then they
were bolted to a jig plate to finish the outer and inner contours. Lastly, they were
countersunk to the proper depth as if they were 2 mm thick, then they were bolted
to a fixture and turned to thickness. The final parts are shown in Figure 3-18.
The wire clip, shown in Figure 3-19, was made by waterjetting a blank and drilling
and tapping the mounting holes on a mill afterwards.
47
Figure 3-19: The wire clip.
48
3.7 Outer Housings
The main outer housing piece started off as a large billet and had almost 95% of its
material removed by weight. It was made using the usual method of machining most
of the material in the first operation, and bolting it to a fixture plate to finish it. The
operations are shown in the following figures.
(a) The starting billet for the housing. (b) The fixture plate for the second operation.
Figure 3-20: The starting billet and fixture plate for the front housing.
(a) The result of the first operation. (b) The result of the second operation.
Figure 3-21: The results of the operation to machine the housing front.
49
Figure 3-22: Anodized housing assembly.
50
Figure 3-23: Completed prototype module.
51
3.8 Final Manufacturing
The main change to the design between the prototype and the production version
was to the outer housing. The flanged design where the housing bolts were located
towards the rear of the module was changed to a tapered design with the bolts located
in the center of the module. The bolt placement was changed to minimize the volume
swept when revolving the module, because it was designed to be used in serial linkages
in close proximity to each other. The addition of the sloping edge is so in the event
of a collision of the actuator with another object, the object is more likely to ride
along the edge rather than catching a flat face and damaging the module. The final
housing piece designs are shown in Figure 3-24 and Figure 3-25.
52
Figure 3-25: The rear housing.
The actuators cost around $650 a piece, without electronics, so the cost increase
seen by using a custom motor and crossed roller bearing is minimal for the smaller
quantity of these modules produced compared to the previous Mini Cheetah actuators.
53
54
Chapter 4
Results
55
Parameter New Module Mini Cheetah Module
Mass 630 g 480 g
Diameter (peak) 101 mm 96 mm
Width (peak) 38.5 mm 37.3 mm
KV 50 rpm/V 105 rpm/V
KT .19 N·m/A .09 N·m/A
Gear Ratio 6:1 6:1
Saturation Torque 34 N·m 17 N·m
Current at Torque Saturation ∼30 A ∼31 A
Continuous Torque 14.5 N·m 6.9 N·m
Continuous Current 12.6 A 12.6 A
Free Speed ∼42 rad/s @ 48V ∼40 rad/s @ 24V
Torque Density 54 N·m/kg 35 N·m/kg
Table 4.1: Motor module parameters
56
4.2 Encoder Data
The desire for a higher resolution encoder stems from our lab’s use of these motor
modules for bilaterally teleoperated setups. The limitation on stiffness of our lab’s
bilaterally teleoperated arms is dictated by stability of the controller. Each arm uses
a PD controller to try to match its position to the position of the other arm. With
high gains, the position encoder noise can be amplified and cause instability. These
higher resolution encoders, however, can allow for more stiffness of the arms as long
as noise is reduced.
In order to test the improvement in encoder noise as a result of increased resolution,
the relevant position and velocity data were sent from the motor controller to a Nucleo
F446 microcontroller over CAN, and then recorded in MATLAB over serial. Position
data is acquired by the motor controller over SPI directly from the encoder IC, and
the position data is differentiated at 40 kHz onboard. The 12-bit encoder data was
taken on the previous Mini Cheetah actuator and the 19-bit encoder data was taken
on the prototype module. Both modules utilize the same torque constant motor and
gear ratio, but have different drag and inertias. However, for this application, we care
about overall module performance and so the comparison was still useful.
The first tests were done with the motor controllers disabled to mitigate any
possible noise from motor control loop instability or driving characteristics. In order
to provide a velocity to the encoder, hex adapters were made so the output of the
two modules could be driven by a hand drill at a relatively constant velocity. The
adapters and setup are shown in Figure 4-1.
57
(a) The hex adapter on the prototype module.
(b) The hand drill test setup.
58
The data from this hand drill test is shown in Figure 4-2 and Figure 4-3.
20
Angle (rad)
15
10
0
0 0.2 0.4 0.6 0.8 1
Time (s)
26
Angular Velocity (rad/s)
24
22
20
0 0.2 0.4 0.6 0.8 1
Time (s)
Figure 4-2: Old encoder (12-bit) data taken with hand drill test.
59
New Encoder Spun by Hand Drill
25
20
Angle (rad)
15
10
0
0 0.2 0.4 0.6 0.8 1
Time (s)
26
Angular Velocity (rad/s)
24
22
20
0 0.2 0.4 0.6 0.8 1
Time (s)
Figure 4-3: New encoder (19-bit) data taken with hand drill test.
60
The plot records position and velocity data from the microcontroller at 1 kHz.
There is a noticeable high frequency ripple in the velocity data on the lower resolution
encoder. There is also some lower frequency ripple seen on both, possibly due to the
nature of the hand drill driving the module and so a new test was performed.
The next test for encoder data used the motor controller on the module to provide
a constant velocity or position command. The same gains were used on both modules
and so discrepancies in the plots are either due to noise or mechanical features.
Figure 4-4 and Figure 4-5 show the position and velocity data for the modules
driving at constant velocity. The high frequency velocity ripple seen in the hand drill
test with the low resolution encoder matches the high frequency velocity ripple seen
in the driven motor controller data for the low resolution encoder.
10
Angle (rad)
0
0 0.1 0.2 0.3 0.4 0.5
Time (s)
30
Angular Velocity (rad/s)
20
10
0
0 0.1 0.2 0.3 0.4 0.5
Time (s)
Figure 4-4: Old encoder (12-bit) data taken in constant velocity mode.
61
New Encoder Velocity Control 30(rad/s)
12
10
Angle (rad)
0
0 0.1 0.2 0.3 0.4 0.5
Time (s)
30
Angular Velocity (rad/s)
20
10
0
0 0.1 0.2 0.3 0.4 0.5
Time (s)
...
Figure 4-5: New encoder (19-bit) data taken in constant velocity mode.
62
There is a noticeable decrease in peak to peak velocity noise when switching to
the high resolution encoder. The low resolution encoder data showed variations of up
to 2 rad/s compared to 0.3 rad/s for the high resolution encoder. Additionally, the
new encoder has built-in position data filtering which could be tested in the future.
A similar order of magnitude decrease in velocity noise was shown in tests at 0
velocity commanded, with the old encoder having velocity ripple with a peak to peak
error of 0.4 rad/s and the new encoder showing a peak error of 0.04 rad/s. This is
shown in Figure 4-6 and Figure 4-7.
0.5
Angle (rad)
-0.5
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Time (s)
Angular Velocity (rad/s)
0.2
0.1
-0.1
-0.2
-0.3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Time (s)
Figure 4-6: Old encoder (12-bit) data taken with 0 velocity commanded.
63
New Encoder Velocity Control 0(rad/s)
1
0.5
Angle (rad)
-0.5
-1
0 0.1 0.2 0.3 0.4 0.5
Time (s)
Angular Velocity (rad/s)
0.2
0.1
-0.1
-0.2
-0.3
0 0.1 0.2 0.3 0.4 0.5
Time (s)
...
Figure 4-7: New encoder (19-bit) data taken with 0 velocity commanded.
64
One thing to note is that the position data for both encoders does have some noise
but this is not captured in the data. This is because of the way the motor controller
communicates over CAN. The motor controller uses 16 bits of data to represent the
position of the output of the module (past the gearbox) between -4𝜋 and 4𝜋 so this
binning of the output eliminates any noise on position when communicating over
CAN. However, the same effect does not eliminate velocity noise (in particular, on
the old encoder data) because it is still seen. Future tests could utilize new firmware
that uses more bits of resolution for position and velocity data.
Additional plots of position and velocity data in a typical application are shown
in Figure 4-8 and Figure 4-9.
0
0 0.1 0.2 0.3 0.4 0.5
Time (s)
25
Angular Velocity (rad/s)
20
15
10
-5
0 0.1 0.2 0.3 0.4 0.5
Time (s)
Figure 4-8: Old encoder (12-bit) data taken with a step response.
65
New Encoder Position Control Step Pi(rad)
3
Angle (rad)
0
0 0.1 0.2 0.3 0.4 0.5
Time (s)
25
Angular Velocity (rad/s)
20
15
10
-5
0 0.1 0.2 0.3 0.4 0.5
Time (s)
...
Figure 4-9: New encoder (19-bit) data taken with a step response.
66
4.3 Finite Element Analysis
As stated before, the alignment of the motor encoder magnet and the motor controller
is important in order to have proper motor control. Finite element analysis (FEA)
was done on the system to determine approximate magnet/encoder misalignment
for appropriate loading cases, with the allowable misalignments taken from the IC
datasheet. The actuator can be mounted in two ways; it can be mounted on the
output side (front side) or on the back side. The mounting bolt locations are shown
in Figure 4-10. It is recommended that the actuator is mounted on the output side in
order to shorten the load path, but the worst case back side mounting was designed
to be functional as well.
The maximum allowable radial and tangential displacement of the magnet and
encoder from the nominal position is 0.5 mm in each direction. Therefore the maximum
displacement of the location of the magnet is of interest. In order to decrease
simulation complexity, the model was simplified by only using the critical components
for analyzing the deformation. The crossed roller bearing is significantly stiffer than
the machined pieces it is fixed to and so it was omitted for this simulation. Axial
loading and torsional loading of the module when mounted from the output side and
back side were analyzed. The loading conditions are shown in Figure 4-11.
67
(a) Axial loading of the actuator output. (b) Torsional loading of the actuator output.
Figure 4-11: Loading conditions of the actuator output simulated using FEA.
All simulations showed a max displacement of the module of less than .3 mm,
with most being an order of magnitude or more below this. The worst case scenario
of mounting from the back side and applying a torque was still within the acceptable
range. Earlier FEA simulations were also used to aid in the design process by finding
areas of unnecessary stiffness or lack thereof relative to one another. The results of
some of the FEA simulations are shown in the following figures.
Figure 4-12 shows the module under axial loading when mounted in both mounting
configurations (front or back). Although the rear mounting did show a greater overall
max deflection, the greatest deflection seen at any point on the module in either
mounting configuration was orders of magnitude less than the max overall allowable
deflection of the magnet.
(a) Axial loading of the actuator output (b) Axial loading of the actuator output
when mounted from the front. when mounted from the rear.
68
Figure 4-13 shows the module under torsional loading when mounted in both
mounting configurations. The closest the module got to deforming in a nonsignificant
way was when torsionally loaded while mounted from the rear. However, the deflection
was still in an acceptable range for the magnet.
(a) Torsional loading of the actuator (b) Torsional loading of the actuator
output when mounted from the front. output when mounted from the rear.
69
70
Chapter 5
71
72
Bibliography
73
74