#rangeimage #로봇공학 #pointcloud #포인트클라우드 Range image란 특정 위치에서 환경속의 특정 포인트까지의 거리를 2D 이미지로 표현한 것을 말한다. 특정 위치는 주로 센서의 위치가 되는 경우가 일반적이다. Range image는 거리에 상응하는 픽셀값들을 가지게 된다. 만약 range image를 만드는게 사용 된 센서가 픽셀값들이 잘 켈리브레이션이 되어 있다면 바로 실제 수치값으로 변환될 수 있다. ToF를 쓰는 뎁스카메라에 대해서 이야기해보자. 깊이는 RF펄스 대신 광펄스가 사용된다는 점을 제외하고 rador image와 range image는 비슷하다. ToF는 스캔방식이 아니고 single light pulse 형태로 전체 환경(scene)을 캡쳐한다는 점에서 회전 하..
editor, Junyeob Baek Robotics Software Engineer /RL, Motion Planning and Control, SLAM, Vision 이번에는 얼마전 Github에 공개한 오픈소스 패키지에 대해 소개해보려한다. :) policy distillation은 현재 연구중인 논문과 관련해 찾아보다가 유용하게 쓸 수 있겠다 싶어 자세히 공부하고 있었던 개념이다. 근데 생각보다 Github에 control task를 위한 policy distillation 모듈이 제대로 구현되어있는 repo가 없다는게 함정이다. 나름 DeepMind에서 나온 논문이고 쓸만하다고 생각하는 개념인데 인기가 생각보다 없나보다...T.T 어짜피 하던 연구를 진행하려면 제대로 된 policy distil..
보호되어 있는 글입니다.
어쩌다 보니 2탄 저번에 했던 것에 이어서 connected agent들이 목표지점을 향해 가는 방향으로 학습 할 수 있는 환경을 만들어 볼 수도 있겠다고 생각했다. 아직 시뮬레이션 초기화랑 렌더링 하는 부분까지만 완성을 했는데 open gym 포맷으로 조금씩 발전시켜 나가 볼 듯함. Custom openai gym openai gym은 강화학습을 시작하면 한번쯤은 돌려봤을 환경들인데, 환경과 에이전트가 서로 상호작용한다는 프로세스를 단순화 시킨 프레임워크라 개인 환경을 짠다고하면 대체로 gym 스타일로 짜려고 한다. 요즘엔 gym을 그냥 상속받아서 그안에 step 이나 reset, render 같은 부분을 내가 원하는대로 맞춰서 쓸 수 있는데 방법은 아래 링크를 가면 잘 나와있다. 멀티에이전트 환경의 ..
conditional_filter: /build/pcl-OilVEB/pcl-1.8.1+dfsg1/search/include/pcl/search/impl/organized.hpp:57: int pcl::search::OrganizedNeighbor::radiusSearch(const PointT&, double, std::vector&, std::vector&, unsigned int) const [with PointT = pcl::PointXYZ]: Assertion `isFinite (query) && "Invalid (NaN, Inf) point coordinates given to nearestKSearch!"' failed. conditional filter 튜토리얼을 돌리던 도중에 마주한 에러이..
외란억제로서 상호작용 (Interaction as Disturbance Rejection) 다양한 제어이론들이 특징이 잘 설명되어 있지 않은 인터페이스를 다룰 수 있도록 발전해왔다. 외란 억제 방법을 통해서 환경에 대한 다이나믹스가 외란힘으로 추가될 수 있다. 억제를 잘하기 위해서는 외란 힘의 경계값을 잘 정해줘야한다. 하지만 로봇이 환경과 상호작용하는 경우에 외란힘은 로봇의 수용량을 넘거나 동일한 경우가 대부분이다. 예를 들어 운동학적(Kinematic) 제약은 로봇의 행동에 따라 큰 힘을 만들 수 있는데, 외란힘(환경이 주는 힘)은 로봇의 상태와 연관이 있는 데 일반적으로 외란은 상태와 독립적으로 보기 때문에 상호작용을 외란억제 문제로 보는 것은 그렇게 좋지는 않다(not seem promising)..
*본 글은 https://summerschool.stiff-project.org/ 내용을 번역, 정리한 글입니다. 전 글에서 임피던스 제어란 환경을 어드미턴스로 두고 로봇과의 임피던스를 제어하는 것이라고 했다. 이를 성능(Performacne)과 안정성(Stability)의 관점에서 이야기해보자. 어떤 모션이나 힘을 제어하려고 할 때, 환경과의 상호작용은 컨트롤 가능한 변수에 영향을 주게 된다. 이런 영향으로 생기는 에러는 성능에 영향을 미치게 되고 안정성 또한 불안정해진다. 이런 불안정성은 coupled/contact instabilities라고 하는데, 단순한 시스템이 환경과 작용할 때도 확인할 수 있다. 한가지 예시를 들어보자. 질량(m)을 가지고 이노시아 값을 알고 있는 간단한 로봇이 있다고 하자..
최근에 그래프 신경망을 이용한 프로젝트를 진행중인데 아무래도 그래프가 처음 다루는 자료형이다 보니 익숙하지가 않다. 파이썬에서 배열을 다루는데 특화된게 numpy 라면 그래프에서는 networkx가 있다. networkx.org/documentation/stable/index.html 그래프 신경망을 위한 파이토치라이브러리도 있는데 torch_gemetric이라고 있다. pytorch-geometric.readthedocs.io/en/latest/index.html 일전에 이를 이용해서 간단하게 카트폴 훈련을 시켰는데 REINFORCE로 학습시킴에도 생각보다 빠르게 학습되는 것에 놀람. github.com/keep9oing/GNN_RL keep9oing/GNN_RL reinforcement learnin..