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

Visual SLAM 구역, SLAM구 ROS 패키지 설계 및 FSM 설계

BrainKimDu 2023. 3. 7. 18:54

FSM은 정의와 다를 수 있습니다.
 
 

회의록
Visual SLAM 부분 ROS 패키지 설계

하나의 센서가 정보를 topic 발행 (input) → 그 정보를 구독을 해서 가공 (output)
비쥬얼슬램이 안된다는 가정하에 만들어지고 있습니다.
-된다면 가능한 것은 SLAM 맵이 생성됩니다.
그 전까지는 미리 만들어진 MAP을 참고하여 진행합니다. (global map)
토픽으로 해야합니다. 움직임이 스무스하지않다. (스무스한 움직임을 위해 토픽을 해야함)
목적지 설정 → 경로 생성 → image정보 토대로 경로 수정 → 경로따라 가기 이 사이에 object detection으로 장애물 검출시 회피.
 
ROS 설계를 위한 input output 정의

센서 Input

  • RGB-d (영상정보) (유선연결이라 ROS가 아니지 않나요?)

노트북Input (제작해서 보내야할 정보)

  • RGB-d 에서 주는 거리정보를 통해 장애물의 거리를 인식 (노드, 메시지)
  • (처리) 세그멘테이션 차선정보 결과 (노드, 메시지)
  • YOLO 신호등 결과 (노드, 메시지)
  • 맵정보 (Rtab-map) , 로컬라이제이션

노트북 Output (로봇의 input)

  • 경로 판단 알고리즘 3개의 메시지를 구독해서 왼쪽차선변경, 오른쪽차선변경, 직진 , 정지, 유턴 판단 (노드) → 동적 장애물인지 정적 장애물인지 판단 알고리즘이 들어갈 수도 있음.
  • 로컬라이제이션 모니터링으로 들어가는 (위치 파악을 꾸준히 해줄수있다)

로봇의 Output (모니터링)

보류
 
 
FSM

Fsm도 야매지만 그려보고


팀원이 설계한 ros 패키지 설계 visual SLAM 내용은 빠져있다.

 

 

SLAM 구역도 회의 후 FSM을 첨부합니다.

1단계 SLAM(라이다로 SLAM했다) → 2단계 자율주행 (Nav2 경로생성 알고리즘 짰다)

  • 2대가 움직일거고, 각각2개의 목적지를 들렸다 와야합니다. ← 난이도 높아요

센서 Input

  • 라이다
  • 초음파
  • Encoder (odometry용)
  • 카메라 (아르코마커용 - 보류)

로봇Input (제작해서 보내야할 정보)

  • 라이다 정보, 초음파로 장애물 판단
  • 엔코더랑 라이다로 자기위치정보 판단
  • 경로 생성 알고리즘
  • 특이사항은 ROS 로봇 2대 그러면 서로의 토픽이름 겹치면 어떻게되는지 namespace로 구분하면 끝 걱정없음
  • 서로 위치 정보를 쏘아야하는가? (고민) 안할수도 있고

로봇 Output (로봇의 input)

  • 자신의 위치정보(라이다, 오도메트리)와 Nav2 경로 정보

경로 생성 알고리즘

구간을 나눠서 접근하는 코드가 필요합니다.