티스토리 뷰
[SLAM] 양정연 교수 SLAM 강의 16강. Left Turn for wall following, Right Turn for Searching Obstacles
무엇보다_빛나는_샤트 2022. 2. 21. 21:172021. 10. 3. 19:55
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
SLAM 강의 16번째. Left Turn for wall following, Right Turn for Searching Obstacles
*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.
출처: 16강. Left Turn for wall following, Right Turn for Searching Obstacles
16강. Left Turn for wall following, Right Turn for Searching Obstacles
🎉강의요약
1. 로봇 청소기의 좋은 전략을 가지고 있는 Roomba
2. 문제 자체를 Stochastic하게 보았기 때문에 직진은 좌측 바퀴에 e만큼 미세한 값을 추가해서 장애물 탐지
3. 벽에 충돌 후 빠져나오기 위해 회전만으로는 부족하기 때문에 좌측 바퀴는 후진, 우측 바퀴는 전진으로 후진 모션으로 빠져 나온 후 우측 또는 전진을 해서 벽을 따라가는 모션 구현
4. 실제로 역공학으로 분석하고 다시 알고리즘 구성하고 튜닝이 오래 걸리지 않았다->Stochastic한 문제로 봤기 때문
5. 속도의 입력은 정규 분포를 가지는 확률적인 값을 입력해서 매번 같은 값이 입력되는 것이 아님.
<Mobile Robot CANNOT follow Straight line without SLAM>
확률적인 문제에서 랜덤 요소들을 어떻게 잘 넣을 수 있을지 중요
예시: 로봇 청소기가 벽에 부딪혔을때 얼마나 각도를 틀어야 하는지
Roomba의 전략(우회전: 장애물 찾기, 좌회전: 벽 따라가기)
<Mobile for Two Approaches in Stochastic World.>
[직진] - 사실은 우회전, 우회전하면서 장애물 탐지
결정론적 방법은 직진을 위해 좌우 바퀴에 동일한 속도 제시
Stochastic 방법은 속도의 입력을 속도의 확률 분포를 입력하는 방식
(대략 평균이 10인 정규분포 입력: 대개 10이 입력되지만 다른 값도 입력 가능함)
WL~N(m+e,1): 왼쪽 바퀴는 m+e 평균을 가지고 있다.
e만큼 더 이동하게 되면 확률적으로 왼쪽 바퀴가 더 빠르기 때문에 우회전하게 된다.
[좌회전]
벽에 부딪혀서 후진(우측)해야한다. 좌측 바퀴는 뒤로 우측 바퀴는 앞으로 움직여 후진해서 회전하기 위한 공간을 확보한다. 이때도 속도는 정규 분포의 형태로 확률적으로 입력된다.
센서값이 있긴 하지만 부정확하기 때문에 후진하는 것이 좋다.
<Stochastic Strategy for Cleaning Robot>
벽에서 빠져나오는 것은 해결.
벽을 타고 가야하는 문제.
> 기본적으로 우측으로 회전하면서 스파이럴 무브하는데 벽과 가까우면 후진-전진(우회전), 너무 멀어지면 전진(우회전). 이 두가지를 반복
>> 즉, 그림처럼 벽과 완전 평행한 움직임이 아닌 약간 출렁이는듯한 움직임
<Moving in a Straight Line is Not Possible. Then, Do a Circular Motion>
기본 전략: 좌측 바퀴 속도 > 우측 바퀴 속도: 스파이럴 무브
하지만 그 차이는 작아야 하므로 exp()을 추가해서 구현한다.
!offset값이 매우 중요!
<Wall following>
벽에 부딪혔을 때 그냥 회전하면 자주 실패
후진(2A)를 해서 공간확보(2B)
그 이후 전진 또는 우회전 각도를 줄여서 진입: 약간 오른쪽 회전이 더 수월
<Wall Following>
센서는 3개.
1. 우측바퀴 V0, 좌측 바퀴: V0+e, 하지만 좌측 그래프처럼 조금 벽과 떨어진 움직임이 보인다
2. 하지만 K값을 추가해줘서 보정해주면 우측 그래프처럼 벽을 잘 따라가는 것을 알 수 있다.
<Over Bumping... Double Thershold Instead of Steering Control>
너무 출렁이는 움직임보다 직선과 비슷한 움직임이 좋기 때문에 Double Threshold를 이용해 p컨트롤과 같은 움직임 제어 실행
피드백은 언제나 환영합니다.😊
틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글과 공감 눌러주세요
'SLAM' 카테고리의 다른 글
[SLAM] 양정연 교수 SLAM 강의 18강. Normal Distribution (0) | 2022.02.21 |
---|---|
[SLAM] 양정연 교수 SLAM 강의 17강. Midterm Exam, Roomba-like Stochastic Navigation (0) | 2022.02.21 |
[SLAM] 양정연 교수 SLAM 강의 15강. Strategy in a Stochastic world (0) | 2022.02.21 |
[SLAM] 양정연 교수 SLAM 강의 14강. Cleaning Robot about how to avoid walls (0) | 2022.02.21 |
[SLAM] 양정연 교수 SLAM 강의 13강. A Cleaning Robot as a Stochastic Example (0) | 2022.02.21 |
- Total
- Today
- Yesterday
- AIFFEL교육
- SLAM공부
- 광주AI
- 광주
- SLAM강의
- 자율주행로봇
- 실내자율주행
- Python
- 대전 인공지능
- 인공지능 교육
- 자율주행기술
- 도전
- 모두의 연구소
- 배달로봇
- ros
- AIFFEL인공지능과정
- IT
- 인공지능교육
- 해커톤
- 광주인공지능사관학교
- 인공지능
- 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 | 29 | 30 | 31 |