GitHub

https://github.com/steeze1213

로보테크AI

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/07/01

steezer 2026. 7. 1. 18:30

※아직 최종 코드 + 웹, 대시보드 반영 안됨

PACK 최종 발표 — 시나리오 & 화면 구성(1차)


멘토링 피드백 → 반영 내역

멘토링 피드백 반영 위치 / 방식
"기존 산업 자동화 한계"에 근거 2·3번 추가는 몰입도 저하 Slide 3 개요 — 문제의식 1개로 압축, 강조
개요 폰트 강조(크게·고딕) 공통 디자인 가이드 + Slide 3 명시
핵심 동작 시나리오에 '이동' 포함, 이탈은 예외 시나리오로 분리 Slide 5 동작 시나리오 — 정상 흐름에 편대 이동 포함, 이탈=예외 트랙
아키텍처가 위-아래만 말고 상호연결·데이터 흐름을 화살표로 Slide 4 아키텍처 — 화살표에 데이터 라벨 + 로봇 간 상호연결선 + 서버연동 유무
팀 역할을 기술 뒤(끝)로, 일정과 함께, 주·보조 구분 Slide 12 — 일정+팀역할 통합, 주/보조 표기 (기술 강조 팀이라 기술 뒤 배치)
일정 더 체계화 Slide 12 — 단계·기간·산출물·마일스톤 구조화
고찰 내용을 더 늘려라 Slide 11 설계 고찰 신설/확대
아쉬운점·발전할 점 스토리 길게("발견이 큰 수확") Slide 14 — 회고 스토리 확대
(기획) 팔로워가 따라갈 이유 + 몇 대까지? Slide 9 — 추종 목적·N대 확장·고장 시 순번 대체
추종방식: 마커(B) 주력 + A/C 병행, 파라미터로 전환 Slide 9 — 추종 전략(A/B/C)
MQTT는 서버 거치지 말고 모듈 간 처리(서버 끊겨도 동작), 브리지보다 직접 TCP Slide 11 — 통신 설계 고찰
서버 연동 유무(받는/못받는) 경우를 계산 Slide 4 / 11 — 서버 의존성 명시

발표 개요

항목 내용
주제 PACK — 리더 로봇팔 피킹 + F1/F2 군집 추종 운반, 다중 로봇 협업
총 슬라이드 15장
시간 약 7분 발표 + 시연 3~5분
핵심 메시지 "고정형·단일 로봇의 한계를 이동하며 협업하는 다중 로봇으로 넘는다"
딥네이비+화이트, 포인트 컬러(주황=피킹 / 시안=추종)

스토리라인 (동작 중심)

문제(딱 하나로 압축)컨셉(집는 리더 + 나르는 편대)어떻게 움직이나(정상 동작 시나리오, 이동 포함)핵심 기술 5설계 고찰(왜 이렇게)일정·팀시연성과·발견·향후

시간 배분

  • 도입(표지~동작시나리오) 2분 · 핵심기술 5개 3.5분 · 고찰 0.5분 · 일정·팀 0.5분 · 시연 별도 · 마무리 0.5분

Slide 1 — 표지

  • 화면 구성: 중앙 PACK 로고 + 부제. 배경 딥네이비, 하단 로봇 편대(터틀봇+팔+추종차 2대) 라인아트. 우하단 팀/과정/일자.
  • 텍스트: PACK (Pick · Arm · Carry Kit) / 부제 "집는 리더 + 나르는 군집, 다중 로봇 협업 시스템" / 로보테크 AI 2기 · 팀 PACK(4조)
  • 구두: "물건을 집는 로봇과, 그걸 나르는 로봇들이 협업하는 시스템 PACK을 소개합니다."

Slide 2 — 목차

  • 화면 구성: 좌 인덱스(01~06), 우 챕터명.
  • 목차: 1) 개요 2) 아키텍처 & 동작 시나리오 3) 핵심 기술 ①~⑤ 4) 설계 고찰 5) 일정 & 팀 6) 시연·성과
  • 구두: "개요와 동작 원리, 핵심 기술, 그리고 설계에서 얻은 고민들 순으로 말씀드리겠습니다."

Slide 3 — 프로젝트 개요 (배경 & 목표) ★몰입 압축

  • 화면 구성: 상단에 큰 고딕 한 문장으로 문제 제기(강조). 그 아래 해결 컨셉 1줄 + 개념 일러스트(리더 집기 → 편대 운반). 곁가지 근거는 넣지 않음.
  • 문제의식(딱 하나, 크게): "고정된 설비·로봇 한 대로는, '집기'와 '나르기'를 동시에 감당할 수 없다."
  • 해결 컨셉: 리더가 이동하며 집어 싣고, 군집(F1·F2)이 이어받아 나른다 → 역할 분담 협업
  • 구두 시나리오: "산업 자동화의 핵심 병목은 하나입니다. 한 대가 집는 일과 나르는 일을 동시에 하려니 비효율적이라는 것. 저희는 이 둘을 분리했습니다."
  • 디자인 노트: 문제 문장 폰트 최대·볼드·고딕. 근거 나열(2·3번) 금지 → 몰입 유지.

Slide 4 — 시스템 아키텍처 ★데이터 흐름 + 상호연결

  • 화면 구성: 중앙 구성도. 세 노드(리더 / F1 / F2)를 배치하되 위아래 일렬이 아니라 편대 형태로 두고 선으로 상호 연결. 각 화살표에 흐르는 데이터 라벨을 반드시 표기.
    • 리더: 카메라 → 색검출/ArUco → 피킹로직 → [MQTT: pack/arm/cmd] → 게이트웨이 → [Serial: 채널·각도] → 서보
    • F1: 카메라 → aruco_node → [/f1/aruco_multi_markers: 마커 코너] → relative_pose → [/f1/relative_pose: x,y,yaw] → follow_node → [/f1/robot_cmd: w/a/s/q/e] → 4WD
    • 로봇 간 화살표(라벨 포함): 리더 후면 마커 → F1 추종, /f1/relative_pose(리더 pose)F2 추종
    • 서버(선택) 노드: 점선 연결 + 라벨 "미션 전달만 / 없어도 하위 자율 동작" ← 서버 의존성 명시
  • 배지: "TurtleBot → F1 → F2 편대", "마커 우선 + 맵 보조"
  • 구두 시나리오: "화살표마다 어떤 데이터가 흐르는지 표시했습니다. 리더는 MQTT로 팔 명령을, 추종 차량은 ROS2 토픽으로 위치와 주행 명령을 주고받습니다. 로봇들은 위아래로만 연결된 게 아니라, 앞차의 위치를 뒤차가 구독하는 식으로 서로 연결됩니다. 서버는 미션만 내려주고, 끊겨도 하위에서 자율로 동작하도록 설계했습니다."

Slide 5 — 핵심 동작 시나리오 ★이동 포함 / 이탈=예외

  • 화면 구성: 가로 정상 동작 플로우(좌→우) + 하단에 분리된 예외 트랙.
    • 정상 시나리오(한 줄로 쭉): ① 리더 물건 앞 정렬 → ② 로봇팔 인식·파지·후면 적재 → ③ 편대 이동(리더 주행, F1·F2 추종) → ④ 목적지 도착·하역
    • 예외 시나리오(아래 별도 트랙, 색 구분): 추종 이탈/마커 소실 → 맵 보조 측위로 복귀 or 자동 정지
  • 구두 시나리오: "정상 동작은 이렇게 흐릅니다. 집고 → 싣고 → 편대로 이동하고 → 내려놓습니다. 이동이 핵심 동작에 포함됩니다. 그리고 앞차를 놓치는 '이탈'은 정상 흐름과 분리해, 예외 상황으로 따로 처리합니다 — 맵으로 복귀하거나 안전 정지합니다."
  • 디자인 노트: 정상=실선 굵게, 예외=하단 점선 트랙. 이동 아이콘(바퀴/궤적) 강조.

[수행 경과] 핵심 기술 ①~⑤

Slide 6 — 핵심 기술 ① 로봇팔 제어 & 자동 피킹

  • 화면 구성: 좌 로봇팔 사진(6DOF·채널 라벨), 우상 제어체인 미니도식(MQTT→게이트웨이→아두이노→PCA9685→서보), 우하 피킹 시퀀스 5컷.
  • 포인트: 6DOF(FT330M·MG996R 서보 6개, PCA9685) / MQTT 무선 제어(ESP-01 시도 후 전환) / 펌웨어 안전(각도-펄스, 안전범위, FK 충돌가드, 긴급정지) / auto_pick 좌·중·우 3물건 → 후면 적재
  • 결과: 3물건 자동 피킹·적재 성공
  • 구두: "리더의 팔은 MQTT로 무선 제어합니다. 관절 충돌 가드와 긴급정지를 넣었고, 세 물건을 순서대로 집어 뒤에 싣습니다."

Slide 7 — 핵심 기술 ② eye-in-hand 비전 피킹

  • 화면 구성: 좌 검출 결과 이미지(주황 물건 박스+cx), 우 "왜 → 어떻게" 2단.
  • 포인트: 주차 오차를 흡수하려 집게 카메라(eye-in-hand) + 주황 HSV 색검출(YOLO 대비 경량, 물건을 직접 디자인) / 색 중심(cx)을 베이스 회전으로 정렬(비주얼 서보) / 시야각 한계 → 손목 자세 재설계로 해결 중
  • 결과: 색검출 16Hz 안정, 3물건 스캔→순차 파지 통합 진행
  • 구두: "주차가 틀어져도 팔이 스스로 잡도록 집게에 카메라를 달아, 주황 물건을 화면 중심에 오게 정렬한 뒤 집습니다."

