jc-bao / policy-adaptation-survey

This repository is for comparing the prevailing adaptive control method in both control and learning communities.
Apache License 2.0
7 stars 1 forks source link

Roll/pitch rate controller issue. #24

Closed jc-bao closed 1 year ago

jc-bao commented 1 year ago

Problem

Cannot control the yaw angle to zero. (green line)

image

Currently, the lower-level attitude rate controller is running L1 adaptive control.

The yaw angle controller is:

        rpy_drones = geom.quat2rpy(self.quat_drones)
        yaw_drones = rpy_drones[..., [2]]
        vy_target = - yaw_drones * 10.0

(can not use tilt-prioritized controller since no target angle in other dimensions. )

Peek 2023-04-27 10-52

jc-bao commented 1 year ago

check1: attitude rate controller precision

image

The attitude rate in yaw is relatively more precise than other dimensions.

jc-bao commented 1 year ago

thoughts: can we switch to the attitude controller?

This would bypass the yaw control problem.

jc-bao commented 1 year ago

possible solutions

  1. use RL to control the yaw angle. -> more burden in sim2real and RL training
  2. implement the attitude controller -> less agile.
jc-bao commented 1 year ago

2D case test

Learned policy: :heavy_check_mark: 2d

jc-bao commented 1 year ago

Run yaw controller at 500Hz

image

Peek 2023-04-28 21-05