프로젝트 개요
자연어 명령을 실행 가능한 주행·정렬·조작 흐름으로 변환하고, ROS2/Nav2 주행과 비전 정렬, 로봇팔 런타임을 연결한 Smart Companion Vehicle 프로젝트입니다.
주요 구현
- RoboCrew System2 planner → System1 packet server → ROS2 drive bridge로 자연어 명령 실행 경로 구성
- Nav2/AMCL/SLAM 기반 실내 주행과 motion_coordinator, trolley_motion_adapter 제어 경로 통합
- Yahboom mecanum base USB serial runtime, BNO085 IMU, RPLiDAR/RealSense bringup 정리
- vision alignment, AprilTag 기반 정밀 정렬, 로봇팔 runtime helper를 서비스 시나리오에 연결
- stub-hardware smoke mode, web teleop, map helper로 반복 검증 가능한 시연 운영 환경 구성
실행 파이프라인
App / Voice사용자 명령
RoboCrew System2LLM planner
System1 Packet Server실행 packet
ROS2 Drive BridgeNav2 / relative motion
Motion Adaptercmd_vel / motion mode
Yahboom Runtimemecanum base
핵심 패키지
| 패키지 | 역할 |
|---|---|
| trolley_driver | Yahboom UART driver, mecanum IK, encoder odom |
| trolley_nav_bringup | Nav2, SLAM, AMCL, sensor launch |
| robocrew_ros_adapter | RoboCrew packet drive bridge |
| motion_coordinator | motion mode FSM과 cmd_vel 중재 |
| trolley_motion_adapter | LLM drive stack command adapter |
본인 담당 업무
- Autonomous Driving 역할 수행
- ROS2 Integration 역할 수행
- LLM Drive Bridge 역할 수행
- Runtime Tools 역할 수행
트러블슈팅
- Nav2 ↔ 메카넘휠 불일치: 메카넘에 맞는 Nav2 플러그인을 탐색하고 직접 주행시키며 적합한 모델을 선택, 이후 로봇에 맞게 파라미터 튜닝
- 멀티허브 전압 피크: 라이다·IMU·모터드라이버·로봇팔·카메라를 허브로 연결 시 실행 순간 전압 피크로 라이다·카메라가 켜지지 않음 → 실행 스크립트에서 라이다 런치를 먼저 실행하고 완료를 트래킹해 기다린 뒤 민감한 노드부터 순차 실행
- cmd_vel 다중 소스 충돌: Nav2·LLM Precision mode·사용자 컨트롤이 동시에 cmd_vel을 발행해 모터 제어가 꼬임 → 모든 cmd를 한 곳에서 관리하는 motionCoordinator를 개발, state·우선순위로 단일 중재
- 메카넘 드리프트(하드웨어 한계): teleop·precision 모드에서 직진·strafe·회전이 의도와 다르게 이동 → IMU·EKF·LiDAR 위치추정으로 heading을 유지하도록 이동 중 지속 보정하는 노드를 설계해 소프트웨어로 보정
- Nav2 경로 일관성: 메카넘 슬립·드리프트로 실행마다 경로가 크게 달라짐 → real2sim 시뮬레이션 환경 구축, teleop 정답 주행을 rosbag으로 저장해 시뮬레이션에 연동, AI agent를 SILS 루프에 투입해 Nav2 파라미터를 강화학습으로 반복 튜닝(경로 일관성 + 장애물 회피 + 목적지 좌표·heading 오차 최소화)
추가 개발 예정
- auto initial pose
- CAN/F446ZE gateway production integration
- precision calibration 고도화
