ICRA 2023 - Distributed graph algorithms 워크샵 (Day 1)

Distributed planning for Multi-quadrotor

Angela Schoellig 교수님의 발표

  • Distributed algorithm을 사용하는 이유는 무엇인가?
    • (Central 알고리즘은 하나의 성능 좋은 컴퓨터에서 모든 것을 계산하는 것, Distributed algorithm은 다수의 소형 컴퓨터들이 서로 소통을 하며 계산을 하는 것이다)
    • 시스템 적으로 scale up 하기가 쉽다. 시스템이 3개의 agent를 쓰나, 10개를 쓰나, 100개를 쓰나 알고리즘 자체는 똑같이 유지할 수 있다.
    • Robustness를 높일 수 있다. (조금 약한 주장이긴 한데, distributed algorithm은 각가의 소형 컴퓨터에서 빠르게 계산을 함으로써, quadrotor motion에 문제가 생겼을 때 다시 빠르게 re-planning을 할 수 있기 때문에 robustness가 높아진다는 주장을 했다. Planning에서만 가능한 주장으로 보인다.)

(사진 색깔이 왜 이러지…)

  • 교수님의 랩실에서는 순차적으로 아래와 같은 연구를 진행하셨다.
    • Offline central multi-agent path planning
    • Offline distributed multi-agent path planning
    • Online distributed multi-agent path planning
  • 드론 하나가 다른 드론 위로 날아가게 되면, Downward force가 생기니까 trajectory가 꼬이지 않을까? Planning이 이거까지 고려하고 하는건지?

Robotics perception - in search for effective representations

Margarita Chli 교수님의 발표

  • 교수님 연구실에서 풀려고 하시는 연구

    • High-fidelity SLAM
    • Scene representations for interaction and path planning
    • Multi-agent collaboration
  • Motion을 어떻게 표현하는게 가장 좋을까?: Continuous-time SLAM

    • Continuous-time SLAM을 할 경우, 센서가 데이터를 asynchronous하게 취득해도 괜찮다.
    • Motion trajectory는 Cubic B-spline으로 표현한다.
    • Gaussian Belief Propagation을 통해 backend 를 풀어보려는 시도를 하고 있다.
  • Collaborative SLAM (CCM-SLAM, COVINS-G)

    • CCM-SLAM: 여러 agent가 local BA를 통해 맵을 만들다가, 중앙 서버에서 map merging + global optimziation을 하는 것
    • COVINS-G: Collaborative SLAM을 위한 백엔드 프레임워크?
  • Towards generic, decentralized SLAM…

    • Map sharing
      • Ownership of local maps
  • Distributed SLAM 시스템의 bottleneck은 무엇일까? 로봇을 100개-1000개를 쓰려고 한다면 어떤 bottleneck이 생길까?

    • agent들마다 서로 통신을 해야하는데, 통신을 할 때 keyframe 같은 정보를 주고 받는다면 네트워크 bandwidth가 이걸 감당할 수 있어야한다.
    • 결국 가벼운 정보를 가지고 서로 통신을 해야한다는건데… 어떤 정보를 주고받아야 가벼울지 고민이 필요할 것 같다.
    • Mobile agent들끼리의 통신이 bottleneck이 될 수 있다면, Distributed central server는 어떨까…?

 

Open Problems in Machine Perception & Always-on AI

