the experimental robot project

51
Introduction Walking from simulation . . . . . . to reality The eXperimental Robot Project Felix “darthrake” Schneider Norbert Braun {felix,norbert}@xrpbot.org 31c3 2014-12-27 Felix Schneider, Norbert Braun XRP

Upload: others

Post on 14-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

The eXperimental Robot Project

Felix “darthrake” Schneider Norbert Braun{felix,norbert}@xrpbot.org

31c32014-12-27

Felix Schneider, Norbert Braun XRP

Page 2: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

1 Introduction

2 Walking from simulation . . .Rigid Body DynamicsContactControl strategyDemo

3 . . . to realityBLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Felix Schneider, Norbert Braun XRP

Page 3: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

XRP: Goals

The eXperimental Robot Project

Life-size humanoid robot

Focus on legs (walking), arms and hands will come (much)later

Fully free (open source, open hardware), transparentdevelopment process

Goal: state-of-the-art software, hardware optimized forcost/manufacturability

Felix Schneider, Norbert Braun XRP

Page 4: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Why humanoids?

Wheels ideal in dedicated environment (streets), otherwisefairly limited

Human environments made for humans, wheels are reallylimiting (wheelchair!)

Service robots

Disaster recovery

The real reason: they are cool. . .

Felix Schneider, Norbert Braun XRP

Page 5: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Other projects

Progress on humanoids appears to be heating up

Big company players (Boston Dynamics, Schaft Google)extremely secretive

University projects more, but still not fully, open

Exisiting robots cost ≥ 100 ke (our goal: few ke)

Physics-based character animation is a hot topic atSIGGRAPH (but usually not on physical hardware)

Felix Schneider, Norbert Braun XRP

Page 6: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Simulation: Introduction

Simulate robot using simplified physics models

Goal: develop controllers

Goal: evaluate actuation requirements

Goal: inform design choices

