A Low-Cost Modular 3D-Printed Proprioceptive Actuator for HRI

view this page in github with resources

Background: Motivation and Evolution

In my previous project, ‘Modular Cycloidal Actuator-based 4DoF Cooperative Robotic Arm’, featuring 27:1 gear ratio, fully 3D-printed cycloidal reducer and precise position control using nama17 stepper motor with a4988 motor driver. However, the lack of back-drivability of the actuators and torque-based control make my robotic arm significantly stiff, restricting Human-Robot Interaction(HRI).

To address this issue, I developed ‘A Low-Cost 3D-Printed Proprioceptive Actuator’, utilizing bldc drone motors, FOC controller for precise torque/position control and proprioceptive sensing of current of motor. And I designed Quasi-Direct Drive(QDD) reducer(low gear ratio reducer) and Impedance Control demonstrating high dynmaics, agility and compliance properties for HRI.


BLDC Motor

BLDC Motor Brushless DC (BLDC) motors are highly suitable for dynamic and agile robotic actuators due to their exceptional torque density, high velocity and acceleration, back-drivability, and proprioceptive sensing capabilities.

A BLDC Motor is composed of two main parts: the stator and the rotor. the stator produce a rotating electromagnetic field via a motor controller(ESC), and the rotor(permanent magnet) follows this field to produce rotation without any brushes like standard DC Motor.

This brushless design eliminates mechanical friction from brushes, leading to higher efficiency, longer lifespan and most importantly, the ability to estimate torque through current sensing—a key feature for proprioceptive control in legged robots.

Source: Etonm Motor

I optend for an Outrunner BLDC Motor because a larger air-gap radius allows the motor to produce higher torque. Since the air-gap radius is directly correlates with torque density. Thus this design is ideal for high-performance actuators. For more technical detials, please refer to my other post: Paper Review: ‘Design Principles for Energy Efficient Legged Locomotion and Implementation on the MIT Cheetah Robot’.”

Reducer

I was inspired by Mishin Machine-Wave Drive with Rolling Elements which is cycloidal-like reducer using ball-elements sharing as an open-source in Onshape. It’s compact, simplfied with a few components and robust.

Source: Mishin Machine

FOC Controller

I used FOC Controller, ‘drv8302 motor driver’ to control the BLDC Motor. Unlike standard Electric Speed Controller(ESC), FOC Controller enables position/torque control etc.

Source: SIROJU

Proprioceptive Sensing Capacity

In the Clark/Park Transform which is the one of the process of FOC Algorithm, Three phase current converted to two current state; d-axis and q-axis current. q-axis current is proportional to torque that the motor produce. Thus, external torque(perturbance) can be estimated by measuring q-axis current of the motor.

Experiment

The experiment is conducted by ‘Gartt ML5210 BLDC Drone Motor + DRV8302 + AS5600 Encoder + ESP-Wroom-32’ and scale is used for baseline to validate the accuracy of the proprioceptive actuator.

Evaluation

Evaluation of Proprioceptive Sensing Capacity

Approximately, the error is getting bigger as it produce higher torque.

CAN BUS Communication

I used TJA1051T to enable CAN BUS Communication which enables communicate between other controllers(MCU). This is essential for using multiple actuators system like locomotive & manipulator systems.

BOM & resources for 3 Types of Actuators (Basic, Lite and Enhanced)

1. QDD Actautor Basic


Actuator image 2
Actuator image 2

BOM of QDD Actuator Basic

Category Component Specification Qty Link
Motor & Drive BLDC Motor Sunnysky x4108s-17 1 View
Motor Driver DRV8302 1 View
Electronics Microcontroller ESP-WROOM-32 1 View
Magnetic Encoder AS5600 1 View
CAN Transceiver TJA1051T 1 View
Mechanical Gearbox 3D Printed Parts 1 set -
Ball Elements M6 x 6mm 10 View
Bearings 20 x 27 x 4 mm 3 View
Bearings 45 x 55 x 6 mm 1 View
Fasteners Bolts M3 x 30 mm 4 View
Bolts M3 x 20 mm 6 View
Bolts M2 x 10 mm 6 View
Insert Nuts M2 x 3 mm 6 View
Insert Nuts M3 x 3 mm 6 View
Insert Nuts M3 x 6 mm 6 View

2. Cycloidal QDD Actuator Lite


Actuator image 2
Actuator image 2

BOM of QDD Actuator Lite

Category Component Specification Qty Link
Motor & Drive BLDC Motor 5010 BLDC Motor 1 View
Motor Driver SimpleFOC Shield v2 1 View
Electronics Microcontroller Arduino Uno 1 -
Magnetic Encoder AS5600 1 View
CAN Bus None - -
Mechanical Gearbox 3D Printed Gearbox 1 set -

3. QDD Actuator Enhanced


Actuator image 2
Actuator image 2
Actuator image 2

BOM of QDD Actuator Enhanced

Category Component Specification Qty Link
Motor & Drive BLDC Motor Gartt ML5210 1 View
Motor Driver DRV8302 1 View
Electronics Microcontroller ESP-WROOM-32 1 View
Magnetic Encoder AS5600 1 View
CAN Transceiver TJA1051T 1 View
Mechanical Gearbox 3D Printed Parts 1 set -
Ball Elements M6 x 6mm 10 View
Bearings 20 x 27 x 4 mm 3 View
Bearings 45 x 55 x 6 mm 1 View
Fasteners Bolts M3 x 30 mm 4 View
Bolts M3 x 20 mm 6 View
Bolts M2 x 10 mm 6 View
Insert Nuts M2 x 3 mm 6 View
Insert Nuts M3 x 3 mm 6 View
Insert Nuts M3 x 6 mm 6 View

you can see more specific code at simplefoc documents




    Related Posts

    Here are some more posts you might like to read next:

  • [Part2] Planning for Interaction: The Trajectory Generation of End-Effector
  • [Part1] Beyond Position Control: The Philosophy of Interaction
  • Paper Review: "Sim-to-Real: Learning Agile Locomotion For Quadruped Robots"
  • Paper Review: "Demonstrating Berkeley Humanoid Lite: An Open-source, Accessible, and Customizable 3D-printed Humanoid Robot"
  • Paper Review: "Design Principles for Energy Efficient Legged Locomotion and Implementation on the MIT Cheetah Robot"