Meta의 Richard Newcombe가 발표했다.

  • AI 기술이 많이 발전했지만, Context 정보가 없다. (Contextual AI)
    • All-day context = All-day wearable + Always-on machine perception
      • All-day wearable: Project ARIA (안경에 카메라. Ego-centric computer vision)
  • ChatGPT와 같이 인터넷 대화를 통해 얻어낸 reasoning은 굉장히 잘 된다.
    • 하지만 실제 세상에서 Physical reality와 digital reality를 엮고 context 정보를 넣어주는 시스템이 없다.
    • 이 ‘context gap’을 채우기 위해서, wearable machine perception이 필요하다.
      • All-day wearable을 하기 위햇는 저전력 고성능의 디바이스가 필요하다.
        • 2개의 SLAM용 카메라 (20FPS), 2개의 RGB 카메라 (25FPS), 2개의 gaze 카메라 (60FPS), gaze를 보기 위한 LED, 7개의 마이크2개의 IMU, GNSS
      • Project ARIA 디바이스를 받기 위해서는 웹사이트에 들어가서 요청을 하라고 한다.
  • 문제 1: What is the sufficient information needed from physical reality for Contextualized AI?
    • 100 명이 ARIA를 쓰고 다니면 31 페타바이트가 필요하다,,
      • 그렇기 때문에, 대충 적당한 데이터셋에서 학습해서 real-life에 deploy해서 잘될거라고 희망하는건 말이 되지 않는다.
    • Can state-estimation capture & compress a day-in-the-life?
    • Attributes:
      • Location - Where am I?
      • Gaze - Where am I looking at?
      • Voice - What am I saying?
      • Kinematic state - Body pose
      • Interaction - What am I interacting with?
      • Object Index - What’s in my environment?
      • Other’s states
      • 위의 attribute에 대한 데이터를 저장한다면, raw data에 비해 훨씬 적은 양을 저장할 것이다.
  • 문제 2: ARIA의 무게는 70g, Power는 2.5Wh, Sensor module size 4mm^2이다.
    • <30g, 1mm^2, 1.0Wh 정도가 되야한다.
    • 1.0Wh 를 10시간동안 실행하면서, 10%의 전력만 perception에 쓴다면 약 10mW가 필요하다.
      • LED 하나를 키는게 5mW 이다…
    • 대충 데스크탑의 1만배 정도 더 적은 전력을 사용해야한다.
  • 문제 3:
    • Resolution, Low oice, Continuous lens focusing, Field of view, No motion blur, HDR

 

Panel discussion

  • Q. Distributed algorithm을 할 때 어떤 레벨에서 distribution을 해야할지가 고민이 될 수 있다. SLAM을 모바일 디바이스에서 다 끝내고 odometry와 map 정보만 서로 통신을 하는 방법이 있는 반면에, 완전 초기의 센서 데이터도 서로 주고 받을 수 있을 것이다. 적당한 중간을 찾아야할텐데, 그 ‘적당한 중간’은 어디에 있을까?

    • Richard Newcombe: 데이터의 흐름을 파악해서 최종 문제를 풀었을 때 minimum energy가 사용되는 방향으로 가야한다. 단순히 알고리즘을 푸는데에 필요한 에너지가 아니라, agent간의 통신에 필요한 에너지도 고려를 해야할 것이다.
    • Magarita Chli: ‘적당한 중간’을 찾기는 꽤 어렵다. 왜냐하면 어떤 문제를 푸느냐에따라 optimal 에너지를 소비하는 distribution 레벨이 다를 것이기 때문이다. 특히나 환경이 바뀐다던지, 문제가 바뀐다던지, 상황이 바뀐다던지 할 경우 정보를 송신하는 쪽과 수신하는 쪽에서 내부 알고리즘에 대한 정보 요구조건이 달라질 경우, 최적 에너지 소비 조건이 달라질 가능성이 굉장히 높다. Distributed algorithm은 문제를 효율적이고 빠르게 풀 수 있게 해주는 방법론이지 솔루션 그 자체가 아니다.
  • Q. Distributed algorithm에는 안전 문제가 있는 것 같다. (Andrew Davision 교수님): 우리 랩실에서 낸 논문에 의하면, 여러개의 agent 중 하나가 고장나면 localisation의 경우 모든 agent의 정확도가 조금 떨어지고 끝날 것인데, planning의 경우 완전 큰일나게 될 수도 있다. 이는, 해커가 맘을 먹고 하나의 agent에서 다른 agent로 보내는 메세지들에 거짓말을 섞거나 또는 아무 메세지도 보내지 않는다면 (i.e. 존재하지 않는 척 한다면), 전체 시스템을 망가트릴 수 있다. 이 안전 문제를 해결하기 위해서는 어떻게 해야할까?

    • Mustafa: Encrypted message를 사용하는건 어떨까?
    • Richard Newcombe: Observation + consistency로 풀어야한다. 단순히 비밀번호 기반의 시스템이 아닌, 여러 agent가 observation을 통해 적절한 space-time 데이터가 나오는 경우 consistent하다고 판단하는 consensus 알고리즘이 필요하다.
    • Frank Dellaert: 난 드립을 하나 치려고 하는데, Meta와 Twitter에서 fake news를 없애는 알고리즘을 써보는 것도 좋겠다.