ㅇ 프로젝트/TEAM_실내외배송로봇

7. 비상회의를 소집하다.

BrainKimDu 2023. 3. 6. 01:57

모든 문제를 정리하자면

기획을 1주간 진행했고 (중간에 강의실이 바뀌는 이슈가 있었다.)

유비쿼티와 터틀봇에 가져다 버린 시간이 1주가 되어버렸다.

 

그래서 결국 남은 시간은 14일정도

그 중에서도 3일은 수업이 예정되어 있는 상태이다.

그렇게 비상회의를 소집하고 나서 팀원들과 제작을 위해서 어떻게 할 것인지 다시 정리하고 

빨리 구현가능한 것부터 진행하고자 하였다.

 

 

솔직히 터틀봇을 만지는 팀원들과 나도 그렇고, 완벽한 ROS 패키지를 만들기 위해 노력하는 팀원도 있었고

RtabMap을 통해 Visual SLAM을 구현하고자 하는 팀원도 그렇고, 관제를 구현하는 팀원도 그렇고

이 모든 것이 완성되려면 2주도 안되는 시간은 너무나도 부족한 시간이 되어버렸다.

 

그래서 서로간의 진행상황을 확인하고, 버릴 것은 버리고 만들 수 있는 것은 빨리 만들자는 이유로 회의를 진행했다.

그래서 빨리 구현해야할 것에만 인원을 배치하고 이제 더이상의 시간을 낭비하면 안된다.

 

그래서 주말을 제외하고 실제적으로 구현에 가능한 시간은 7일..

그래서 SLAM관제팀과 Visual SLAM 팀의 현재 플로우를 다시한 번 알리고 그들과의 의견을 조율했다.

 

그렇게 정리된 회의결과이다.

Visual SLAM 작성 (노트북이 곧 라즈베리파이의 역할)

  • 중앙차선은 장애물이 있을시에 차선변경을 해서 넘어갈 수 있어야하고 바깥차선은 절대 넘을 수 없다. (Image Segmentation)
  • Rtabmap으로 앞의 장애물 파악 (예. 공사중) 일정 거리에서 돌아가게끔 해야한다. 옆에 Landmark를 얻을 수 있다. (안될 경우 Aruco marker를 사용)
  • 신호등 (YOLO)
  • 시작점, 목적지 ( 갈림길 넣을지말지 landmark인식해서 좌회전할지말지)

어떤걸 만들고 싶은지

  1. URDF부터였지만 이미 있다
  2. 제어코드를 짜야한다. (ft. 추론결과) 사용자 정의 message type정하고, topic어떤걸 만들지, node는 어떤 기능을 하고 어떤식으로 주고받을지를 짜야한다.
  3. aruco marker를 포착하면 자율주행 코드를 끄고 arucomarker앞에 pose 맞춰서 주차(충전하러가는거임 암튼그럼)
  • RGB-D (Realsens 435)로 Rtabmap (1순위) 다음주 목금내로 끝내기
  • 노트북을 터틀봇에 올려둘거라면, 공유기로 터틀봇 라즈베리파이와 노트북을 그냥 연결하는 겁니다. 유선~으로 [얼마전 로봇팔 했었던것 처럼]
  •  

SLAM 및 관제 코드작성 (경로생성, )

  • 2대 들어가
  • 4개의 목적지를 받으면 두대가 갈수있는 최적의 경로를 만들고 거기로 둘다 들렀다 오게끔하는게 맞지않아??
  • 라이더로 장애물탐지 후 멈추거나 회피
  • 강의실 전체부터 들어오는거 다해서 할꺼임
  • 파라미터를 수정해야함 (있지도않은 벽은 없애려구) 이 논문 읽고 해결하면된다고함 navguide.pdf (kaiyuzheng.me) (공부가많이될거라고하네요)

 

문제점

  • 모터의 PID가 몬가몬가 이상하다
  • Fleet Management 할 시간이 아직은 부족할 것 같다. (시간되면하자)

