안녕하세요? 로봇 & 코딩교육 No.1
크리에이터 태지쌤입니다.
오늘은 코딩/인공지능교육에 많이 활용되고 있는
SK텔레콤에서 출시한 알버트AI를 통해
라인트레이서, 즉 검은 색 라인을 따라가도록
만들어보고자 합니다.
제가 인터넷, 유튜브 다 찾아봤는데
알버트 로봇으로 라인트레이서를 구현한
콘텐츠는 전혀 없더라구요.
아마 태지쌤이 최초가 되지 않을까 싶어요.
그럴만한게....
다른 코딩로봇의 경우, 예를 들어 햄스터는
햄스터 로봇의 바닥에 적외선센서가 있어서
라인트레이서를 구현하기가 참 쉬워요.
그런데 오른쪽 사진처럼
알버트ai의 경우 근접센서가 로봇의 바닥이 아닌
로봇의 정면에 위치하고 있습니다.
그러다보니 장애물회피 기능은 가능하지만
라인트레이서는 어렵다는 편견이 있죠.
저 태지쌤이 오늘 그 편견을 깨보겠습니다.
알버트AI의 구성도를 보면
로봇 정면에 근접센서가 양쪽에 있어요.
그런데 이 근접센서라는 단어 때문에
많은 분들이 오해하실 수 있을 것 같아요.
즉 거리만 인식할 수 있다라고 말이죠.
그런데 말입니다~~
이 근접센서는 어차피 적외선을 활용하는거라
검은색과 흰색을 구분할 수 있어요.
어떻게 구분하냐구요??
검은색은 적외선을 흡수해서
센서값이 작게 나오고
흰색은 적외선을 반사해서
센서값이 크게 나오거든요.
이 원리를 이용하면 근접센서로
거리 뿐만 아니라 바닥의 검은색과 흰색을
구분해 낼 수 있는거에요.
실제로 그런지 실험해볼까요?
흰 색 종이 위에 근접센서를 가까이한 후
스크래치에서 센서값을 읽어볼게요.
보이시나요?
흰색 종이 위에서는 양쪽 근접센서값이 70이에요.
이번에는 검은색 라인 위에 올려놔봤어요.
어! 이번엔 양쪽 센서값이 50미만으로 뚝 떨어졌어요.
신기하죠?
이래서 라인트레이서 구현이 가능한거에요.
지금부터는 다른 로봇과 동일하게
코딩해주면 됩니다.
경우의 수(= 조건문)는 3가지입니다.
1) 왼쪽 근접센서가 검은색
라인에 닿은 경우
2) 오른쪽 근접센서가 검은색
라인에 닿은 경우
3) 양쪽 근접센서가 흰 색
라인에 닿은 경우
1번의 경우를 코드로 표현하면
오른쪽 근접센서 = 검은 색 / 왼쪽 근접센서 = 흰 색
기준이 되는 수치값을 50으로 설정할게요.
이때는 오른쪽으로 회전해야 하니까
오른쪽으로 도는 코드를 넣었구요.
자동차 방향지시등처럼 알버트AI의
LED 색깔도 오른쪽만 켜줬어요.
2번의 경우를 코드로 표현하면
왼쪽 근접센서 = 검은 색 / 오른쪽 근접센서 = 흰 색
기준이 되는 수치값을 50으로 설정할게요.
이때는 왼쪽으로 회전해야 하니까
왼쪽으로 도는 코드를 넣었구요.
자동차 방향지시등처럼 알버트AI의
LED 색깔도 왼쪽만 켜줬어요.
3번의 경우는 왼쪽 오른쪽 근접센서 둘 다
흰 색에 닿은 경우
즉 직진만 하면 되는 경우에요.
이것도 따로 조건문으로 표현할 수 있지만
1,2번 모두 아닌 경우에는 3번이니까요.
'만약 참이라면 아니면'을 이용하면
별도의 조건문 작성없이 코드로 표현할 수 있어요.
이때는 일정 속도로 직진하는 코드를 넣었어요.
그리고 직진이니까 양쪽 LED를 초록색으로 켜줬구요.
지금까지의 코드를 종합해보면
전체 코드를 아래와 같습니다.
코딩은 정답이 있는게 아닙니다.
저처럼 위와 같이 코딩할 수 있지만
충분히 다른 논리로도 알버트AI를 통해
라인트레이서를 구현해 낼 수 있어요.
< 아래는 두번째 방법 >
웨일북에서도 가능합니다.
여러분은 어떻게 해결했는지
댓글을 통해 공유해주시겠어요~?^^
'로봇코딩' 카테고리의 다른 글
로봇유튜버 태지쌤과 함께하는 로봇체험[대구과학관] (0) | 2022.12.29 |
---|---|
어린 자녀 선물로는 makeU 코딩로봇 추천 (0) | 2022.12.14 |
유초등교육로봇 whalesbot makeU/abilix 구매할 수 있는 곳 (0) | 2022.10.11 |
[코딩교구] 테일봇 프로 Tale-Bot / 마르시스에듀 (0) | 2022.07.12 |
[인공지능 교육] AI기능이 추가된 3세대 코딩로봇 알버트AI (0) | 2021.07.01 |