Skip to content
Snippets Groups Projects

2.47 Bio-Inspired Robotics Final Project

Presentation

Proposal



Simulation

q   = [\theta_1  ; \theta_2; x; y]; \\
\dot{q}   = [\dot{\theta}_1  ; \dot{\theta}_2; \dot{x}; \dot{y}];

Control

simulation/optimization

All torque control with bezier curves

hardware control

Get Bezier curve path of the leg from simulation/optimization and have an Impedance control (flight stage) and torque control (stance phase)


Optimization

Variables

Two Bezier curves for torques:

ctrl_1=[T_1,T_2,..T_n] \\
ctrl_2=[T_1,T_2,..T_n] \\
n=6 \\
-0.85<T_i<085

Starting Conditions:

ground \ height = -0.164; \\
\theta_1=-36*\pi/180; \\
\theta_2=90*\pi/180;\\
x=y=0\\
\dot{\theta}_1=\dot{\theta}_2= 0\\
\dot{x}=\dot{y}= 0\\

Constraints

x^{end}>=x^{start} \\
q_1^{end}=q_1^{start} \\
q_2^{end}=q_2^{start} \\
y^{end}=y^{start} \\

\dot{q}_1^{end}=\dot{q}_1^{start} \\
\dot{q}_2^{end}=\dot{q}_2^{start} \\
\dot{x}^{end}=\dot{x}^{start} \\
\dot{y}^{end}=\dot{y}^{start} \\

Objective Function

  1. First objective: maximize height h' to push it to go up, got the max x'
  2. Then I added to the constraints:
    apex \ height = h' \\
    x_{end}=x' \\
    and minimized cost of transport by minimizing:
    E/(m*g*d)
    which is the similar as minimizing sum of torque squared as m, g and d is fixed

Updates and Results

5 December








2 December






November 23

  • having trouble finding a gait
  • Added starting \dot{q_1}^{start},\dot{q_2}^{start},\dot{x}^{start},\dot{y}^{start} to the optimization variables
  • added q_1^{start} and q_2^{start} to the optimization variables
  • recently added tf as it changed the dynamics
  • Moving to casadi instead of fmincon (maybe the derivatives will help)
    • lots has to be changed as it does not support branching statements they have discontinuous derivatives, that affect the two functions discrete_impact_contact and joint_limit_constraint in simulate_leg.m
    • first the angle constraints has to be added as constraints
    • second the simulation has to be divided into three stages: stance flight and stance again. The tf of each of these stages will be come an optimization variable as well






November 12: First Hop




TODO and Questions

  • script to calculate before and after adding spring

  • Optimize with springs

  • get real physical variables

    • angle limits
    • masses
    • torques limits
    • the friction coefficients
  • try other starting conditions

  • is velocity calculation correct?

  • what if it torque not enough

  • for the control should T_1 = T_n (cyclical control?)

  • change bezier to lower dimensions to allow for sudden changes

  • check if angle calculation is correct

  • from last to to first

  • adding springs