[DIY] 헬박사 Robot이야기[6] : - 역방향 기구학 (inverse kinematics)

우리가 다루는 로봇은 우리몸을 기계적인 음직임으로 모델링한 기계라고 생각하면 됩니다 만화 영화에 나오는 로봇처럼 만들려면 아직도 한참 후의 이야기라고 생각하시면 됩니다그래도 그러한 복잡한 부분을 기계의 관절로 여겨서, 구분하여 연구하는 연구를 연구를 하시는 과학자들이 많이 있습니다.  이 분들의 연구를 운동학 분석(kinematic analysis)이라고 합니다.

ca55d6584327cbf309eb96793005d03c.png


참고

 

정방향 기구학에서 kinematics Equation Matrix 가구학은 각 로봇암의 관절의 회전 각도로 로봇암의 끝 (엔드이펙터: End effector라고 합니다.)의 위치를 x,y,z의 위치를 알아 내는것을 해 보았습니다. 우리는 이것을 관절의 좌표에서 직교좌표(cartesian coordinate)를 알아냈다라고 부릅니다. 증 입력은 각 관절의 각도이고 출력은 x,y,z 좌표인 수식이라고 생각하시면 됩니다.

1d366d272e554d186134357259021b0c.png
 

입니다.

 

이 처럼 x,y,x의 값으로 각 관절의 각도를 찾아내는 것을 역방향 기구학 (Inverse Kinematics)이러고 합니다. 보통 석박사들은 선형 대수학을 이용하여 설명하지만 이 이유는 것은 여러개의 CPU가 병력 처리로 고속으로 계산하는 컴퓨터를 사용한다는 생각에 그런 계산식으로 설명합니다. 우리는 간단한 MCU/CPU로 계산하므로 그런 선형 대수학 대신에 간단한 고등학교( 옆에 있는 한분은 이걸 등학교때 배웠다고 합니다) 레벨의 기하학 수학으로 풀어 낼 수 있습니다.

 

삼각 함수중에 이러한 삼각형에 관한 수식이 있습니다.

1c7fe6952f2a60369909ce3884986f69.png
 a58a03e48eccc735455393a1a9b2b8cc.png 

이것이 코사이 제 2 법칙이라는 공식인데 피타고라스의 법칙에서 조금 더 발전한 수식이라고 생각 하심 됩니다.   그러면 주어진 좌표가 있을 때 로봇 암의 각 각도를 찾아 보기로 합시다.


그 수식을 만들고 찾아내는 일은 제가 다 하였습니다.

 

이번에는 지난번 정방향 기구학의 x, y, z이 값으로 처음 주어 졌을때 그 각도가 나오는지 검증하면 정확한 계산이 되겠지요? 그러면 로봇 암의 각도를 기억하여 봅시다. 지난번 정방향 기구학 그림을 다시 불러 오겠습니다.

 cc3f489589c25204c6fcb1803cfba55b.png 

이때 각 관절의 길이와 x, y, z 좌표를 정리하여 봅니다.

 각 관절의 길이가 0 부터 

0번은, 1번은, 2번은, 3번은 

128.5mm, 145.0mm, 153.0mm, 60.90mm입니다. 

이때 주어진 각도에 end effector의 좌표가 x,y,z가 

x = 202.443mm, y = 116.881mm, z = -35.687mm

입니다.

 

각도를 계산하는 수식을 유도하는 것은 조금 머리를 쓰면 됩니다.

각 수식에서 필요한 중간 변수 RR, RT라는 변수를 채용하기로 합시다.

그 변수는

a4ce7b882f3921f97193d3cb4239a191.png입니다. 

이를 계산하면 RR = 233.761mm, RT = 236.47mm입니다.

 

아시는 분은 아시겠지만 어 이거 피타고라스의 정리잖아!!“ 하실 분 많을 것입니다. 2500년전 수학자의 노고로 이렇게 로봇의 음직임을 계산할 수 있습니다. 이런 것을 피타고라스가 생각했을까요?

 

그러면 계산해 봅시다.

첫번째 관절 (로봇암의 회전각도를 정하는 수식)은

f3baa28084d0d1891bc6d78593aecaf9.png

입니다.


sin, cos의 역 함수를 아크코사인이라고 하며 이 계산은 컴퓨터가 해 줍니다. 이 수식에 이렇게 값을 넣어주면 

a26005d41cbac22b298af17ef5c6acaf.png

이고 각도가 30도가 계산됩니다.

우리의 로봇을 동작시키려면 괄호()안은 언제나 1보다 작아야 합니다

만일 1보다 크면 각도값이 허수값이 계산됩니다. 보통 고등학교 선생님들이 말씀하시는 '안된다'가 아닙니다.  이것은 다른 레벨의 이야기이고 상상속의 삼각함수가 존재하는 좌표계라고 생각 하시면 됩니다. (헬박사의 조언: 수학은 안 된다가 아니라 더 큰 세상이 있다.)

 

다음 계산하기 쉬운것 부터 계산하도록 합시다.

ff6e5e7d92f8bb7379827c567b699fb6.png
값으로 계산하면
75도가 나옮니다.

다음 남은것은 θ1입니다. 이것을 계산하기 위한 중간 변수로 중간 변수 두개를 채용하기로 합시다

첫번째는 

2377a2ee0dcd6e0b303a47104f3d5721.png
로 값은 81.32도가 계산됩니다.

두 번째는

32308f03831d152a137da25c44101318.png
입니다. 이 계산값은 38.68

이를 이용하여 θ1을 구하면 됩니다. 

θ1 = 180-Ø1-Ø3


위에서 계산한 값을 넣으면 

 

θ1 = 180-81.32-38.68


헉 60도가 계산됩니다.


그림을 보시면 x, y, z의 계산이 맞지요?

이럴 수가~~~

 

~~~

그럼 다음은 로봇 차렷 자세 만들기

Upcycle.jpg

Hell Talk 오픈 카톡방 운영중 https://open.kakao.com/o/gBEREsfe 
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 DIY

번호 제목 글쓴이 날짜 조회수
209 DIY 헬박사 Robot이야기[6] : - 역방향 기구학 (inverse kinematics) Hot icon 청계천도사 12-29 164
208 DIY 헬박사 Robot이야기[5] : - 정방향 기구학 (forward kinematics) Hot icon 청계천도사 12-23 331
207 DIY 헬박사 Robot이야기[4] : Robot 전문가 한걸음 - Robot 조립하기 Hot icon 청계천도사 12-17 377
206 DIY 헬박사 Robot이야기[3] : Robot 전문가 한걸음 - Robot kinematics Hot icon 청계천도사 12-16 395
205 DIY 헬박사 Robot이야기[2] : 공부를 죽어도 안 하는 로봇 Hot icon 청계천도사 12-12 399
204 DIY 헬박사 Robot이야기[1] : 자세가 불량하다. Hot icon 청계천도사 12-11 511
203 DIY 헬박사 Robot이야기[0] : Introduction Hot +1 icon 청계천도사 12-10 439
202 DIY RHA_016 CNC기기 전원장치 수리기 (사실은 요즈음 전자기기 수리 수백 건 ?) icon 청계천도사 10-28 979
201 DIY RHA_015 고1 라디오 와 중2라디오 (무식하면 용감해집니다.) icon 청계천도사 10-27 1,061
200 DIY RHA_014 이불에 쌓여온 Marantz오디오 icon 청계천도사 08-20 2,838
199 DIY RHA_013 김창완(산울림)의 녹음기(Revox Mk2) 수리하기 icon 청계천도사 07-30 3,338
198 DIY RHA_012 황동버너 수리하기2(결론: 재 탄생) icon 청계천도사 07-30 3,499
197 DIY RHA_011 황동 버너 수리의 기억 icon 청계천도사 07-30 3,613
196 DIY Arduino uno보드를 만들기 icon 청계천도사 02-16 5,804
195 DIY Digilog Electronics 005 - Digilog Electronics 이야기 icon 청계천도사 02-12 5,517
194 DIY Digilog Electronics 004 - IC/전자 부품 핀 간격 이야기 icon 청계천도사 01-05 6,087
193 DIY Digilog Electronics 003 -Summing Amplifier icon 청계천도사 01-04 6,271
192 DIY Digilog Electronics 002 - 전자회로 기ch , 실험 환경 꾸미기 icon 청계천도사 01-03 6,583
191 DIY Digilog Electronics 001 - 전자회로 기초 (사실은 복습입니다) icon 청계천도사 01-02 6,343
190 DIY MC-001 가을입니다. [알레르기 시작] icon 청계천도사 09-09 6,896