[KABOAT2021] 2021.09.20.~10.03. 주간일지

한은기·2021년 10월 4일
0

Competition) KABOAT2021

목록 보기
8/10

2021.09.24.금

  1. 회로 정비 및 비상스위치 고정
  2. 도킹 개선 방향 회의
  • cv_bridge가 cmake 할 때의 에러를 이리저리 해결해봄
    • boost_37 등 CmakeList.txt 등의 파일을 바꾸어봐도 계속 버전 관련 오류가 남
    • 다른 방법을 생각하던 중, 거리에 따른 boundingbox의 크기를 계측해 선형함수로 나타내는 방법을 고안함 --> 카메라가 위쪽 중간 쪽에서 boundingbox를 잡을 때 각각을 구함

2021.10.04.월

  1. 선체 페인트칠 및 프레임&단자함 고정
  2. 단자함 내 회로 최적화 및 비상스위치 고정
  3. 아두이노와 컨트롤러의 일시적 오류 해결
  4. 카메라 고정 설치
  5. 도킹 오류 해결
  • cv_bridge를 단순히 catkin_ws에서 삭제했으나 catkin_make 중에 갑자기 realsense-ros에서 오류가 났음. 원래 cmake를 할 때 cvbrdige를 임포트하지만 그게 파일이 cw에 없다고 해서 나는 오류는 아닌 것 같음(cv_bridge 임의 설치 전에도 되었으니까)
  • 일단 cv_bridge 패키지를 다시 다운을 받음 -> git hub에서 ROS 버전에 따른 브랜치를 다운 받아야 함!!!
  • 그랬더니 catkin_make 때 cv_bridge 관한 오류 안 나고 잘 되었음!!
  1. 도킹 미션 depth 구하기 및 Fuzzy 제어와 합치기
  • 바운딩박스 크기를 이용한 도킹 코드
    • 대회 시 사용될 타켓의 크기는 각 변이 70cm이나 우리는 50cm로 거리별 박스 크기를 계산함. 만약 이 코드를 쓴다면 비례하여 상수를 곱해주고 대회 기간에 테스트가 필요함
    • 오류의 반복 및 반복 및 반복이었음
    • 자잘한 실수를 고치고 삽질 하니 어느 순간 오류 없이 돌아감
    • 생각보다 거리를 정확히 잡아냈음
  • cv_bride를 사용한 도킹 코드
    • 카메라 콜백과 다크넷 콜백 사이에 초기 시간차가 발생하여 roslaunch 시 오류가 발생했으나, 숫자 변경과 함수 변경 등으로 해결함
    • 그 외 자잘한 실수 교정했음
    • 처음엔 죽어도 안 되다가 밥 먹고 와서 다시 고치니까 되는 거 뭔데...
  • 두 가지 방법이 잘 작동하나, cv_bridge 를 이용해 직접 depth를 사용하는 것이 정확할 것이므로 후자의 방법을 사용할 것
  • fuzzy 제어와 합침 : 처음엔 fuzzy제어 클래스만 반복을 하다가, 특정 gps 범위(원)을 지나가면 docking 클래스만 반복하도록 함
  • 다크넷 로스에서 터미널로 프린트하는 hz가 너무 높아 우리쪽 프린트가 안 보임 -> 또 다른 노드를 만들어 거기서 print 시키도록 추가
  1. 모든 종목 field test
  • RC: 당연히 잘 됨. 전기 모터 단 줄
  • 호핑: 당연히 잘 됨. 감탄을 그치 못함. 속도 제어가 들어가, 목적지까지 빠른 속도로 갔다가 회전할 때만 속도 줄여서 부드럽게 턴. 예술임
  • 자율운항: 퍼지 제어가 귀신 같이 작동함. 벽도 잘 피함. 역시 예술임
  • 도킹
    • 선 기준으로 여기 넘으면 도킹이다, 하는 것이 아니라 특정 점 원 안에 들어와야 하는 것이라 꼭 그 근방을 지나야 fuzzy->docking으로 바뀜
    • threshold=0.7이기 때문에 엄청 가까이 와야 정확도가 확보되고 타겟을 잡음. 낮춰야 할 필요 있음
    • 라이다 값 받아서 장애물 회피하는 부분에서 오류가 남. 고쳐야 할 듯
    • servo 값이 +- 수식이 이상한 듯. 왼쪽으로 가야 하는데 94 이상이라던지
    • 도킹 스테이션을 어떻게 피해야 하는가에 대한 논의가 있었음
    • 현재는 LEFT/CENTER/RIGHT가 있어 센터가 아니면 서보 값을 주면서 이동시키는데, 이런저런 논의 결과 모든 마크 3개가 다 잡히기만 한다면 지금 코드도 잘 돌아갈 것 같았음. 센터가 아니면 아주 천천히 직진하면서 서보값을 주어 헤딩을 돌리는 걸로 함.
    • 실제 도킹 스테이션을 기준으로 화각 90도가 확보되는 거리를 계산해본 결과 threshold만 낮추면 얼추 인식할 것 같음
    • 장애물(도킹 스테이션) 피하기는 나중으로 미뤄둠 일단. 스테이션을 박더라도 들어가기만 하면 되므로
    • 도킹 스테이션의 필드 테스트는 2m 앞에서 세 개의 마크를 들고 있고 가상의 스테이션 입구로 배가 왔으면 잘 들어온 걸로 간주하는 식으로 진행하면 될 듯
profile
🏫Inha Univ. Naval Architecture and Ocean Engineering & Computer Engineering (Undergraduate) / 🚢Autonomous Vehicles, 💡Machine Learning

0개의 댓글