티스토리 뷰
[SLAM] 양정연 교수 SLAM 강의 2강. Mobile Robot, Thinking about System Dynamics
무엇보다_빛나는_샤트 2022. 2. 20. 16:052021.4.2. 13:02
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
SLAM 강의 2번째. Mobile Robot, Thinking about System Dynamics
*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.
출처: 2강. Mobile Robot, Thinking about System Dynamics
바퀴 - 모바일 로봇에서는 기본적으로 사용되고 있음. 에너지 손실 적다. 적은 힘으로 많은 운동을 만들어 낼 수 있다.
(드론으로 대체될 수 있겠지만 에너지 효율이 떨어진다.)
2개 바퀴로 이루어진 로봇 제작 시 무게중심을 고려해 설계해야 한다. 안정성 고려해야함.
왼쪽 사진은 넘어지지 않지만 오른쪽 사진은 무게중심이 위에 있어 넘어질 수 있다.
<Spherical Robot>
바퀴가 2개 아닌 하나이다. (좌우측 바퀴가 하나로 합쳐진 상태)
밸런스 제어. 빠른 속도, 낮은 전력 소비
바퀴가 크면 클수록 모터의 토크가 일정하다면 많은 토크를 필요로 한다.
바퀴가 클 때 장점: 천천히 굴러갈 수 있다. 가속도가 낮게 나올 수 있다.
V = rw 이기 때문에 w가 작더라도 r이 크기 때문에(바퀴가 크다) 속도(V)가 크다.
-> 바퀴가 크다면 처음 가속은 느리지만 속도는 빨라질 수 있다.
-> 바퀴가 작다면 처음 가속은 빠르지만 속도는 느리다.
<Statics Equilibrium>
동역학 관련 공식
- 모멘트의 합 = r X F = 0
- V = w X r
<Dynamic Model of Two wheeled Robot>
- 가운데 그림은 관성좌표계, 오른쪽 그림은 외력
- 바퀴가 회전하면 좌표계가 이동하면 mass도 이동한다.
- 아래 수식은 모델링에서 나온 것.
1) 첫 번째는 Fx에 관한 수식이며, m*(r+L)*a와 M*r*a 같다.
2) 두 번째는 Fy에 관한 수식이며, 반력R은 바퀴와 mass의 무게와 같다.
3) 세 번째는 토크 파트를 계산한 수식.
-> 토크를 가하면 각도의 변화를 알아보는 것.
<System Dynamics: Two wheeled Robot>
- 외력이 없다면(바퀴가 돌아가지 않는다면, 토크가 없다면) 가정.
- I*theta = T를 풀기위해서는 미분방정식으로 풀어야하기 때문에 제어 도메인으로 옮기기 위해 Laplace Transform을 해야한다.
- Laplace Transform을 한 번 할때마다 s가 붙기 때문에 theta_2_dot은 s^2이 된다.
- 1/Is^2이라는 수식=s^2은 가속도라고 생각. 댐핑, 마찰이 없다면 쭉 발산한다.
<Double Pole>
- Dampling이 없다.
- PD 컨트롤 error(e=xd-x)를 적용해서 F를 구한다.
- m*x_2dot + K_d*x_1dot + K_p*x = D_p*x_d에서 K_p는 스프링 역할, K_d는 댐핑이 되면서 에너지를 빨리 소비하게 된다.
<Stability of Torque Input>
- 입력 대비 출력이 어떻게 나오는 지 관찰이 필요.
<Stability of Disturbances>
- D가 입력으로 들어갔을 때 (L+r)에 비례.
- r, L이 커질수록 작은 D가 있어도 theta는 확 커진다. (발산)
-> 그래서 r,L을 줄이려고 한다.
- 만약 L<r이라면 (L+r)이 음수가 되면서 theta는 작아지게 된다. (예시: 오뚜기)
(왜 음수가 되는 지는 모르겠다.)
<Mobile Robot Kinematics>
바퀴 두 개의 움직임 각각이 어떻게 다른지에 따라 자동차가 어떻게 움직이나?
왼쪽 오른쪽 바퀴 두개의 속도가 다를때는 회전을 한다. 이때 방향과 각속도를 가진다.
<How to Drive a Mobile Robot?>
- PD, PID제어를 통해 해결해야함.
- Goal 위치는 동일하나 접근하는 각도는 다양하기 때문에 단순한 문제는 아니다.
<Control in Mobile Robots>
- 좌우가 동일하게 직진이면 자동차는 직진
- 좌는 직진, 우는 후진이면 (크기는 동일) 자동차는 우측으로 제자리 회전
- 좌우 모두 직진인데 좌가 더 크면 자동차는 우회전
*조이스틱으로 하는 것은 쉽다 -> 눈으로 보면서 피드백
*CPU로 제어한다면 -> 피드백이 없다.
- 실제로 똑바로 가는 자동차 없다. (기구학적으로 좌우 모두 100도라면 직진할 것이라는 믿음)
예시: 자동차 핸들을 놓고 엑셀을 밟으면 왼쪽/오른쪽 둘 중 하나로 회전한다.
왜? 접촉이 일어나기 때문. 마찰! 표면의 거칠기는 모두 다르기 때문. 마찰을 정확히 표현하기에는 매우 어렵다. 접촉이 두 군데서 일어나기 때문에 둘 다 다르기 때문.
해결: SLAM기법, 간단하게는 IMU센서 이용해 보정하는 기법 필요 (굉장히 고차원적 솔루션)
!!시스템 설계 시 제어 속도를 고려해야 한다!!
- 드론의 경우 10,000rpm으로 프로펠러가 회전하기 때문에 제어 속도가 중요.
<Problems of Tennibot>
- 테니스장을 랜덤하게 돌아다니다가 공과 비슷한 물체를 수거.
- 공이 보이면 좌우 균형을 맞추며 똑바로 갈 수 있다.
- 로봇 혼자만 움직이면 비뚤어지지만 목표지점이 있다면 똑바로 갈 수 있다.
- 외부에 있는 무언가를 관측해서 피드백 제어를 하면 똑바로 갈 수 있다.
💡강의 후 느낀 점
이번 강의에서는 모바일 로봇에서 중요한 기구학, 동역학 관점의 내용들이 많았다.
오랜만에 보는 v = w x r과 같은 수식부터 시작해 수식으로부터 인사이트를 얻는 내용까지.
실제 하드웨어가 움직이는 것이다 보니 기본적인 역학관계를 파악하고 있어야 한다.
후반부에는 모바일 로봇의 직진에 관한 이야기가 나왔는데.
마찰이라는 요소 때문에 좌측/우측 바퀴를 동일하게 제어한다고 해도 결코 똑바로 직진할 수 없다는 점을 알게 되었다.
그리고 가벼운 모바일 로봇의 경우 질량을 늘려줌으로써 해결할 수 있다고 한다.
또한 목표지점이 있다면 그곳을 향해 좌우 제어를 통해 직진을 할 수 있다는 점을 테니스봇을 통해 소개받았다.
교수님은 계속해서 '직진'제어에 관해 강조하셨다.
그만큼 어려우신 거지.
피드백은 언제나 환영합니다.😊
틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글과 공감 눌러주세요.
'SLAM' 카테고리의 다른 글
[SLAM] 양정연 교수 SLAM 강의 6강. Simple Inverse Kinematics of Mobile Robots, 간단한 R-T-R 경로기반 역기구학 (0) | 2022.02.20 |
---|---|
[SLAM] 양정연 교수 SLAM 강의 5강. Jacobian Matrix-based Mobile Robot Movement (0) | 2022.02.20 |
[SLAM] 양정연 교수 SLAM 강의 4강. 이동로봇 기구학의 자코비안 행렬 (0) | 2022.02.20 |
[SLAM] 양정연 교수 SLAM 강의 3강. Differential Drive Kinematics (0) | 2022.02.20 |
[SLAM] 양정연 교수 SLAM 강의 1강. 자율주행이동로봇 개요 (0) | 2022.02.20 |
- Total
- Today
- Yesterday
- SLAM강의
- SLAM공부
- 모두의연구소
- 실내자율주행
- 아이펠
- IT
- ros
- 멋쟁이사자처럼
- 해커톤
- AIFFEL교육
- 대전 인공지능
- 자율주행로봇
- AIFFEL
- 서빙로봇
- 멘탈관리
- 광주
- 인공지능 교육
- 배달로봇
- 인공지능교육
- 도전
- 광주인공지능사관학교
- 자율주행기술
- Python
- 인공지능
- 광주AI
- 모두의 연구소
- AIFFEL인공지능과정
- 양정연SLAM
- Slam
- AIFFEL후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |