오랜 생각이 하나 있는데, 좀 두서 없고 말도안되더라도 용서해주시길 바랍니다. ㅎㅎ 하나의 가정(상상)에서 시작한다. 만약 로봇들이 만들어진 목적에 맞게 완벽하게 작동하면 어떻게 될까? 그리고 그 유효성이 입증돼서 사용가능한 로봇의 수가 굉장히 많아진다면? 그렇게되면, 로봇 한대의 개체는 한 가지 이상의 작업을 잘 하기위한 복잡한 시스템으로 여겨져 왔지만 그냥 입력을 주면 당연히 그 작업을 잘 수행해내는 유닛(unit)으로 보게되는 시점이 올 것이다. 그렇다면 여러대의 로봇 묶음을 컴퓨터의 CPU처럼 생각해서 하나의 큰 작업 과정 자체를 작은 작업 단위들로 프로그래밍을 할 수 있을 것이다. CPU의 연산 유닛을 로봇 묶음의 로봇 한 대로 볼 수 있게되는 것이다. 그렇게해서 소프트웨어나 서비스를 개발하듯이..

참고한 모든 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 해당 글은 아래 논문을 ..

#모션플래닝 #로봇 #연구 #공부 #로봇공학 Motion planning optimization-based Motion planning이 거창해 보일 수는 있지만, 단순히 로봇팔의 초기 자세에서 differential IK를 풀어서 물체에 다가가는 것도 하나의 Motion planning이 될 수 있다. (물론 손으로 직접 작성한 Motion planning이지만) 다만, 이렇게 하지 못하는 이유는 주변 환경이 더욱 복잡해지고, 제약이 많아지기 때문이다. 인식에 대한 고려도 해야겠지만, 로봇이 Plan 할 수 있는 것도 고려해야 된다. 이번 수업에서는 Planning trajectory, 로봇 팔의 경우 조인트 q 값에 대한 Trajectory를 구하는 방식들에 대해 이야기 해보려 한다. 다양한 MP 방..

Compliance와 Force control에 대하여 과거 학부생 시절에는 전류제어, 힘제어, 강성제어, 임피던스 제어 등에 대한 차이를 모르고 있었다. 어쩌면 비슷해 보이지만 실상은 조금씩 다른 개념들이며 어떤 개념들은 더욱 상위 개념이기도 한 이들에 대해 이야기해보려 한다. 그 중 Compliance 와 Force control에 대해 이야기해보자. 힘 제어의 경우 로봇 팔이 접촉하는 경우에 있어서 힘과 위치 값에 대한 피드백을 받을 수 있을 때 적용 가능하다. 위치 값은 조인트 각도값으로 계산할 수 있고, 힘의 경우 Force Torque 센서나 Joint Torque sensor를 통해, 전류 값을 계산하여 측정할 수 있다. 힘과 위치 값을 피드백 받아 궤적을 수정 할 수 있는 게 힘 제..

단순히 operational space에서 제어하여 특정 위치로 로봇을 이동시키는 목적 외에도 다수의 제어 목적이 있을 수 있다. 예를들어 1. 특정 위치로 로봇팔 끝단을 움직이면서 2. elbow joint 값을 높인 상태로 유지해라 라는 2가지의 목적이 있을 수 있다. 이런 2가지 목적을 달성하기 위해서 문제는 로봇의 자유도에 있다. 만약 operational space가 generalized coordinates과 동일하다면, 즉 만약 operational space가 로봇의 모든 자유도를 제약하고 시스템의 상태가 operational space에 정의 된다면, 1번의 목적을 달성하는 컨트롤러에 대한 성능을 포기하지 않고 2번의 목적을 달성하는 것은 불가능하다. 2링크 로봇팔은 2자유도를 가..

Null space control을 다루기 전에 먼저 Null space 에 대해서 이야기해보자. 기존에 작성해둔 Null space 설명을 가져왔다. "널 스페이스는 컬럼 스페이스와는 전혀 다른 Subspace이다. 선형 방정식 AX=b에서 b가 zero vector일때 즉 AX=0일때 모든 가능한 해 X에 대한 집합이다. 특정 행렬A와 X가 곱해졌는데 그게 0이 나올때 X의 집합, x가 이루는 공간을 Null space라고 한다. 3차원 공간에서 Null space는 직선으로 표현된다고 한다." 쉽게 말해 AX = 0 일 때 가능한 모든 해 X의 집합이 Null space 라고 볼 수 있다. 직관적인 이해를 위해 아래 영상을 참고하자. https://www.youtube.com/watch?..

여느 다른 컨트롤 시스템처럼, 상호작용 시스템도 안정성과 성능 두마리의 토끼를 잡아야한다. 이전 글에서는 안정성 분석이 반드시 시스템 상호작용 할 환경에 대한 고려를 포함 해야 한다는 것을 보였고, 시스템의 port behavior를 조작함으로서 안정성의 원칙이 보장 될 수 있음도 보였다. (물론 블로그 글에는 정리하지 않았다. 너무 복잡해서..) 상호작용 시스템의 성능도 dynamic port behavior로 측정 되므로, 두가지 목적(안정성과 성능)는 target interactive behavior의 구현에서 오류를 최소화 하는 컨트롤러로 동시에 충족될 수 있다. 즉, 어떤 target 상호작용하는 움직임이 있는데, 이에서 오류를 최소화하는 컨트롤러로 안정성과 성능이라는 두마리 토끼를 잡을 수..

외란억제로서 상호작용 (Interaction as Disturbance Rejection) 다양한 제어이론들이 특징이 잘 설명되어 있지 않은 인터페이스를 다룰 수 있도록 발전해왔다. 외란 억제 방법을 통해서 환경에 대한 다이나믹스가 외란힘으로 추가될 수 있다. 억제를 잘하기 위해서는 외란 힘의 경계값을 잘 정해줘야한다. 하지만 로봇이 환경과 상호작용하는 경우에 외란힘은 로봇의 수용량을 넘거나 동일한 경우가 대부분이다. 예를 들어 운동학적(Kinematic) 제약은 로봇의 행동에 따라 큰 힘을 만들 수 있는데, 외란힘(환경이 주는 힘)은 로봇의 상태와 연관이 있는 데 일반적으로 외란은 상태와 독립적으로 보기 때문에 상호작용을 외란억제 문제로 보는 것은 그렇게 좋지는 않다(not seem promising)..