Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

2.47-final-project

  • Amira Abdel-Rahman's avatar
    Amira Abdel-Rahman authored
    756ea253
    History

    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