Search

협업학습 [Federated Learning]

개요

신생 연구실인 AISL은 현실을 잘 반영하고 동기화시킨 메타버스 공간에서 로봇을 병렬적으로 학습시켜 실제 물리 세계의 로봇에서 동작시킬 수 있게끔 하는 연구 방향으로 자리를 잡아가고 있었습니다.
연구실에서는 메타버스 공간을 구성하고 (3D env 환경 구성) 실제 로봇을 조작하고 강화학습을 할 수 있는 환경 및 시뮬레이터를 찾는 중이였고 서칭을 제가 맡아 진행했습니다.

기능 탐색

3D 시뮬레이터, 가상 공간에 대해서 잘 몰랐던 상황인지라 Isaac Sim 도큐먼트를 읽으면서 튜토리얼을 진행해 나갔습니다.
이 당시에 저는 도시, 학교와 같은 공간을 동기화해야 한다고 하여 아래 영상과 같이 도시 환경을 로드하는 것과 같은 간단한 작업을 어떻게 진행하는지 찾아보았습니다.

City 3D asset Load

또한 이 때 메쉬와 포인트 클라우드의 차이를 알게 되었고 때마침 연구실에서 Leica RTC360을 구매하여 세종대학교 캠퍼스를 스캔하여 디지털 트윈 공간에 올린다고 하여 3D 포인트 클라우드에 대하여 다양하게 확인했습니다.

PointCloud 기능 테스트

여러 포인트 클라우드 데이터를 올려보고
흐릿하여 이에 대해 해상도를 높이는 방법을 찾기 위해 다양한 기능을 테스트하였습니다.
3D 스캐너로 스캔된 세종대 공간
3D 스캐너로 스캔된 연구실 공간

로봇 기능 테스트

3D 가상 공간 위에 로봇을 제어하는 방법 및 센서 연결 관련 기능을 확인하였습니다.
아래는 연구실에 있는 터틀봇을 연결하기 위해 2D LiDAR, camera 센서를 연결하여 데이터를 확인하였습니다.
그리고 이어서 세종대학교 캠퍼스 내에서 로봇이 돌아다닐 수 있게 하기 위해서 세종대학교 포인트 클라우드를 생성하고 위에 로봇은 올려놓았지만 추락하게 되었고 이때 당시에 Collider의 개념을 알게 되었고 바닥에 ground plane을 놓아 가상 센서로 학교 캠퍼스에 대한 데이터를 시각화할 수 있었습니다.

매니퓰레이터 제어

당시에 저는 Manipulator를 처음 접하는 상황이었기에 JointState에 대해서만 제어를 해봤습니다.
아래는 Isaac Sim Dynamic Control API를 이용하여 DoF bot이 가상 세계 내에서 센서 데이터를 취득하게끔 구현해 보았습니다.
그리고 연구실에 있는 도프봇과 연동을 해봤습니다.
당시에 컴퓨터 네트워크를 배우고 있었고 이를 아이삭심과 연결해보면 좋겠다 생각하여 연결했습니다.
아이삭심 내 example extension 중 하나인 following target의 코드를 수정하여 소켓연결을 진행하였고 DoFBot 조인트 상태값을 소켓 연결에 태워 보냈습니다.
그리고 DoFBot의 젯슨 나노에서 포트를 열어주어 소켓연결을 준비했고 관절값을 읽어 모터에 쓸 수 있게 하였고 아래와 같이 연결할 수 있었습니다.
그리고 이에 대한 추론결과 값을 IoT 플랫폼인 Mobius에 올려 확인할 수 있게 했습니다.

성과

2022 Coex ITRC 인재양성대전 전시