일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- mnist
- Introduction to Robotics: Mechanics and Control by John J Craig
- 로보틱스 입문
- 6dof
- Pytorch로 시작하는 딥러닝 입문
- DH parameter
- regression
- Numpy
- dynamixel
- pytorch visdom
- RobotArm
- Robotics
- custom cnn
- softmax
- NUCLEO board
- boostcourse
- 6축 다관절
- 딥러닝
- 파이토치로 시작하는 딥러닝 기초
- nucleo-f401re
- IMU sensor
- 파이토치
- Robot arm
- pytorch
- Python
- PUMA 560
- DeepLearning
- 6자유도 로봇팔
- 로보틱스입문
- visdom
- Today
- Total
슬.공.생
Robotics 4. 6 자유도 로봇 팔 제작기_3 본문
지난 포스팅에서 대표적인 6자유도 로봇인 PUMA560에 역기구학에 대해 알아보았습니다.
Robotics 4. 6-dof Robot arm 제작기_2
지난 포스팅에서는 아래 내용을 진행하였으며 전반적인 6 dof 로봇팔의 기구부를 제작하였습니다. Robotics 4. 6-dof Robot arm 제작기_1 지난 포스팅에서는 아래 내용들을 진행하여서 기본적인 4-dof 로
wisepubliclife.tistory.com
위의 포스팅에서는 PUMA560을 통해 역기구학 해석의 예시와 진행방향에 대해 다뤄보았으며,
이번 포스팅에서는 앞으로 만들게 될 6자유도 로봇의 joint별 좌표계를 설정하여 역기구학을 새롭게 해석해 보겠습니다.
먼저 PUMA560과 DHparameter에서의 차이를 알아보면
위와같은 DH parameters로 구성이 되며 이에 따라서 6개의 joint 각각에 부여되는 좌표계 또한 달라지게 됩니다.
이전 포스팅에 올린 역기구학 풀이 순서를 활용하고 바뀐 좌표계에 맞춰 다시 역기구학 풀이를 진행합니다. 이번 풀이는 계산에 편의를 위해서 matlab을 활용하여 계산을 진행하였습니다.
계산에 앞서 이전 포스팅에서 사용했던 행렬은 다음과 같습니다.
먼저 theta1을 계산하는 과정입니다.
양변의 2행 4열 성분을 이용하여 아래의 과정을 거치게 됩니다.
다음으로는 theta3을 구하는 과정입니다. 행렬은 theta1을 구할 때 사용한 행렬을 한번 더 사용합니다.
이후 아래과정으로 theta3을 구합니다.
이어서 theta2를 구하는 과정입니다.
계산을 위해 행렬을 다시 계산해 줍니다.
위의 두 성분을 각각 비교하여 좌, 우변 행렬의 성분별 등식 2개를 비교하여
matlab 상에서 다음과 같이 계산해줄수 있습니다.
결과는 다음과 같습니다. 이후 Atan2 함수 계산을 통하여 theta2 값을 계산할 수 있습니다.
다음으로 theta4 값 계산 과정에서는 위의 행렬 성분 중 2행 3열, 3행 3열 성분을 활용합니다.
이때 우변 성분을 sin(theta_5)로 나눌 수 있게 되며 theta5의 범위에 따라 3가지 경우로 나누게 됩니다.
이전 포스팅에 정리된 내용이기에 이번 포스팅에서는 생략하겠습니다.
이후 theta4에 대한 두개의 등식으로 정리되게 됩니다. 이후 마찬가지로 Atan2 함수 계산을 통해 theta4 값을 구할 수 있습니다.
다음으로 theta5을 계산하기 위해 행렬을 재계산합니다.
위와 같이 행렬의 좌, 우변 3행 3열 성분으로 등식을 만들어 cos(theta_5)식을 만들게 되며 sin(theta_5)의 값은 먼저 계산한 cos 값을 통해 부호를 정하여(theta_5의 회전 방향을 정하여) 계산해줍니다.
이후 동일하게 Atan2 함수를 통해 theta5를 계산하게 됩니다.
마지막으로 theta6의 경우
행렬을 재 계산한 뒤 행렬의 3행 1열, 3행 2열 성분을 통해서 두 개의 등식을 만들게 됩니다.
식을 sin(theta_6), cos(theta_6)에 대한 등식으로 각각 정리한 뒤 마찬가지로 Atan2 함수를 통해 theta6 값을 계산할 수 있습니다.
위의 과정을 통해 6 dof robot arm에 필요한 기본 관절각 정보를 얻을 수 있었습니다.
위 과정에서 참고한 서적은 아래와 같으며
서적의 내용 중 PUMA560 로봇의 역기구학 풀이에서는 DH parameter 중 5,6번 링크와 관련된 parameter 일부를 0이라 가정할 때만 그 가정을 통해서 역기구학을 풀어낼 수 있었습니다.
따라서 새롭게 로봇 기구부를 디자인하는 경우에는 DHparameter 일부를 0으로 가정할 수 없었고, 이에 따라 일반적인 풀이법을 그대로 적용하기에는 적합하지 않았습니다.
결과적으로 이전 과정에 구한 theta1~6 값에 대한 보정이 필요하게 되었고, 해당 좌표계 보정에 관한 내용을 다음 포스팅에 이어 나가겠습니다.
'study > 6dof arm' 카테고리의 다른 글
Robotics 4. 6 자유도 로봇 팔 제작기_2 (2) | 2021.07.21 |
---|---|
Robotics 4. 6 자유도 로봇 팔 제작기_1 (3) | 2021.06.18 |