Use dedicated dynamics toolkit plus external engine (OpenDynamics Engine: ODE, http://www.ode.org/) forverification

Felix Schneider, Norbert Braun XRP

Page 7: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Rigid Body Dynamics

How to simulate a robot?

Rigid body:

Non-deformable (no flexing, vibration, etc.)

Details of mass distribution condensed into10 parameters

6 degrees of freedom

Next step up in realism: soft body

Complete details of massdistribution/stiffness/etc. matter

Infinitely many degrees of freedom

Simulation by finite element methodWikipedia

Felix Schneider, Norbert Braun XRP

Page 8: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Robot model

x

z

y

0

0

Side view

y

z

x

0

0

Front view

LR

Pelvis/torsoHip (HZ, HY, HX)

Thigh

Knee (KY)

Shank

Ankle (AY, AX)Foot

Felix Schneider, Norbert Braun XRP

Page 9: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Why is walking a hard problem?

Industrial Robot vs. Biped

TU Munich

Felix Schneider, Norbert Braun XRP

Page 10: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Why is walking a hard problem?

Industrial Robot vs. Biped

TU Munich

Felix Schneider, Norbert Braun XRP

Page 11: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Industrial Robot vs. Biped

Main difference

Industrial Robot: Base bolted to ground

Biped: stance leg only kept in place by friction

Industrial Robot: one actuator per degree of freedom

“Any” trajectory can be followed

Biped: reaction forces on stance foot not directly controllable

Intrinsic dynamics matter

No longer “any trajectory possible”

Felix Schneider, Norbert Braun XRP

Page 12: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Demo: trajectory tracking is not enough!

Demo time!

Felix Schneider, Norbert Braun XRP

Page 13: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Contact forces: normal component

Contact is a complicated microscopic phenomenon

Contacts are (usually) non-sticky!

Normal component of contact force: F(n)c ≥ 0.

Fg

Fc

Fres = 0

Fg

Fup

Fc

Fres = 0

Fg

Fup

Fres > 0

Felix Schneider, Norbert Braun XRP

Page 14: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Multiple contacts: the center of pressure

Consider multiple contact points xi :

x1 x2

x3x4

(top view)

F(n)1 F

(n)2

x1 x2

(side view)

Define center of pressure as weighted average of contact points.

Felix Schneider, Norbert Braun XRP

Page 15: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Center of pressure (2)

CoP is average of contact points,weighted by contribution to normalcomponent of contact force.

xc =

∑i xiF

(n)i∑

i F(n)i

Rewrite as:

xc =∑i

αixi , αi =F(n)i∑i F

(n)i

F(n)i > 0 implies 0 ≤ αi ≤ 1.

x1 x2

x3x4

xc

xc must lie inside rectangle!

Felix Schneider, Norbert Braun XRP

Page 16: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Center of pressure (3)

CoP seems to depend to microscopic details of contact ⇒ useless.However:

Sum all contact forces into total contact force and torque:

F =∑i

Fi , T =∑i

xi × Fi

Let n be the normal vector and coordinate origin in the contactplane. Then:

xc =n × T

n · F

Felix Schneider, Norbert Braun XRP

Page 17: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Center of pressure (4)

Stance foot stationary ⇒ contact forces compensate reactionfrom robot body

Necessary conditions for real contact:

F (n) ≥ 0xc inside foot (convex hull for multiple feet)

Sufficient for no-slip (Coulomb friction with µ→∞)

Usually sufficient in practice

Felix Schneider, Norbert Braun XRP

Page 18: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Naive walking revisited

0 1 2 3 4 5t [s]

0.8

0.6

0.4

0.2

0.0

0.2

0.4

0.6

0.8

CoP

[m]

Center of pressureCoP_xCoP_y

Felix Schneider, Norbert Braun XRP

Page 19: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Control strategy

Focus on contact forces

Imagine: robot floating in space

Linear and angular momentum conserved

Conservation of linear momentum implies that center-of-masstrajectory cannot be influenced

Robot on ground: Total linear and angular momentum canonly be changed through contact forces

Linear/angular momentum change ⇔ Contact forces

Felix Schneider, Norbert Braun XRP

Page 20: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Control strategy (2)

Simplifying restriction: L = L = 0 (total angular momentumzero)

Contact forces fully determined from center of mass trajectory(joint angle trajectories do not matter!)

Specify 6 contact forces via L = 0 (3 eqn.), center of pressure(2 eqn.), zcom(t) (1 eqn.)

Solve boundary value problem to find center of mass trajectory

Idea from PhD thesis of T. Buschmann (TU Munich)

Felix Schneider, Norbert Braun XRP

Page 21: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Control strategy (3): Demo

0.0 0.5 1.0 1.5 2.0 2.5 3.0t [s]

0.05

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

CoP

[m]

Center of pressurecenter of pressurecenter of gravity

Felix Schneider, Norbert Braun XRP

Page 22: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Control strategy (4)

x

t

x0, x0xf

tf

We have 3 boundary conditions x0, x0, xf for a second orderdifferential equation

Add CoP trajectory modification to get remaining DoF

Modification may violate CoP constraint

Sometimes, you need to take a sidestep . . .

. . . but usually, this approach works.

Felix Schneider, Norbert Braun XRP

Page 23: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Control strategy (5)

Use inverse dynamics to control contact forces and trackcenter of gravity trajectory

Two cases:

One leg on the ground: control contact force plus swing legacceleration

Two legs on the ground: control two contact forces

Each gives 12 equations for 12 joint space degrees of freedom.

Felix Schneider, Norbert Braun XRP

Page 24: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Demo #1: Walking on flat ground

Demo time!

Felix Schneider, Norbert Braun XRP

Page 25: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Demo #2: Unmodelled uneven terrain

Demo time!

Felix Schneider, Norbert Braun XRP

Page 26: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Demo #3: Modelled uneven terrain

Demo time!

Felix Schneider, Norbert Braun XRP

Page 27: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Curves

3.5 4.0 4.5 5.0 5.5 6.0 6.5t[s]

2.0

1.5

1.0

0.5

0.0

0.5

1.0

1.5

2.0

2.5

φ

Stance SwingJoint angle

HZHYHXKYAYAX

3.5 4.0 4.5 5.0 5.5 6.0 6.5t[s]

20

15

10

5

0

5

10

15

20

ω[s−

1]

Stance SwingJoint velocity

HZHYHXKYAYAX

3.5 4.0 4.5 5.0 5.5 6.0 6.5t[s]

150

100

50

0

50

100

τ[N

m]

Stance SwingJoint torque

HZHYHXKYAYAX

3.5 4.0 4.5 5.0 5.5 6.0 6.5t[s]

200

150

100

50

0

50

100

150

200

250

P[W

]

Stance SwingJoint power

HZHYHXKYAYAX

Felix Schneider, Norbert Braun XRP

Page 28: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Control strategy: summary

Control strategy based on contact force management

+ Reasonable performance

o Foot positions fixed in advance

+ Can be used by higher-level controller, e.g. for climbing stairs− Limits options for push recovery (cannot take sidesteps)

− L = 0 causes excessive torso motion and forces unnaturalwalking style

Felix Schneider, Norbert Braun XRP

Page 29: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

XRP dynamics toolkit

General-purpose physics engine: forward dynamics only

Treat physics as black box: inefficient

Dynamics algorithms, specialized for our robot model

Analytical inverse kinematics for 6-DoF legs

Forward dynamics

Inverse dynamics

Contact force prediction/management

Open source, alpha release soon

Reference: R. Featherstone: Rigid Body Dynamics Algorithms(Springer 2008)

Felix Schneider, Norbert Braun XRP

Page 30: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

Rigid Body DynamicsContactControl strategyDemo

Long term prospect: optimization

Hand-crafted controllers OK for simple walking

Approach breaks down for complicated movements

Design movements by large-scale numerical optimization

Good way to use (still) increasing computational power

Many interesting results in simulation (SIGGRAPH)

Few results on physical robots: Why?

Felix Schneider, Norbert Braun XRP

Page 31: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Actuation requirements

Ballpark estimates:

Peak joint torque: ∼ 100 Nm

Peak velocity: ∼ 20 rad/s

Peak power: ∼ 250W (per DoF)

Mainstream option: BLDC motor

Felix Schneider, Norbert Braun XRP

Page 32: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Motor

Cheap 30$ 2kW BLDC RC Motor

Weight: ∼ 500g

Slightly overpowered but has only270KV

→ 849 rad/s @ max. voltage

Torque: 3.15 Nm @ max. current(calculated)

⇒ Required gear reduction ratio: ∼ 1:50

Felix Schneider, Norbert Braun XRP

Page 33: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

BLDC controller

RS485controller

3 phaseinverter

Mencoder

R/C BLDC controllers not intended for servo applications.

Own BLDC controller features:

Encoder based

Space vector modulation (3 phase AC phase-locked to motorrotation)

Communication via RS485

Felix Schneider, Norbert Braun XRP

Page 34: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

BLDC: power stage

Re-use power stage from 120AR/C BLDC controller

Add 2 hall effect current sensors(ACS759)

Felix Schneider, Norbert Braun XRP

Page 35: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

BLDC: results

position control (PID): step response

0 2 4 6 8 10t [s]

20000

15000

10000

5000

0

5000

10000

15000

20000

pos

[a.u

.]

pos_realpos_des

Felix Schneider, Norbert Braun XRP

Page 36: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Rotation Sensors

Austria Microsystems AS504x/AS5311

Magnetic hall effect sensors

AS504x: 12 bit (4096 steps/rev) absolute

AS5311: 128 pole ring, 10/12 bit interpolation

Combine both for 17 bit (0.003◦) absolute sensor

About 10$/sensor, 5$/magnet

Quadrature output

Problems:

Nonlinearity?

Sampling

Felix Schneider, Norbert Braun XRP

Page 37: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Gear Requirements

Ballpark estimates:

Peak joint torque in order of 100 Nm

Motor torque ∼ 2 Nm

Needed reduction ∼1:50

Options left:

Gearing: Harmonic Drives, Planetary Gears

Linear actuators: Ball screws, Planetary Roller Screws

Felix Schneider, Norbert Braun XRP

Page 38: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Comparsion

Planetary Gear Harmonic Drive

Speed - +

Efficiency 3% loss per stage 87%

Backlash - ++

Costs + - -

Weight - ++

Felix Schneider, Norbert Braun XRP

Page 39: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Motor Testbed

Felix Schneider, Norbert Braun XRP

Page 40: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Motor Testbed

Static load: up to 100Nm

2 Ports for axial and linear actuators

Destructive video material will be on our blog . . .

Felix Schneider, Norbert Braun XRP

Page 41: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

TUlip

Humanoid robot, realized atEindhoven/Delft/Twente university

120cm, 15kg

Uses series elastic actuation (resultingbandwidth: 5-10 Hz)

Brushed motors (Maxon RE30, 60W)

Planetary gears (Maxon GP32)

Predecessor named Flame

TU Eindhoven

Felix Schneider, Norbert Braun XRP

Page 42: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

TUlip: Kinematic concept

6 DoFs per leg: 3 hip, 1 knee, 2 ankle

Hip Joint has 2 axis in 1 plane

Third axis is in the torso

Ankle roll axis is passive (spring)

TU Eindhoven

Felix Schneider, Norbert Braun XRP

Page 43: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Video #1: Flame Demo Video

Video time!

Source: www.youtube.com/watch?v=7JU zQkVOiI

Felix Schneider, Norbert Braun XRP

Page 44: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Lola

Humanoid robot, realized at TU Munich

180cm, 55kg

25 DoF total, 7 DoFs per leg

Predecessor named Johnny Walker

TU Munich

Felix Schneider, Norbert Braun XRP

Page 45: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Lola: Actuation concept

Brushless motors (PMSM)

Harmonic Drives (hip joint, toe joint)

Planetary Roller Screws used as linearactuator (knee, ankles)

TU Munich

Felix Schneider, Norbert Braun XRP

Page 46: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Lola: Kinematic concept

7 DoFs per Leg

Comparable to TUlip

Additional toe joint

All joints are active

Hip z axis is tilted against xy plane

TU Munich

Felix Schneider, Norbert Braun XRP

Page 47: The eXperimental Robot Project

IntroductionWalking from simulation . . .

. . . to reality

BLDC motorsSensorsGears and ActuatorsMotor TestbedOther Projects

Video #2: Lola Demo Video

Video time!

Source: www.youtube.com/watch?v=P4Y41Ago3cg

Felix Schneider, Norbert Braun XRP

Page 48: The eXperimental Robot Project

CameraCurrent status/Outlook

Camera system

Felix Schneider, Norbert Braun XRP

Page 49: The eXperimental Robot Project

CameraCurrent status/Outlook

Camera system

Scientific camera based on Apertusproject

CMOSIS CMV2000 sensor

Global Shutter

2k resolution, up to 340fps, up to 12bit

All design files:http://github.com/xrpbot/cmv 2000 hardware

Felix Schneider, Norbert Braun XRP

Page 50: The eXperimental Robot Project

CameraCurrent status/Outlook

Current status/Outlook

Preparatory phase: simulation, study exisiting designs

Workshop mostly set up: milling machine (Deckel FP2), smallCNC lathe, electronics

Biggest challenge: actuation concept

Ready to start construction after gear question is solved

Felix Schneider, Norbert Braun XRP

Page 51: The eXperimental Robot Project

CameraCurrent status/Outlook

Thank you!

http://xrpbot.org

. . . or meet us at C4 assembly (Chaos West)!

Felix Schneider, Norbert Braun XRP