Slide 8 — 핵심 기술 ③ ArUco 맵 측위 (PnP + 엔코더 융합)

  • 화면 구성: 좌 마커 맵 시각화, 우 측위 파이프라인 도식(+ 가능하면 'PnP만 vs 융합' 궤적 비교).
  • 포인트: 벽면 마커 맵(50+개, 85mm)멀티마커 solvePnP 절대위치 / 견고화(다단계 검출, 재투영오차 이상치 제거, 마커수 신뢰도 가중, 단일마커 range-bearing, 안전 재측위) / 마커 미검출 시 엔코더 오도메트리(둘레 0.21·트랙 0.23·3600cnt) 융합
  • 결과: 마커 유무와 무관하게 끊김 없는 위치 추정
  • 구두: "차량은 벽 마커 여러 개를 한꺼번에 풀어 위치를 구하고, 안 보이면 엔코더로 이어 추정해 흔들림 없이 위치를 잡습니다."

Slide 9 — 핵심 기술 ④ 군집 추종 & 추종 전략 ★기획 고찰 반영

  • 화면 구성: 상단 편대 다이어그램(리더→F1→F2, 간격 라벨), 중단 추종 FSM 상태도, 하단 추종 방식 비교표(A/B/C).
  • 포인트 (동작): 앞차 후면 마커 우선 + 안 보이면 맵 보조, 펄스 FSM으로 간격(0.09~0.11m) 유지, 타임아웃 시 자동 정지
  • 왜 따라가나 / 몇 대까지: 운반 용량·분업 확장이 목적. F2가 F1의 pose(/f1/relative_pose)를 리더로 삼는 구조라 N대 확장 가능. 몇 번 뒤에 붙을지 파라미터화F1 고장 시 F2가 순번 대체 같은 유연 설계.
  • 추종 방식 전략(A/B/C):
    방식 성격 활용
    A. SLAM/맵 자율주행 범위 넓음, 정밀도↓ 단순 이동 구간
    B. 마커(ArUco/QR) 추종 안정·범용(주력) 대부분 구간 + 도킹
    C. 라인 트레이싱 정밀하나 인프라 부담(경로 훼손 취약) 정밀 도킹 등 국소
    - 결론: B를 주력으로, 구간별로 A/C를 파라미터로 전환. 현업 관례(SLAM+QR/라인: 단순이동=SLAM, 정밀=마커/라인)와 정렬.    
  • 구두 시나리오: "차량들이 줄을 섭니다. 마커를 우선 보고 놓치면 맵으로 보조하죠. '왜 따라가나'는 운반을 분업·확장하기 위해서고, 구조상 차량을 더 붙일 수 있으며 몇 번 뒤에 설지도 파라미터로 바꿉니다 — 1번이 고장나면 2번이 대신 갑니다. 추종 방식은 안정적인 마커를 주력으로, 필요 구간엔 SLAM이나 라인을 섞도록 설계했습니다."

Slide 10 — 핵심 기술 ⑤ 시스템 통합 & 인계(handoff)

  • 화면 구성: 시퀀스 다이어그램(리더 정렬 → 피킹 → 후면 적재 → F1 정밀 도킹 → 편대 운반 출발).
  • 포인트: 두 서브시스템을 잇는 핵심 = 인계. 접점 기술 = 정밀 정렬(비전 피킹+도킹) + 로봇 간 트리거/상태 공유(MQTT↔ROS2). 현황: 서브시스템 각각 동작, 인계 마무리 단계.
  • 구두: "리더가 실은 물건을 F1이 정확히 받아 편대가 출발합니다. 이 인계가 프로젝트의 핵심이자 지금 마무리 중인 부분입니다."

Slide 11 — 설계 고찰 (왜 이렇게 만들었나) ★고찰 확대 / 통신 설계

  • 화면 구성: 2~3개 '결정 카드'(고민 → 선택 → 이유/트레이드오프). 아이콘 강조.
  • 고찰 1 — 통신 구조 (MQTT): 현재는 명령을 상위에서 처리. 더 나은 방향은 모듈이 MQTT로 발행 → 다른 모듈이 구독해 하위에서 자율 처리서버가 끊겨도 응답 대기 없이 동작, 서버는 미션만 전달하고 결과만 회신. → 실무 신뢰성↑.
  • 고찰 2 — 브리지 vs 직접 통신: 외부 통신에 ROS2 bridge를 썼지만, 받을 수만 있다면 단순 TCP 직결이 더 빠름. 현장에선 펌웨어–주행모듈 직접 연결이 지연·장애에 유리. (MQTT 채택 시 이 지연을 감안)
  • 고찰 3 — 서버 의존성: 서버 받는 경우/못 받는 경우를 모두 설계에 반영해야 함 → 하위 자율 동작을 기본값으로.
  • 구두 시나리오: "설계하며 얻은 고민을 공유합니다. 통신을 서버 중심으로 두면 서버가 끊길 때 멈춥니다. 그래서 모듈끼리 MQTT로 직접 주고받아, 서버 없이도 하위에서 동작하게 하는 편이 낫다는 걸 배웠습니다. 또 외부 통신도 브리지보다 단순 TCP 직결이 빠른 경우가 많아, 현장에선 펌웨어와 주행 모듈을 직접 잇는 방향이 유리합니다. 이런 '어떻게 하면 더 나았을까'가 큰 수확이었습니다."
  • 디자인 노트: 트러블슈팅(낙하 사고 → watchdog·재측정)도 여기 1카드로 합쳐 '성장 서사'로.

Slide 12 — 개발 일정 & 팀 역할 ★기술 뒤로 이동 / 주·보조 / 체계화

  • 화면 구성: 상단 체계화된 일정(간트/타임라인 + 마일스톤), 하단 팀 역할표(주 담당 / 보조).
  • 일정(구조화):
    단계 기간 활동 마일스톤/산출물
    사전 기획 1주 주제·역할·HW 구성 기획서
    로봇팔 기초 2주 서보·펌웨어·안전(FK/EMS) 중간점검
    무선/피킹 2주 MQTT 게이트웨이, 자동 피킹 피킹 데모
    추종 측위 2주 4WD·엔코더, PnP+융합 측위 검증
    군집·비전·통합 2주 편대 추종, 색검출, 인계 통합 시연
  • 팀 역할(주/보조):
    팀원 주 담당 보조
    윤우영(팀장) 추종 차량·군집 제어 통합 시나리오
    길민준 로봇팔·비전 피킹 카메라 측위 연동
    김아영 비전·마커 맵·캘리브 자동 피킹 튜닝
    안효민 통신·오도메트리·테스트 추종 검증·문서
  • 구두: "기술을 먼저 보여드린 뒤 일정과 역할을 정리합니다. 저희는 기술 중심 팀이라, 각자 주 담당과 보조를 나눠 두 축(팔·추종)을 병행했습니다."
  • 배치 이유(멘토링): 기술 강조 팀 → 역할을 기술 뒤에 배치가 효과적, 일정과 함께 제시.

Slide 13 — 시연 (Demo)

  • 화면 구성: 대형 영상 영역 + 우측 시연 체크리스트.
  • 시연 구성안: ① 로봇팔 주황 물건 인식·파지·적재 ② 리더-F1-F2 편대 주행 ③ (가능 시) 인계·운반 출발. 장면마다 기술 라벨(색검출/PnP/추종FSM).
  • 제출 노트: 5~10분·100MB 이하·기능별 음성 설명 포함.
  • 구두: "실제 동작 영상입니다. 집고, 싣고, 줄지어 이동하는 흐름을 보시죠."

Slide 14 — 성과 · 발견(아쉬운 점) · 향후 ★스토리 확대

  • 화면 구성: 3열(성과 / 발견 / 향후) — 단 '발견'을 넓게, 스토리로.
  • 성과: 로봇팔 무선제어·자동 피킹, 색상 비전 피킹, PnP+엔코더 융합 측위, 리더-F1-F2 군집 추종, N대 확장형 편대.
  • 발견(아쉬운 점 = 수확, 길게): ▸ 안전 설계의 무게(낙하 사고로 watchdog·정상흐름 밖 처리의 중요성 체득) ▸ 통신은 서버 의존을 줄이고 모듈 자율성을 높여야 한다는 구조적 교훈 ▸ 하드웨어 제약이 알고리즘을 결정(성능→색검출, 카메라 위치→자세 재설계) ▸ 화려한 방법보다 단순·안정(step&measure, 마커 주력)이 이기더라.
  • 향후: 인계 자동화 완성, 편대 N대·순번 대체, 추종 방식 파라미터 상용화(SLAM+QR/라인), 적재/하역 자동화.
  • 구두 시나리오: "성과도 있지만, 저희가 더 값지게 본 건 '발견'입니다. 로봇이 추락했을 때 안전 설계를 몸으로 배웠고, 통신을 서버에 의존하면 안 된다는 것, 하드웨어가 알고리즘을 좌우한다는 것을 깨달았습니다. 이 발견들이 다음 설계를 바꿀 겁니다."

Slide 15 — 마무리

  • 화면 구성: 중앙 "감사합니다", 하단 팀·GitHub(github.com/steeze1213/PACK). 표지와 톤 통일.
  • 구두: "이상입니다. 감사합니다. 질문 받겠습니다."