Transcript

Progress Toward a Robotic Bat: Modeling, Design, Dynamics, and Control

Alireza Ramezani, Xichen Shi, Jon Hoff,

Soon-Jo Chung, Seth Hutchinson

Jon Hoff (Ph.D student)

Swartz & Breuer, Co-PI’s at Brown University

Bio-inspired flapping flight

Safe Quiet Energy efficient

Overview

Objectives

Robot Morphology

Reduced-order flight apparatus

Modeling

Trajectory planning

Nonlinear and non-affine-in-control tracking problem

Results

Simultaneous kinematics/trajectory design

Future works & conclusion

Maybe a bit overly optimistic...

B2: Robot Morphology Five Degrees of Actuation:

Wings flapping motion

Wing folding and unfolding

Legs dorsoventral movement

B2: Robot Morphology Articulated Flight Mechanism

Reduced-order flight apparatus Biologically meaningful DoFs

Retraction-protraction

Flexion-extension

Abduction-adduction

Leg Mechanism: Elevation-depression

B2: Robot Morphology Autonomy

Computer

Encoders

Power Electronics

IMU

Data Storage

Bat Configuration Pose, Actuated and Unactuated Joints

π‘ž = (π‘₯, 𝑦, 𝑧, πœ™, πœƒ, πœ“, π‘žπ‘, π‘žπ‘Ž)

Center of Mass Position

Body Frame Orientation

(Euler Angles)

Passive Joints

Active Joints

πœ’ = π‘₯, 𝑦, 𝑧, πœ™, πœƒ, πœ“, π‘žπ‘π‘‡

It will be convenient to bundle the unactuated degrees of freedom:

π‘ž =πœ’π‘žπ‘Ž

Nonlinear Model Aerodynamic and constraint forces

β„³ π‘ž π‘ž + π’ž π‘ž, π‘ž π‘ž + 𝒒 π‘ž = π’¬πœ† + 𝒬ℱ

𝒬ℱ = Generalized Aerodynamic Forces

π’¬πœ† = πœ•π‘žπ‘Ž

πœ•π‘ž

π‘‡πœ† = Constraint Forces (kinematic)

πœ•π‘žπ‘Ž

πœ•π‘ž= Jacobian for actuated joints

= [0 | πΌπ‘π‘ŽΓ—π‘π‘Ž]

Nonlinear Model In unactuated and actuated coordinates

We can now partition the system dynamics into unactuated coordinates πœ’ and actuated coordinates π‘žπ‘Ž:

β„³1 β„³2

β„³3 β„³4

πœ’ π‘ž π‘Ž

+π’ž1 π’ž2π’ž3 π’ž4

πœ’ π‘ž π‘Ž

+𝒒1𝒒2

=πœ•π‘žπ‘Žπœ•π‘ž

𝑇

πœ† + 𝒬ℱ

which can be written as:

πœ’ π‘ž π‘Ž

=β„³1 β„³2

β„³3 β„³4

βˆ’1

βˆ’π’ž1 π’ž2π’ž3 π’ž4

πœ’ π‘ž π‘Ž

βˆ’π’’1𝒒2

+πœ•π‘žπ‘Žπœ•π‘ž

𝑇

πœ† + 𝒬ℱ

Trajectory planning Parametrized manifolds

β€’ Define π‘Ÿπ‘‘ 𝑑, 𝛽 as the desired trajectory of the actuated joints.

β€’ The desired trajectory is parameterized by 𝛽, which includes, e.g., flapping frequency, flapping amplitude, etc.

β€’ If the actuated joints follow the desired trajectory, the system state will evolve on the manifold:

𝑆 = π‘ž, π‘ž ∈ 𝒯𝒬 | 𝒩 = 0 with

𝒩 = π‘žπ‘Ž βˆ’ π‘Ÿπ‘‘(𝑑, 𝛽)

Our design goal is to define the desired trajectory π‘Ÿπ‘‘(𝑑, 𝛽) so that trajectories in 𝑆 satisfy appropriate performance criteria.

Trajectory planning Constrained dynamics

Parametric Manifold:

𝒩 = 0 with

𝒩 = π‘žπ‘Ž βˆ’ π‘Ÿπ‘‘(𝑑, 𝛽)

We now have two equations governing the system dynamics.

Lagrangian Dynamics:

πœ’ π‘ž π‘Ž

=β„³1 β„³2

β„³3 β„³4

βˆ’1

βˆ’π’ž1 π’ž2π’ž3 π’ž4

πœ’ π‘ž π‘Ž

βˆ’π’’1𝒒2

+πœ•π‘žπ‘Žπœ•π‘ž

𝑇

πœ† + 𝒬 β„±

This formulation is prone to numerical difficulties due to computations of derivatives...

Trajectory planning Constraint manifold revisited

β€’ To ameliorate numerical issues, we consider position, velocity and acceleration constraints:

𝒩 + πœ…1𝒩 + πœ…2𝒩 = 0

β€’ Computing derivatives (applying the chain rule w.r.t. π‘žπ‘Ž), we obtain:

π‘ž π‘Ž =πœ•π’©

πœ•π‘žπ‘Ž

βˆ’1

βˆ’πœ…1𝒩 βˆ’ πœ…2𝒩 βˆ’πœ•2𝒩

πœ•π‘‘2 βˆ’

πœ•

πœ•π‘žπ‘Ž

πœ•π’©

πœ•π‘žπ‘Žπ‘ž π‘Ž π‘ž π‘Ž

This gives an expression for the dynamics of π‘žπ‘Ž in terms of the desired trajectory π‘Ÿπ‘‘ 𝑑, 𝛽 .

Trajectory planning Constrained dynamics revisited

Parametric Manifold:

π‘ž π‘Ž =πœ•π’©

πœ•π‘žπ‘Ž

βˆ’1

βˆ’πœ…1𝒩 βˆ’ πœ…2𝒩 βˆ’πœ•2𝒩

πœ•π‘‘2 βˆ’

πœ•

πœ•π‘žπ‘Ž

πœ•π’©

πœ•π‘žπ‘Žπ‘ž π‘Ž π‘ž π‘Ž

with 𝒩 = π‘žπ‘Ž βˆ’ π‘Ÿπ‘‘(𝑑, 𝛽)

We now have two equations governing the system dynamics.

Lagrangian Dynamics:

πœ’ π‘ž π‘Ž

=β„³1 β„³2

β„³3 β„³4

βˆ’1

βˆ’π’ž1 π’ž2π’ž3 π’ž4

πœ’ π‘ž π‘Ž

βˆ’π’’1𝒒2

+πœ•π‘žπ‘Žπœ•π‘ž

𝑇

πœ† + 𝒬 β„±

Given a parameterized trajectory π‘Ÿπ‘‘ 𝑑, 𝛽 , 𝛽, and initial conditions π‘ž 𝑑0 , π‘ž (𝑑0), we can compute the evolution of the unactuated states πœ’.

Trajectory planning Gradient-based optimization

Given the constrained system dynamics, we use a shooting-based approach to optimize the choice of desired trajectory:

β€’ Enforce periodicity in appropriate coordinates of π‘ž. β€’ Ensure stability. β€’ Ensure that the unactuated coordinates πœ’ satisfy

constraints on flight performance. β€’ Minimize expended energy.

This is achieved by β€’ numerically integrating the system dynamics β€’ numerically calculating the gradient of the objective

function to find periodic and feasible solutions β†’ Matlab’s fmincon

can be written as

β„³1πœ’ + π’ž1πœ’ = βˆ’β„³2π‘ž π‘Ž βˆ’ π’ž2π‘ž π‘Ž βˆ’ 𝒒1 + 𝒬ℱ,1 since the Jacobian is zero for the unactuated degrees of freedom.

The unactuated system dynamics given by the top row of

β„³1 β„³2

β„³3 β„³4

πœ’ π‘ž π‘Ž

+π’ž1 π’ž2π’ž3 π’ž4

πœ’ π‘ž π‘Ž

+𝒒1𝒒2

= 0 𝐼

πœ† +𝒬ℱ,1𝒬ℱ,2

Nonlinear Control The unactuated system dynamics

The trajectory design gives a desired trajectory for both πœ’ and π‘žπ‘Ž. Since π‘žπ‘Ž concerns the actuated coordinates, we formulate our tracking problem in terms of the unactuated coordinates πœ’.

Nonlinear Control Non-classic tracking problem

When the constraints 𝒩 are satisfied, we have

π‘ž π‘Ž = πœ•π‘Ÿπ‘‘πœ•π‘‘

+πœ•π‘Ÿπ‘‘πœ•π›½

𝛽

π‘ž π‘Ž =πœ•2π‘Ÿπ‘‘πœ•π‘‘2

+πœ•

πœ•π›½

πœ•π‘Ÿπ‘‘πœ•π›½

𝛽 𝛽 +πœ•π‘Ÿπ‘‘πœ•π›½

𝛽

π‘žπ‘Ž = π‘Ÿπ‘‘

We use a calculus of variations approach to update 𝛽, to give the resulting equivalent dynamics:

β„³1πœ’ + π’ž1πœ’ = βˆ’β„³2πœ’ π‘Ÿ βˆ’ π’ž2πœ’ π‘Ÿ βˆ’ πœ… πœ’ βˆ’ πœ’ π‘Ÿ

with πœ… a positive definite gain matrix, and πœ’π‘Ÿ a defined reference trajectory.

