티스토리 뷰

카테고리 없음

동역학 (dynamics)

Job Designer 2017. 1. 7. 17:19

힘은 질량과 가속도의 곱이라고 뉴턴이 주장한 바 있습니다. 물체가 이동하기 위해서는 속도가 있게 마련이고, 정지한 상태에서 어떤 속도에 이른다는 것은 속도가 바뀐다는 이야기, 즉 가속도가 발생한다는 것을 의미합니다. 질량과 위치, 속도, 가속도, 힘 등 움직임과 관련된 물리적 속성은 동역학(dynamics)을 통해 분석할 수 있습니다.


로봇은 질량이 있고 움직임이 있기 때문에, 동역학을 이야기하지 않을 수 없습니다. 특히, 동역학 계산을 바탕으로 각 모터에서 필요한 토크를 계산하고, 사람 혹은 외부 물체와의 충돌여부를 검지할 수 있기때문에, 동역학은 특히 중요합니다.



엔드이펙터에 걸리는 힘


우선, 로봇의 엔드이펙터에 걸리는 힘과 토크를 계산할 수 있습니다. 산업용 로봇에서 엔드이펙터 힘을 계산하기 위해 일반적으로 사용하는 방법은 두 가지가 있습니다.


먼저, 각 조인트에 걸리는 토크가 주어지면, 엔드이펙터에 걸리는 힘을 계산할 수 있습니다. 이때, 조인트 토크는 모터의 전류 값으로 부터 환산할 수 있습니다. 좀더 정확한 토크 값을 얻기 위해 힘센서(force torque sensor)를 사용하기도 합니다.


또 다른 방법으로, 로봇이 동작할 때의 위치, 속도, 가속도 정보로부터 동역학을 계산할 수 있습니다. 이 계산에는, 로봇 각 부분 및 페이로드의 질량 및 질량중심 정보 또한 활용됩니다.

 

서로 다른 두 방법으로 얻은 힘 값을 비교함으로써, 로봇이 외부 물체 혹은 사람과 충돌했는지 검지할 수 있습니다. 실제 충돌이 발생할 경우, 각 조인트에 걸리는 실제 토크는 위치, 속도, 가속도로부터 계산한 값보다 커질 것입니다. 최근 주목받는 협동로봇(collaborative robots)의 충돌 검지 기능 또한 이러한 동역학 계산을 활용합니다.


참고로, 동역학 계산 시 페이로드의 질량 및 질량 중심 정보가 활용되기 때문에, 부정확한 페이로부 정보를 입력할 경우, 로봇은 외부와 충돌을 했다고 오검지할 수 있습니다.



조인트에 걸리는 토크


로봇 프로그램의 이동 명령에는 목표 위치, 속도, 가속도가 정의되는데, 이 정보를 바탕으로 각 조인트에 필요한 토크를 계산할 수 있습니다. 특히, 이 정보는 각 모터 제어에 활용됩니다.


그런데, 페이로드 정보가 잘못 입력될 경우, 엉뚱한 양의 토크를 사용하게 되고, 이는 모터, 감속기 등 로봇 주요 부품의 손상으로 이어질 수 있습니다. 


우리가 물건을 드는 경우를 상상해 보시죠. 1kg 정도로 예상한 물건을 드는데, 알고보니 물건의 실제 무게는 10kg이었습니다. 우리가 예상 것보다 큰 힘이 필요하기 때문에 근육과 인대는 이에 미처 대비하지 못합니다. 결국, 몸에 무리가 가해지고, 심할 경우 어깨가 빠지거나 인대가 파열될 수도 있을 것입니다. 반대로, 10kg으로 예상한 물건이 실제로는 1kg인 경우를 생각해 보겠습니다. 상당히 큰 힘으로 물건을 들어올리기 때문에 물건은 위로 솟구쳐질 수 있습니다. 


로봇의 경우, 프로그램의 이동 조건을 기반으로 예상한 힘을 가하지만, 동시에 위치, 속도, 가속도를 충족시켜야 합니다. 그 결과, 토크의 양을 급작스럽게 변경해야 하고, 이는 부품의 손상으로 이어지는 것입니다.


이러한 이유로, 동역학 기반으로 제어하는 로봇의 경우, 페이로드 정보는 정확하게 설정해야 합니다.



----------------


잘못된 내용이나 질문 있는 분들은 편하게 댓글 달아 주세요. 감사합니다.


댓글