1. 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)
2. Swartz & Breuer,
Co-PI’s at Brown University
Bio-inspired
flapping flight
Safe
Quiet
Energy efficient
3. 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...
4. B2: Robot Morphology
Five Degrees of Actuation:
Wings flapping motion
Wing folding and unfolding
Legs dorsoventral movement
8. 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:
𝑞 =
𝜒
𝑞 𝑎
10. 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
+
𝜕𝑞 𝑎
𝜕𝑞
𝑇
𝜆 + 𝒬ℱ
11. 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.
12. 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...
13. 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 𝑟𝑑 𝑡, 𝛽 .
14. 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 𝜒.
15. 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
16. 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 𝜒.
17. 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 𝛽
18. 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
19. 7-DoF Flapping Model
Tailless flapping robot
Degrees of Freedom
Flapping
Feathering
Parasagital pitch
Vertical Elevation (z)
Horizontal Position (x)
Control
Inputs
20. 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
22. 7-DoF Flapping Model
Simulation
This approach relies on a parameterized desired trajectory, and fairly
simple wing kinematics... Perhaps we could do better
23. 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.
25. 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
26. 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.
27. 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
28. 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