대부분 자율 주행 로버 로봇에 필요한 기능 중 하나가 라인 팔로잉입니다. 이 프로젝트의 목적은 라인 팔로워 로봇을 만들고 PID 컨트롤러를 재미있게 배우는 데 있습니다.
부품
이 로봇은 두 모터, RosBot 베이스보드, 5채널 센서로 제대로 작동합니다. 다른 제품과 달리 별도 H-브리지 모터 드라이버나 각종 부품을 살 필요가 없습니다. RosBot 베이스보드에 2채널 H-브리지 듀얼 드라이버가 내장되어 있어 모터를 베이스보드에 연결하기만 하면 아두이노 우노보다 더 많은 전력을 공급합니다.
로봇 프레임: 키튼봇 아노다이즈드 알루미늄 섀시 - 멋지고 튼튼하며 마운트 홀이 많음(4.8mm 레고 테크닉 호환). 다른 재미난 프로젝트에도 재사용 가능.
로봇 두뇌: RosBot 베이스보드 - 아두이노 우노 기반 메인보드, 2채널 온보드 듀얼 H-브리지 모터 드라이버 내장.
로봇 눈: 5채널 IR 라인 팔로잉 트래커 센서 - 5채널 적외선 감지기, 더 정확하고 안정적.
1단계: 조립
이 로봇은 조립이 꽤 쉽습니다. 설명서 따라 하면 약 15분 걸립니다.
먼저 모터를 섀시 양옆에 부착하고 고무 휠을 끼우세요.
5채널 IR 센서를 섀시 앞쪽에 장착하세요.
RosBot 베이스보드를 섀시에 부착하면 배선 준비 완료.
2단계: 배선
5채널 IR 센서 연결:
VCC → 5V
GND → RosBot GND
T1-T4 → 핀 A0-A3
T5 → 핀 SDA
DC 모터는 A+A-, B+B- 핀에 연결.
코딩
코드에 센서 배열 출력마다 가능한 상태를 나타내는 상태 머신이 있습니다. 로봇은 센서 배열 출력에 따라 특정 방향으로 이동합니다.
void stateMachine(int a) {
switch (a) {
case B00000: outlineCnt++; break;
case B11111: outlineCnt++; break;
case B00010: case B00110: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(0, 50, 0)); bias = 1; break;
case B00001: case B00011: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(0, 200, 0)); bias = 2; break;
case B00100: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(0, 0, 20)); bias = 0; break;
case B01000: case B01100: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(50, 0, 0)); bias = -1; break;
case B10000: case B11000: outlineCnt = 0; pixels.setPixelColor(2, pixels.Color(200, 0, 0)); bias = -2; break;
default: Serial.println(a,BIN); outlineCnt++; break;
}