아쉽게도 Fleet Management는 일단 모니터링이라도 제대로 구현하는 것으로 축소되었다. 그리고 교통을 모니터링하는 알고리즘을 일단 경험해본다. (아쉽게도 이부분도 장애물로 탐지를 해야한다)

 

 

 

일정 정리

그래서 정리하면, 우선 이전글에서 작성한 핑크봇 모터의 문제를 우선 고쳐야한다. 월요일까지 이를 손봐야한다.

 

프로젝트 데드라인

성공적인 프로젝트 진행을 위한 데드라인이며, 자신 있는 것을 2개 고릅니다.


관심 분야로 인원이 이미 배정된 Task

(관심이 없으면 꼭 언급을 해주세요.)

Task 1 : RGB-D Camera를 활용한 RtabMap 으로 Visual SLAM 결과물 제시 (2인인)

  • 3월 10일 금요일까지
  • 난이도 ☆★★★★
  • 팀장 : 
  • 특이사항 : 이미지 처리에 관한 흥미가 필요함, output을 정리해주어야함.
  • 특이사항 2 : 3월 13일 월요일까지 결과가 나오지 않으면 버려야함.
  • 장애물 탐지 및 렌드마크 탐지 알고리즘 및 ROS상에서 메시지로 발행하는 코드 작성
    • 3월 15일 목요일까지
    • 난이도 ☆★★★★
    • 팀장 : 미정

Task 2 : Visual SLAM(실외) 로봇의 ROS 패키지 설계 및 FSM 설계 (3인)

  • 중요한 특이사항 : 이게 안되면 프로젝트 자체가 불가능하니 최대한 빨리 끝내주어야함.
  • FSM 설계 ROS 패키지 설계를 편하게 하기 위함
    • 3월 7일 화요일까지
    • 난이도 : ☆☆☆★★
    • 팀장 : 
    • 특이사항 : FSM 설계의 경우 프로젝트 흐름만 알고있다면 가능, 다음의 이미지를 참고
    •  
  • Visual SLAM(실외) 로봇의 ROS 패키지 설계 (가장 급하고 가장 중요)
    • 3월 8일 수요일까지
    • 난이도 : ☆★★★★
    • 팀장 : 
    • 특이사항 : 프로젝트의 모든 input, output을 이해해야함. ROS의 노드, 메시지 통신의 이해가 필요함. 다음의 이미지를 참고
    •  
    • 특이사항 2: 완성 후 강사님께 꼭 검증을 받아야함.

Task 3 : 내부 로봇의 FSM 설계 및 ROS 패키지 설계 (3인)

  • 중요한 특이사항 : 이게 안되면 프로젝트 자체가 불가능함.
  • FSM 설계 ROS 패키지 설계를 편하게 하기 위함
    • 3월 8일 수요일까지
    • 난이도 : ☆☆☆★★
    • 팀장 : 
  • SLAM(실내) 로봇의 ROS 패키지 설계 (가장 급하고 가장 중요)
    • 3월 9일 목요일까지
    • 난이도 : ☆☆★★★
    • 팀장 : 
    • 특이사항 1. : 프로그램의 모든 input, output을 이해해야함. ROS의 노드, 메시지 통신의 이해가 필요함.
    • 특이사항 2. : Minibot 패키지는 이미 만들어져 있기 때문에 서로간의 메시지만 정의하면됨 ROS를 이해해보고 싶다면 내부로 지원
    • 특이사항 3: 완성 후 강사님께 꼭 검증을 받아야함.

Task 4 : 언리얼 엔진을 통한 ROS simulation 결과물 제시 (2인)

  • ROS simulation 결과물 제시 (시간 없으면 건너 뛰어도됨)
    • 3월 8일 수요일까지
    • 난이도 : ☆☆★★★
    • 팀장 :
    • 특이사항 : 오로세 세미나에서 보았던 내용을 구현해보자는 내용
  • Localization 된 로봇의 위치정보와 경로정보를 ROS를 통해 받아 화면에 출력하기
    • 3월 17~20일까지
    • 난이도 알수없음
    • 팀장 : 
    • 특이사항 : 발표전까지만 구현되면 된다.

밑의 Task 는 ROS 패키지 설계 팀이서포트 해줄 것이나.

관심 있는 Task 를 한가지 골라서 병행해주셔야합니다.

Task 4 : 차선 인식 및 중앙점으로 경로를 생성하는 코드 작성 (3 인)

  • 차선인식 이미지 segmentation 모델 개발
    • 3월 9일 목요일까지
    • 난이도 : ☆☆★★★
    • 팀장 : 모델 제작의 경우 :
    • 특이사항 : 라벨링의 경우 모두 참여
  • 중앙점 경로 생성 알고리즘 개발 (가장 급하고 가장 중요)
    • 3월 14일 화요일까지
    • 난이도 : ☆☆★★★
    • 팀장 : None
    • 특이사항 : Task 2팀이 알고리즘은 짜줄 수 있음. Nav2 를 활용하여 차선의 중앙점을 검출하고, 가장 가까운 지점에 원을 찍어 이동하는 코드를 개발해야합니다.
  • 터틀봇의 하드웨어적 특성 이해 및 구현
  • 모니터링 정보(Localization)를 ROS상에 지속적으로 전송

Task 6 : YOLO 를 통한 신호등 탐지 및 ROS topic 발행 (2인)

  • 신호등 제작 (완료) 및 YOLO detection 하기 (렌드마크도 추가될 가능성 있음)
    • 3월 10일 금요일까지
    • 난이도 : ☆☆☆☆★
    • 팀장 : None
    • 특이사항 : 라벨링까지 하면 얼마 안걸린것으로 생각됨
  • ROS 상으로 YOLO detection 정보 ROS 상으로 전송
    • 3월 15일 수요일까지
    • 난이도 : ☆☆☆★★
    • 팀장 : None
    • 특이사항 : YOLO detection 결과 및 상대적인 거리 정보를 보내야함.-
  • 모니터링 정보(신호등 정보)를 ROS상에 지속적으로 전송

Task 7 : 핑크봇 경로생성 알고리즘 작성 (3 인)

  • Nav2를 이용하여 긴 경로를 짧게 나누어 수행하는 코드 작성 (중요)
    • 3월 15일 수요일까지
    • 난이도 : ☆☆☆★★
    • 특이사항 : 강사님의 강의자료 참고 가능함.
  • SLAM에서 발생하는 문제로 파라미터를 수정해야함.
    • 3월 15일 수요일까지
    • 난이도 : 영어 잘하는 사람의 도움이 필요함
    • 특이사항 navguide.pdf (kaiyuzheng.me) 해당 논문을 해석해서 팀원들에게 전파해주어야함.
  • 핑크봇의 모터 문제 수정하기 (슬램)
    • 슬렉에도 올린 내용이지만 이거 수정이 되어야함.
    • PID 제어에 대한 이해 및 모터의 하드웨어적 특성을 이해해야함.
  • 모니터링 정보(Localization, 교통흐름 정보)를 ROS상에 지속적으로 전송

성공적인 ROS 프로젝트라면 문제 없이 돌아갈 것.. (디버깅)

3월 16~19일 안으로 마무리 및 시연영상을 찍어야함

Task 8 : 모든 Task 통합 코드 구현 (6~8인) (중요)

  • 작성된 모든 코드를 하나로 구현하는 과정
  • 난이도 ☆☆★★★
  • 팀장 : 팀원 모두
  • 상시로 진행되며, 하나의 코드가 ROS topic 으로 발행되거나 서비스 메시지를 보내는 과정을 검증하는 역할을 수행합니다.

특이사항 : 깃헙을 애용합시다.