Skip to content

team-code-bridge-kr/AIRobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Robot Arm Line Tracking Car

로봇팔 라인트레이싱 자율주행차

QD007 로봇팔 자동차와 QD001 자율주행차의 기능을 통합한 ESP32 기반 자율주행 로봇 코드입니다.

주요 기능

1. 로봇팔 제어 (QD007 기능)

  • 5개 서보 제어: Chassis(회전), Shoulder(어깨), Elbow(팔꿈치), Wrist(손목), Claws(집게)
  • 다양한 제어 방식:
    • 직접 각도 입력 제어
    • 슬라이더를 통한 부드러운 제어
    • PTP(Point-to-Point) 좌표 제어
    • 동작 녹화 및 재생 기능
    • 원점 복귀 기능

2. 라인트레이싱 기능 (QD001 기능)

  • TRACK_1 모드: 2개 센서(좌우)를 사용한 기본 라인트레이싱
  • TRACK_2 모드: 3개 센서(좌/중앙/우)를 사용한 정교한 라인트레이싱
    • 더 정확한 라인 추적
    • 곡선 구간에서 더 안정적인 주행
    • 도로 이탈 감지 및 정지 기능

3. 장애물 회피 (AVOID 모드)

  • 초음파 센서를 사용한 장애물 감지
  • 장애물 발견 시 자동 회피 동작
  • 랜덤 회피 알고리즘

4. 따라가기 기능 (FOLLOW 모드)

  • 초음파 센서로 앞의 물체를 추적
  • 적절한 거리 유지
  • 물체의 움직임에 따라 자동 추종

5. WiFi 및 앱 제어

  • WiFi AP 모드 (SSID: Robot_Arm_Car, 비밀번호: 12345678)
  • 스마트폰 앱을 통한 원격 제어
  • 실시간 카메라 스트리밍 지원

하드웨어 구성

필요한 하드웨어

  • ESP32 개발 보드
  • 자동차 섀시 및 모터 드라이버
  • 로봇팔 (5개 서보 모터)
  • 초음파 센서 (HC-SR04 또는 유사)
  • 라인트레이싱 센서 3개 (IR 센서)

핀 연결

라인트레이싱 센서

  • Left sensor: GPIO 35
  • Middle sensor: GPIO 36
  • Right sensor: GPIO 39

초음파 센서

  • Trig: GPIO 13
  • Echo: GPIO 14

로봇팔 서보

  • Chassis: GPIO 25
  • Shoulder: GPIO 26
  • Elbow: GPIO 27
  • Wrist: GPIO 33
  • Claws: GPIO 4

필수 라이브러리

Arduino IDE에서 다음 라이브러리를 설치해야 합니다:

  1. vehicle.h - 자동차 제어 라이브러리 (QD001/QD007 패키지 포함)
  2. ultrasonic.h - 초음파 센서 제어 라이브러리
  3. ACB_CAR_ARM.h - 로봇팔 제어 라이브러리 (QD007 패키지 포함)
  4. ESP32Servo - ESP32 서보 제어 라이브러리
  5. WiFi - ESP32 WiFi 라이브러리 (기본 포함)
  6. esp_camera - ESP32 카메라 라이브러리 (기본 포함)

설치 방법

  1. Arduino IDE 설정

    • Arduino IDE 설치
    • ESP32 보드 지원 추가 (Arduino IDE 보드 매니저에서 ESP32 설치)
    • 필요한 라이브러리 설치
  2. 코드 업로드

    • Robot_Arm_Line_Tracking_Car.ino 파일을 Arduino IDE에서 열기
    • 보드 선택: "ESP32 Dev Module"
    • 포트 선택: 연결된 ESP32 포트
    • 업로드 실행
  3. WiFi 연결

    • ESP32가 AP 모드로 시작됩니다
    • 스마트폰에서 WiFi 네트워크 Robot_Arm_Car 검색
    • 비밀번호: 12345678
    • 연결 후 시리얼 모니터에서 IP 주소 확인 (일반적으로 192.168.4.1)

사용 방법

시리얼 모니터

  • 보드레이트: 115200
  • ESP32 부팅 후 시리얼 모니터에서 상태 확인

앱 제어

  1. 스마트폰에서 WiFi 네트워크 Robot_Arm_Car 연결
  2. 해당 제조사의 앱 다운로드 및 실행
  3. 앱에서 자동차 IP 주소 연결 (일반적으로 192.168.4.1)

기능 모드 전환

앱을 통해 다음 모드를 선택할 수 있습니다:

  • STANDBY: 수동 제어 모드
  • TRACK_1: 2개 센서 라인트레이싱
  • TRACK_2: 3개 센서 라인트레이싱 (QD001 스타일)
  • AVOID: 장애물 회피 모드
  • FOLLOW: 따라가기 모드

로봇팔 제어

앱에서 로봇팔의 각 관절을 개별적으로 제어할 수 있습니다:

  • Chassis: 로봇팔 회전
  • Shoulder: 어깨 관절
  • Elbow: 팔꿈치 관절
  • Wrist: 손목 관절
  • Claws: 집게 (각도 90~180도)

파라미터 조정

라인트레이싱 설정

코드에서 다음 값을 조정하여 라인트레이싱 감도를 변경할 수 있습니다:

int Black_Line = 2000;  // 검은선 임계값 (낮출수록 더 민감)
int Off_Road = 4000;    // 도로 이탈 임계값
int speeds = 250;       // 기본 속도 (0-255)

장애물 회피 설정

if (middleDistance <= 25)  // 장애물 감지 거리 (cm)

따라가기 설정

if (UT_distance < 15)           // 너무 가까움
else if (15 <= UT_distance && UT_distance <= 20)  // 적절한 거리
else if (20 <= UT_distance && UT_distance <= 25)  // 조금 멀림
else if (25 <= UT_distance && UT_distance <= 50)  // 추종 가능 거리

문제 해결

라인트레이싱이 작동하지 않는 경우

  1. 센서 값 확인: 시리얼 모니터에서 센서 값을 출력하여 Black_Line 값 조정
  2. 조명 조건 확인: IR 센서는 조명 조건에 영향을 받습니다
  3. 센서 높이 조정: 센서와 바닥 사이 거리를 적절히 조정

로봇팔이 움직이지 않는 경우

  1. 서보 전원 공급 확인
  2. 서보 핀 연결 확인
  3. 초기화 함수 확인: CAR_ARM.ARM_init(25,26,27,33,4)

WiFi 연결이 안 되는 경우

  1. SSID와 비밀번호 확인
  2. ESP32가 AP 모드로 시작되었는지 확인 (시리얼 모니터에서 확인)
  3. 스마트폰에서 WiFi 네트워크가 보이는지 확인

참고사항

  • 이 코드는 QD007과 QD001의 기능을 통합한 것입니다
  • 라인트레이싱 기능은 QD001의 3개 센서 방식을 포함하고 있습니다 (TRACK_2 모드)
  • 로봇팔 기능은 QD007의 모든 기능을 포함하고 있습니다
  • WiFi 및 앱 제어는 두 모델 모두에서 사용 가능합니다

버전 정보

  • Firmware Version: 0.12.21
  • 기반 모델: QD007 ESP32 Robot Arm Car V3.1 + QD001 Smart Car V6.3
  • ESP32: Arduino Framework

라이선스

이 코드는 교육 목적으로 제공됩니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors