adaptivePID 제어(미완)

PID_2.py

현재까지 진행 사항

제어

1.종제어

  1. 방식 : Relative distance를 통한 PID control ⇒ Relative distance를 통한 Adaptive PID control

  2. 진행

PID Adaptive PID
코드 설계 O O
코드 테스트 O O
필드 테스트 O X
디버그 필요성 X O
예외 처리 필요 O O
  1. 소요시간 : 3일

  2. 진행방향 : PID control과 Adaptive PID control 성능 비교, 배열을 통한 출력값 확인 및 학습률,

계수 재설정

*PID control의 경우 필드테스트 시 예외 상황에 대한 처리가 필요함

  1. 횡제어

    1. 방식 : bounding box 중심 좌표로부터 떨어진 x 좌표의 크기, Relative distance를 통한 각도(degree) 계산, 조향값(1300 ~ 1800 : -25도 ~ 25도) 비례 제어

    2. 진행

    P 제어 PID 제어
    코드 설계 O O
    코드 테스트 O O
    필드 테스트 X X
    디버그 필요성 X O
    예외 처리 필요 X O
    1. 소요시간 : 2일 (+ 각도 구하는 방식에 대한 토의)

    2. 진행방향 : P제어와 PID제어 성능 비교, 필드 테스트 (실제 상황에서 각도값이 이상적으로 나올지 미지수), steer default 값이 우회전으로 쏠리는 현상 해결

  2. Adaptive PID control

    1. 방식 : 기존 PID control과 다르게 gain값을 스스로 보정해가는 프로세스

    2. 진행 : 논문 분석 및 수식 정리 코드 설계

    3. 소요시간 : 3일

    4. 진행방향 :

    코드 테스트 과정에서 값에 논리적인 오류가 있는 것 같아 수정필요. 에러 처리 개선,

    미분항 및 gain 재확인 필요

ROS

  1. 데이터 송신(speed, steer, gear, brake값 넣어주기)

    1. 방식 : 기존에는 gui를 이용하는 방식이었는데, ROS를 이용한 노드 간 통신을 구현

    2. 진행 : publisher 노드 + subscriber 노드 구현 + 차량과 연결하여 통신 되는지 확인 + 종제어 코드에서 받아온 속도값을 publisher노드에서 연산을 하여 차량에 넣어주어 작동하는지 확인

    3. 소요시간 : 3일....????? 더걸렸던 것 같기도 하고

    4. 진행방향 : clear...

  2. 데이터 수신(imu를 이용하여 V_in값 받아오기)

    1. 방식 : imu 센서로 측정된 가속도 값을 속도 값으로 바꾸어 주는 과정을 거친 후, ROS를 이용해 그 값을 V_in에 받아오는 방식

    2. 진행 : 가속도 값을 속도 값으로 바꾸는 코드 설계(완), imu 초기 설정 및 ROS 환경으로 값 받아오는 부분 구현

    3. 소요시간 : not yet..

    4. 진행방향 : imu 초기설정, ros 환경 구축 등 진행해야 할 과제가 많습니다아아아

    Untitled

    ros에서 받아온 시간값과 x가속도 값을 변수로 놓고 적분 코드 실행하면 되는 부분입니다.

    EBIMU24GV5+CASE (EBMotion V5센서,무선 AHRS 모션센서,자이로3축,가속도3축,지자기3축)