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
- Map sharing
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)
- All-day context = All-day wearable + Always-on machine perception
- 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 디바이스를 받기 위해서는 웹사이트에 들어가서 요청을 하라고 한다.
- All-day wearable을 하기 위햇는 저전력 고성능의 디바이스가 필요하다.
- 문제 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에 비해 훨씬 적은 양을 저장할 것이다.
- 100 명이 ARIA를 쓰고 다니면 31 페타바이트가 필요하다,,
- 문제 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를 없애는 알고리즘을 써보는 것도 좋겠다.