The actuated coordinates in terms of control input 𝛽

Nonlinear Control Contraction theory

These equivalent dynamics converge exponentially to a predefined desired trajectory πœ’π‘‘ when

πœ’ π‘Ÿ = πœ’ 𝑑 βˆ’ Ξ› πœ’ βˆ’ πœ’π‘‘

since the equivalent dynamics can be written as

β„³1𝑠 + π’ž1𝑠 + πœ…π‘  = 0 for

𝑠 = πœ’ βˆ’ πœ’ π‘Ÿ

From trajectory planning optimization

7-DoF Flapping Model Tailless flapping robot

Degrees of Freedom Flapping

Feathering

Parasagital pitch

Vertical Elevation (z)

Horizontal Position (x)

Control Inputs

Right flapping angle

7-DoF Flapping Model Parametric trajectory

Doman, Oppenheimer, Bolender, Sightorsson, β€œAttitude control of a single degree of freedom flapping wing micro air vehicle,” AIAA GNC Conf. 2009.

𝛽 βˆ’ Flapping frequency and amplitude, feathering angle, etc.

Right feathering angle

7-DoF Flapping Model Simulation

Pit

ch a

ngl

e tr

acki

ng

th

e d

esir

ed a

ngl

e

Feat

her

ing

angl

e

Aerodynamic forces Center of pressure velocities

7-DoF Flapping Model Simulation

This approach relies on a parameterized desired trajectory, and fairly simple wing kinematics... Perhaps we could do better

Bio-Inspired Design Simultaneous optimization of kinematic design and wing trajectory

The Challenge: Design a simplified kinematic model that is capable of achieving wing shapes similar to biological bat throughout wingbeat cycle.

The biological bat has many degrees of freedom, but it is not yet completely understood how these degrees of freedom are coupled to effect wing motion.

Motion capture data can be analyzed to obtain a principal component analysis of the wing shape.

This facilitates comparison between robot and biological bat.

P. Chen, S. Joshi, S. Swartz, K. Breuer, J. Bahlman, G. Reich, β€œBat Inspired Flapping Flight,” AIAA SciTech, 2014.

π‘žRP

π‘žFE

π‘žAA

π‘žDV

π‘₯s

π‘žFL 𝑙

Optimize link lengths and angle offsets

Robot Bat

Hind Limb

Wing Optimize joint trajectories

Kinematic Parameters

π‘žRP

π‘žFE

π‘žAA

π‘žDV

π‘₯s

π‘žFL

𝛾1 𝛾2

𝛾3

𝛾4

β„Ž1

β„Ž2

β„Ž3

π‘Ÿ2

𝑑1

𝑑2

𝑑3

π‘Ÿ

𝑙

𝑏

𝑦

𝑦

Actuated DOF in RED Black are the results of movement Grey are constant angles

Joint Variables: β€’ π‘žRP: Retraction-protraction (shoulder angle) β€’ π‘žFE: flexion-extension (elbow angle) β€’ π‘žAA: abduction-adduction (wrist angle) β€’ π‘žFL: flapping angle wrt. xy plane β€’ π‘žDV: dorsoventral movement of hind limb β€’ π‘₯: spindle position

Ten Link Parameters: β€’ β„Ž1: humerus β€’ β„Ž2: humerus β€’ β„Ž3: humerus β€’ π‘Ÿ2: radius β€’ π‘Ÿ: wrist β€’ 𝑑1: finger 1 length β€’ 𝑑2: finger 2 length β€’ 𝑑3: finger 3 length β€’ 𝑏: body length β€’ 𝑙: hind limb length

Four Angle Parameters: β€’ 𝛾1, 𝛾2, 𝛾3, 𝛾4

Optimization Iterative optimization of flapping parameters and kinematic parameters

Iteratively optimize

flapping angle trajectory

spindle trajectory

link lengths and offset angles

hind limb trajectory

Optimization Criteria:

β€’ Minimize Euclidean distance between selected makers on the biological bat and the corresponding locations on the robot bat.

Preliminary Results β€’ Solid diamonds are biological bat

data.

β€’ Open circles are for the optimized robot bat design.

Future Work: β€’ Use wing shape instead of marker

locations β€’ Use Principal Components β€’ Parametric, periodic shape

descriptors β€’ Incorporate into robot design β€’ Incorporate into trajectory

planning

Concluding Remarks

Kinematic design – passive and active joints

Nonlinear dynamics – many unactuated degrees of freedom

Actuated degrees of freedom define a manifold on which the system dynamics evolve

Design actuator inputs to define this manifold, which shapes the system dynamics

Design a nonlinear control to track the desired unactuated dynamics

Preliminary results on 7 dof simulation

Simultaneous kinematics/trajectory design

Undergraduate Researchers

Graduate Researchers

Principal Investigators Postdoc