Null space and Redundant 일반적으로 Redundant robot 이라고 하면 Task space에 비해 여자유도를 가진 로봇을 말한다. 쉽게 생각했을 때 6자유도가 아닌 7자유도 로봇 팔이라고 볼 수 있겠지만 이것은 틀린 표현이다. Task space와 비교했을 때 robot의 자유도가 큰 경우를 redundant한 상황이다 라고 표현하는 것이 맞다. 일반적으로 로봇 팔의 Task가 6자유도라고 생각할 수 있지만, 많은 경우 (단순한 페인팅, 그라인딩, peg in hole 등)들이 5자유도(x,y,z,r,p)만 필요하다. Optimization for redundant robot 여자유도가 있는 경우에는 torque, joint limits, manipulability, obstac..
임피던스 제어가 원시적이어도 간단한 임피던스 컨트롤은 안정성 문제를 해결하는 데 크게 도움이 된다. 또한 내재한 로봇의 임피던스가 줄어들 경우 컨트롤러의 성능 또한 좋아진다. 임피던스 컨트롤 적용은 몇몇 환경에서 잘 작동하지만 분명히 한계점은 존재한다. discrete-time 컨트롤러 구현과 모델링 되지 않은 actuator와 sensor들의 관계 같은 요소들이 컨트롤러의임피던스를 능동적으로 만든다. 이런 복잡한 기하학적 구조에서 안정성은 보장될 수 없다. 하지만 임피던스 컨트롤은 back-drivable design과 같이 사용 됐을 때 성공적인 성능을 보여주었다. https://www.youtube.com/watch?v=IxRg7iSvkkc Back Drivable에 대한 참고자료 Dircet Im..
논문 링크 : https://www.i-support-project.eu/web/wp-content/uploads/2018/08/3_Multiobjective-optimization-for-stiffness-and-position-control-in-a-soft-robot-arm-module_SSSA_CL.pdf 배경지식 : distance metric : https://joonable.tistory.com/14 absorbing state : https://en.wikipedia.org/wiki/Absorbing_Markov_chain hypersphere : https://cumulu-s.tistory.com/9 [Abstract] 이 논문의 주된 목적은 노인을 위한 입욕을 도와줄 로봇 팔을 연구..
반년전에 공부하면서 노션에 정리한 강화학습 내용을 다시 복습할 겸 올리는 중입니다. 팡요랩 유튜브 영상을 보며 정리한 내용이며, 분명히 틀린 내용이 많으니 만약 보시는 분들은 참고용으로만 보시면 좋을 것 같습니다. 강화학습이지만 귀찮으니깐 제어 카테고리에 넣겠습니다. 팡요랩 유튜브 영상 : https://www.youtube.com/watch?v=NMesGSXr8H4 강의 자료 (David silver) : https://www.davidsilver.uk/wp-content/uploads/2020/03/MDP.pdf Dynamic programming Dynamic programming은 어려운 문제를 작은 단위로 나눠서 푸는 방법이다. 작은 단위 문제(subproblem)을 풀고 솔루션과 subprob..
#제어이론 #제어공학 #제어 #임피던스제어 #로봇공학 "Simple" Impedance Control 원시적인 임피던스 컨트롤 적용은 Hogan에 의해서 1985년도에 제시 됐는데 꽤 성공적으로 적용됐다. 여기서 "Simple"은 힘이나 토크 제어가 되는 엑추에이터로 본질적으로 적은 마찰력을 가지는 매커니즘으로 이루어져있다는 뜻이며, output 임피던스를 증가시키려고 모션 피드백을 사용한다. 이 방식은 매커니즘에서 오는 물리적인 임피던스를 보상하려는 일은 하지 않는다. 따라서 실제 output 임피던스은 매커니즘에서 오는 컨트롤러 펄스로 구성되어 있다. 만약 댐핑과 엑추에이터, 환경에 의한 토크로 구성된 다 자유도 로봇을 모델링하게 되면 로봇의 simple impedence controller는 아래와..
단순히 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 상호작용하는 움직임이 있는데, 이에서 오류를 최소화하는 컨트롤러로 안정성과 성능이라는 두마리 토끼를 잡을 수..