Агуулгын хүснэгт:

SnappyXO нарийн хөдөлгөөнт робот: 6 алхам
SnappyXO нарийн хөдөлгөөнт робот: 6 алхам

Видео: SnappyXO нарийн хөдөлгөөнт робот: 6 алхам

Видео: SnappyXO нарийн хөдөлгөөнт робот: 6 алхам
Видео: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Арваннэгдүгээр
Anonim
SnappyXO нарийн хөдөлгөөнт робот
SnappyXO нарийн хөдөлгөөнт робот

PrecisionMovement Arduino номын санг ашиглан Arduino роботыг тодорхой зайд шууд чиглүүлээрэй эсвэл тодорхой өнцгөөр эргүүлээрэй.

Роботыг мушгих үед үрэлтийг багасгахын тулд өнхрөх бөмбөг цутгамал эсвэл түүнтэй тэнцэх хэмжээтэй байх шаардлагатай.

www.pololu.com/product/954

Та роботыг тодорхой зайд урагшлах эсвэл тодорхой өнцгөөр эргүүлэхийг хэлж болно. Хөтөлбөр нь нас барсан тооцоог ашиглан байр сууриа тодорхойлдог. Байршлын тооцоо нь зөвхөн дугуйны хурд дээр тулгуурладаг тул гулсах нь ихээхэн алдаа гаргах болно. Роботыг зохион бүтээгч нь хальтиргаа гулгаа үүсэх эрсдлийг бууруулахад анхаарах ёстой.

Үүнийг SnappyXO роботтой ажиллахын тулд туршиж үзсэн.

Алхам 1: Хичээлийн байршил өөрчлөгдсөн

Хичээлийг доорх хуудас руу зөөсөн. Энэ заавар цаашид хадгалагдахаа больсон.

sites.google.com/stonybrook.edu/premo

Алхам 2: SnappyXO дифференциал хөтөч робот бүтээх

Бидний ашиглах PreciseMovement номын сан нь зөвхөн дифференциал хөтөч роботуудтай нийцдэг. Та 2 дугуйгаар хөтлөгчтэй бусад роботыг сонгож болно.

Алхам 3: Электроникийг холбоно уу

Электроникийг холбоно уу
Электроникийг холбоно уу

Стандарт SnappyXO оптик кодлогчийн хувьд:

D0 (кодлогч гаралт) -> Arduino дижитал зүү

VCC -> Arduino 5V

GND -> GND

Мотор ба Arduino Power:

Моторын тэжээлийн эх үүсвэр нь таны ашиглаж буй хөдөлгүүрт тохирсон байх ёстой. SnappyXO хэрэгслийн хувьд 4АА батерейг моторын хүчээр, 9V батерейг Arduino -ийн хүчээр ашигладаг. Тэд бүгд нийтлэг GND -тэй эсэхийг шалгаарай.

Алхам 4: PreciseMovement Arduino номын санг суулгана уу

Татаж авах:

github.com/jaean123/PreciseMovement-library/releases

Arduino номын санг хэрхэн суулгах вэ:

wiki.seeedstudio.com/How_to_install_Arduino_Library/

Алхам 5: Код

Arduino код:

create.arduino.cc/editor/weenloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview

Эдгээр параметрүүдийг тохируулах шаардлагатай. Код дээр санал болгосон бусад параметрүүдийг илүү сайн ажиллахын тулд тохируулж болно.

  • ARDUINO PINS -ийн дагуу хөдөлгүүрийн тээглүүрийг шалгаж тохируулна уу.
  • LENGTH ба RADIUS -ийг тохируулна уу.

    • LENGTH нь зүүн дугуйнаас баруун дугуй хүртэлх зай юм.
    • RADIUS бол дугуйны радиус юм.
  • PULSES_PER_REV -ийг тохируулах нь нэг дугуйны эргэлтэнд кодлогчын гаралтын тоо юм.

    • Хэрэв кодлогч нь дугуйны босоо амнаас шууд уншихаар холбогдоогүй бол энэ нь нэг хөдөлгүүрийн босоо эргэлтийн кодлогч гаралтын импульсийн тооноос ялгаатай болохыг анхаарна уу.
    • PULSES_PER_REV = (хөдөлгүүрийн тэнхлэгийн нэг эргэлтэд импульс) x (арааны харьцаа)
  • Урагш хөдөлсний дараа робот хэт шидэлт хийж байгааг харвал STOP_LENGTH -ийг тохируулна уу.

    Тооцоолсон байрлал нь зорилтот газраас STOP_LENGTH зайд орсны дараа робот зогсох болно. Тиймээс STOP_LENGTH нь роботыг зогсооход шаардагдах ойролцоо зай юм

  • PID параметрүүд

    KP_FW: Энэ бол урагшлах хөдөлгөөний пропорциональ бүрэлдэхүүн хэсэг юм. Робот шулуун явах хүртэл үүнийг нэмэгдүүлээрэй. Хэрэв та үүнийг тохируулснаар шууд ажиллуулж чадахгүй бол тоног төхөөрөмж буруутай байж магадгүй юм. (жишээлбэл, дугуйны буруу байрлал гэх мэт)

    KP_TW: Энэ бол PID мушгих хөдөлгөөний пропорциональ бүрэлдэхүүн хэсэг юм. Зүгээр л бага утгаас эхэлж, үүнийг эргүүлэх хурд эсвэл эргүүлэх үед роботын өнцгийн хурд хангалттай хурдан болох хүртэл нэмэгдүүлээрэй, гэхдээ хэт ачаалал өгөхгүй. Ажиглалт хийхийн тулд та роботыг 0 -ээс 90 хүртэл эргүүлж, давталтын функцэд дараах зүйлийг оруулах боломжтой

KP_FW -ийг тааруулахын тулд үүнийг давталтад оруулна уу:

mover.forward (99999);

KP_TW -ийг тааруулахын тулд үүнийг 0 -ээс 90 -ийн хооронд ээлжлэн байрлуул

mover.twist (90); // 90 CW эргүүлэх

саатал (2000);

mover.twist (-90) // Twist 90 CCW

саатал (2000);

TARGET_TWIST_OMEGA дээрх өнцгийн хурдыг мушгихын тулд пропорциональ хянагч хэзээ ч яг зорилтот түвшинд хүрч чадахгүй тул KI_TW -ийг бас тохируулах шаардлагатайг анхаарна уу. Гэсэн хэдий ч яг энэ өнцгийн хурдыг мушгих шаардлагагүй юм. Өнцгийн хурд хангалттай удаан байх шаардлагатай.

Алхам 6: Энэ нь хэрхэн ажилладаг талаар

Хэрэв энэ нь хэрхэн ажилладаг талаар сонирхож байвал үргэлжлүүлэн уншина уу.

Цэвэр хөөцөлдөх алгоритмыг ашиглан шулуун шугамын зам дээр урагшлах хөдөлгөөнийг шулуун байлгадаг. Цааш нь: Pure Pursuit -ийн талаар:

Twist PID хянагч нь мушгих өнцгийн хурдыг TARGET_TWIST_OMEGA -д байлгахыг хичээдэг. Энэ өнцгийн хурд нь дугуй биш харин бүх роботын өнцгийн хурд гэдгийг анхаарна уу. Зөвхөн нэг PID хянагч ашигладаг бөгөөд гаралт нь зүүн ба баруун моторын PWM бичих хурд юм. Үхсэн тооцоог өнцгийг тооцоолохын тулд хийдэг. Өнцөг алдааны босгод хүрмэгц робот зогсох болно.

Зөвлөмж болгож буй: