티스토리 뷰
[SLAM] 양정연 교수 SLAM 강의 17강. Midterm Exam, Roomba-like Stochastic Navigation
무엇보다_빛나는_샤트 2022. 2. 21. 21:172021. 10. 3. 19:55
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
SLAM 강의 17번째. Midterm Exam, Roomba-like Stochastic Navigation
*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.
출처: 17강. Midterm Exam, Roomba-like Stochastic Navigation
17강. Midterm Exam, Roomba-like Stochastic Navigation
🎉강의요약
1. 중간고사 과제 안내 영상이며 총 2가지 문제
2. 결정론적 방법을 이용해 로봇 청소기의 벽 따라가기를 구현. 최대 2시간. stochastic한 문제를 결정론적 방법으로 푸는게 얼마나 어려운 지 경험하는 것이 목적.
3. crobot7을 이용해 crobot8과 같이 벽을 (그나마) 잘 따라가는 움직임 구현
4. crobot8을 수정해서 보여준 예시처럼 벽을 잘 따라가는 움직임 구현
<Prob.1. Your BEST Strategy ex/robot/crobot>
crobot~crobot4 예제 제공
좌측 그래프는 헤딩 각도, 우측 그래프는 경로 로그.
>> 결정론적 방법을 이용해 공간을 잘 돌아다닐 수 있도록 과제 수행
(나만의 방법으로 구현 시도. 2시간 이상은 소비하지 말고 어려움을 느끼는 데 중점)
<ex/robot/crobot4>
중앙 센서: us[0]
우측 센서:us[2]
0,2번 센서를 사용. 1번 센서 사용하지 않음
중앙과 우측 센서의 사잇 각도값은 40~60도가 베스트.
전방 센서로 충돌한다면 왼쪽으로 90도 회전하는 전략 사용.
mode 변수를 이용해 충돌 여부에 따라 변경.
0: 충돌 없음 직진.
1: 충돌함
2: 에러 계산 (e=q_d-q, -π<e<π 범위가 아닐수도 있기 때문에 dpi함수를 불러 사용)
만약 e가 0.5보다 작으면, 90도 회전 완료되어서 mode=0, 아니라면 e를 수정해 좌회전으로 이동
q_d(q_desired) = 로봇이 생각하는 각도q + 90도
<ex/robot/crobot5 Increasing Collision Margin>
collision=5로 변경해 진행.
>> 벽에 잘 부딪히지 않지만 청소 성능이 좋지 않다. 벽 근처는 청소가 잘 되지 않는다.
<ex/robot/crobot6 Modifying 90 degree rotation>
90도 회전하는 부분의 코드 변경
collision = 5->2로 변경.
error < 0.5: 전방 센서, 측방 센서의 장매물이 없다면 전진. 90를 거의 다 회전했는데 90도를 맞추기 위해 계속 회전하는 것을 방지
앞이 막혀있지 않다면 직진!
<Prob2. Roomba-like Strategy Tuning of Left backward(ex/robot/crobot7)>
collision = 4
wl = -randn()-1 (randn: 정규 분포를 가지는 확률값이 들어온다)
wr = -randn()-0.5
> 충돌하게 되면 좌측 후진하게 된다.
<Prob. 2. Modify ex/robot/crobot8 Show your result>
crobot7을 조금 수정.
e = q_d - q
w0 = Ke (K>0)
wl = -w0 + aN(μl1,) (N: randn()함수)
w4 = w0 + aN(μr1,)
> K, a, μl, μr 4개의 변수를 적절히 바꾸면 된다. 거의 충돌이 없는 것처럼 보인다.
<In my case, Two types of Turning Strategy>
1. 전방 센서가 충돌: 90도 회전
2. 측방 센서가 충돌: 45도 회전 (벽 이탈 방지)
<Prob3. Mission: Basic Wall Following, However crobot8 does NOT follow walls. Let's go back to the first definition>
하나의 변수만 수정.
힌트: Roomba는 스파이럴 무브와 좌측 후진을 사용
예제 코드가 있다면 실습을 진행하고 싶지만 정식으로 수강을 한 것이 아니기에..
한 번 요청해서 실습을 진행해보고 싶다.
'SLAM' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 양정연SLAM
- 대전 인공지능
- SLAM강의
- AIFFEL인공지능과정
- 자율주행로봇
- 인공지능교육
- 인공지능
- 배달로봇
- AIFFEL교육
- 광주
- 광주인공지능사관학교
- 서빙로봇
- 자율주행기술
- Python
- 해커톤
- 광주AI
- 아이펠
- Slam
- 실내자율주행
- 인공지능 교육
- IT
- AIFFEL
- 모두의 연구소
- AIFFEL후기
- 도전
- 멋쟁이사자처럼
- SLAM공부
- 모두의연구소
- ros
- 멘탈관리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |