MEKAWIRE
중급arXiv

TUM과 MBZUAI, ROS 2 제어 모드 전환 210ms에서 0.01ms로 줄인 반사 엔진 공개

Jon Škerlj, Sami HaddadinTechnical University of Munich (MIRMI), Mohamed Bin Zayed University of Artificial Intelligence
30초 요약

프랑카 판다 로봇팔의 제어 모드 전환 시간을 표준 ros2_control의 약 210ms에서 평균 0.01ms로 줄이고, 테이블 청소 작업의 최대 저크를 499에서 155m/s3로 낮췄다고 뮌헨공대 로봇연구소(MIRMI)와 MBZUAI 연구진이 10월 15일 공개한 프리프린트에서 밝혔다. 전환이 빨라지면서 충돌이나 관절 한계에 1kHz 제어 주기 안에서 대응할 수 있게 돼 로봇이 하드웨어 안전 정지에 걸리지 않고 작업을 이어간다.

연구 질문

ROS 2와 호환되는 오픈소스 제어 구조가 안전 반사 동작을 1kHz 제어 주기 안에서 돌릴 만큼 빠르게 제어기를 바꿀 수 있는지, 그래서 위험 상황에서도 로봇이 멈추지 않고 일할 수 있는지를 묻는다.

문제

가정용과 서비스 로봇은 한 작업 안에서도 빠른 자유 공간 이동, 유연한 접촉, 힘 제어, 안전 복구처럼 서로 다른 제어기가 필요하다. 표준 ros2_control은 라이프사이클 상태 전환 방식이라 한 제어기를 멈춘 뒤 다음 제어기를 켠다. 이 과정에서 지연과 흔들림이 생기고, 실제로는 충돌이나 한계 초과가 부드러운 대응이 아니라 완전 정지로 끝난다.

기존 접근

지금까지는 ros2_control의 정지 후 전환을 감수하거나, 모든 단계를 하나로 처리하는 통합 제어기를 쓰거나, 상용 실시간 스택에 기대왔다. 저자들이 앞서 만든 multipanda_ros2 멀티모드 제어기도 하위 제어기를 오갈 수 있었지만 평균 1.8ms가 걸렸다.

새 접근

개선된 멀티모드 제어기는 모든 제어 동작을 미리 올려두고 활성 제어기를 잠금 없는 포인터 교체로 바꿔 실시간 경로에서 미들웨어 호출을 없앴다. 그 위에 반사 엔진을 얹었다. 외력, 관절 위치, 관절 속도를 감시하다가 기준(15N, 하드웨어 한계에서 0.2rad 또는 0.1rad/s)을 넘으면 프랑카 자체 안전 기능이 작동하기 전에 부드러운 임피던스 제어나 무중력 모드로 넘기는 상태 기계다. 기존 ros2_control 제어기를 하위 제어기로 그대로 옮겨 쓸 수 있다.

결과

설정별 100회 전환에서 평균 전환 지연은 ros2_control 약 210ms, 기존 멀티모드 제어기 1.8ms, 개선판 0.01ms였고 최악의 경우도 0.1ms 미만이었다. 관절별 10회씩 70회 관절 한계 시험에서 반사 작동 후 정지 거리는 위치 시험 평균 0.082rad, 속도 시험 0.080rad로 하드웨어 한계에 한 번도 닿지 않았다. 초속 0.09~0.26m로 부딪친 30회 충돌에서는 평균 0.122초 만에 접촉력을 해소했다. 집기, 닦기, 복귀로 이뤄진 작업을 설정별 10회 돌린 결과 총 소요 시간은 14.58초에서 14.09초로, 최대 저크는 499.0에서 155.4m/s3로 약 3.2배 낮아졌다.

한계

프리프린트이며 프랑카 판다 한 대와 전환이 두 번뿐인 짧은 작업으로만 검증했다. 부드러운 정지 방식은 설정한 안전 여유를 넘어 밀려나는 현상이 있어 용도별 조정이 필요하고, 딱딱한 물체와 부딪친 직후의 초기 충격력은 어떤 피드백 제어로도 막을 수 없어 15N 기준을 넘는다. 반사 기능은 소프트웨어 계층일 뿐 ISO 10218이나 ISO 13482 인증 안전 기능이 아니다.

업계 영향

ROS 2로 서비스 로봇을 만드는 팀과, 안전 정지 후 재시작으로 사이클 타임을 잃는 협동로봇 시스템통합 업체에 직접 관련된 결과다. ROS 2를 쓰는 국내 협동로봇과 가정용 로봇 개발팀도 코드가 공개되면 토크 제어 로봇팔에서 수개월 안에 시험해볼 수 있다. 다만 인증 안전 기능으로 만드는 데는 훨씬 긴 시간이 든다.

이 논문은 라이선스상 전문을 게재할 수 없어 요약과 원문 링크만 제공합니다.