Moveit Task Constructor (이하 MTC)는 복잡한 모션 플래닝 문제는 간단한 하위 문제들로 구성하도록 해주는 프레임워크이다. 가장 상위 레벨의 문제는 Task라하고, 하위 문제들은 Stages라고 한다. Stage들을 구성하는 순서는 상관없고 각 Stage들의 타입에 제한될 뿐이다.결과 흐름에는 3가지 유형이 있다. Generator, Propagator, Connector 단계이다. Generators는 독립적으로 계산되면서 양방향으로 전부 결과를 전달한다 (IK sampler는 도달하고 빠지는 모션 전부와 관련 있는 것 처럼) Propagators는 이웃 stage에서 결과를 받고, 하위 문제를 풀고 반대편의 이웃에게 결과를 전달한다. 구현에 따라서 앞으로, 뒤로, 양방향으로..
이번글에서는 BT의 Design principle에 대해서 알아보자. 사실 디자인 정책 같은 것까지 알아야할 필요가 있나 싶지만, 기본적인 내용은 숙지한 상태에서 Groot 같은 BT를 만들어주는 툴을 사용해보도록 하자. 결국 설계를 하고 들어가냐 아니냐, 혹은 큰 틀을 이해하고 진행하냐가 숙련도의 차이를 만들테니깐. BT의 기본 컨셉 Root로부터 tick이라는 시그널은 tree를 통해 마지막 leaf 노드까지 전달된다. tick 시그널을 받은 트리 노드는 callback을 실행한다. callback은 SUCCESS, FAILURE, RUNNING을 리턴한다. 트리 노드가 한개 이상의 자식노드가 있다면, tick을 전파할 수 있고 전파 기준은 자식이 얼마나 시그널을 받았는지에 따라 다르다. leaf 노..
Behavior Tree의 디자인 형식에 대해 알아보기 전에 behavior 과 관련 된 로봇 프로그래밍 아키텍쳐에 대해서 알아보도록 하자. 참고한 논문과 책에서는 크게 3가지(Subsumption Architecture, Teleo-Reactive, Decision Trees)를 다루고 있다. 이들을 이제부터 SA, TR, DT라고 부르기로 하자. Subsumption Architecture SA는 용어 그대로 계층적인 구조의 아키텍쳐이다. 발표 된 논문에 나온 예시를 사용하면서 설명해보자. 아주 간단한 로봇이 있다. 이 로봇의 SA 최하위 계층에는 음파 탐지기를 이용해 장애물을 탐지하고 장애물을 피하는 작업이 있다 (Obstacle Avoidance). 그 위 계층에는 무작위로 로봇을 움직이게 하는 ..
BT는 Mobile robot에는 꽤 많이 사용되고 있는 것 같다. BT Navigator가 최근에 업데이트 되고 있는 걸 볼 수 있다. 이런 동향을 조금 더 파악하고, 로봇 팔과 모바일 로봇 팔에서 적용해볼 수 있는 가능성에 대해 회사에서 이야기했다. 이야기를 하다보니 FSM과 BT에 대해 조금 더 깊은 이해가 필요할 것 같아서 정리해보려 한다. BT란? 아마도 BT를 가장 잘 아는 사람들은 게임 업계 개발자분들 일것이다. BT는 자율적인 에이전트(agent)가 다른 일(Task)들을 바꾸는 방법을 구조화 하는 것을 말한다. 간단한 Pick and Place 구조를 위 그림에서 확인할 수 있다. BT의 가장 중요한 장점은 modular와 reactive이다. BT의 초기 발명은 게임에 존재하는 NP..
Skill Transfer for Surface Finishing Tasks Based on Estimation of Key Parameters 저자 : Yitaek Kim, Christoffer Sloth and Aljaz Kramberger 논문 : https://ieeexplore.ieee.org/document/9926698/ 작성 : 이해구 ABSTRACT 논문에서는 표면 마감 동작을 새로운 표면에작업의 질을 떨어트리지 않고 적용하는 방법에 대해서 설명한다. 기본 아이디어는 사람이 먼저 표면 마감을 위한 그라인딩 작업을 평면에 보여주면, 새로운 기하학적 표면에 동일한 그라인딩 동작을 생성하는 것을 목적으로 한다. 사람의 MRR(Material removal rate)을 제한하는 것으로 ..
참고한 모든 Paper는 아래 링크에 있습니다. 도움이 되셨다면 Star를 눌러주세요 ㅎ https://github.com/benthebear93/awesome-mobile-manipulator GitHub - benthebear93/awesome-mobile-manipulator: Reading List and related repos for mobile manipulator Reading List and related repos for mobile manipulator - GitHub - benthebear93/awesome-mobile-manipulator: Reading List and related repos for mobile manipulator github.com 해당 글은 아래 논문을 ..
참고한 모든 Paper는 아래 링크에 있습니다. 도움이 되셨다면 Star를 눌러주세요 ㅎ https://github.com/benthebear93/awesome-mobile-manipulator GitHub - benthebear93/awesome-mobile-manipulator: Reading List and related repos for mobile manipulator Reading List and related repos for mobile manipulator - GitHub - benthebear93/awesome-mobile-manipulator: Reading List and related repos for mobile manipulator github.com 해당 글은 아래 논문을 ..
참고한 모든 Paper는 아래 링크에 있습니다. 도움이 되셨다면 Star를 눌러주세요 ㅎ https://github.com/benthebear93/awesome-mobile-manipulator GitHub - benthebear93/awesome-mobile-manipulator: Reading List and related repos for mobile manipulator Reading List and related repos for mobile manipulator - GitHub - benthebear93/awesome-mobile-manipulator: Reading List and related repos for mobile manipulator github.com 해당 글은 아래 논문을 ..