Розуміння трансмісії вашого робота
Вступ
Основна частина вашого XRP називається трансмісія. Ми називаємо її так, тому що вона утримує два колеса, які рухають вашого робота. Зокрема, XRP має диференціальну трансмісію. Це той самий тип трансмісії, який ви бачите на міні-навантажувачі.
Робот XRP повертає за допомогою поворотного механізму, що означає, що під час повороту деякі колеса, іноді передні ролики, будуть ковзати. Це вимагає більше енергії для виконання поворотів і залежить від тертя передніх роликів та конкретної поверхні руху.
- До кожного колеса трансмісії вашого XRP прикріплений двигун. Ми можемо використовувати код ,
щоб вказати цьому двигуну, що ми хочемо, щоб він робив. Щоб робот рухався по бажаній
траєкторії, потрібно встановити швидкість двох приводних двигунів. Існує безліч варіантів налаштування цих двигунів. Ось кілька основних прикладів:
Їхати прямо
Найбільш фундаментальним рухом, який виконує робот, є рух прямо. Для цього обидва колеса рухаються вперед з однаковою швидкістю, щоб робот рухався прямо.
Поворот по дузі
Роботи можуть повертати по дузі, коли одне колесо обертається швидше за інше, що змушує робота повертати в бік від швидшого колеса. Зі збільшенням різниці в швидкості між двома колесами поворот стає більш крутим. Якщо поворот триває, робот проїде повне коло. У цьому випадку радіус кола зменшується зі збільшенням різниці в швидкості коліс.
Поворот на місці
Однією з переваг XRP над системою керування автомобілем є те, що вона може повертати на місці, де робот повертає приблизно між двома колесами. Це дозволяє роботу легко виїжджати з вузьких просторів без необхідності робити широкий поворот по дузі. Поворот на місці часто використовується для переміщення робота між двома місцями, оскільки він слідує легко передбачуваним шляхом.
Поворот на одному колесі
Якщо одне колесо рухається вперед або назад, а інше залишається нерухомим, робот поверне на місці, причому центром повороту буде нерухоме колесо. Це часто називають поворотом з розворотом, оскільки робот розвертається навколо нерухомого колеса. При повороті з розворотом діаметр кола, яке описує зовнішнє колесо, вдвічі перевищує колію колеса.
Зусилля
Існує кілька способів, за допомогою яких ми можемо вказати двигунам, що робити. Найпростіша річ, яку ми можемо контролювати, — це зусилля, яке повинен застосовувати двигун.
Уявіть, що ви їдете на велосипеді по рівній поверхні, крутячи педалі з нормальною швидкістю. Тепер уявіть, що ви натрапили на пагорб. Якщо ви продовжуєте крутити педалі з тією ж швидкістю, ви не сповільнитеся, піднімаючись на пагорб. Однак це не так просто! Вам доведеться крутити педалі сильніше, щоб піднятися на пагорб з тією ж швидкістю.
А тепер уявіть, що, діставшись до пагорба, ви продовжуєте крутити педалі так само інтенсивно, як і на рівній ділянці. Ви підніметеся на пагорб повільніше, але не будете так втомлені. Це те, що ми маємо на увазі під зусиллям двигуна. Ви не вказуєте двигуну, як швидко він повинен рухатися, а скоріше, як сильно він повинен працювати. Якщо ви накажете двигунам вашого робота працювати з постійним зусиллям, швидкість вашого робота буде змінюватися залежно від того, рухається він по рівній поверхні чи по похилій.
В обох відеороликах робот докладає однакових зусиль. У першому відеоролику робот повільно рухається вгору, оскільки сила тяжіння протидіє його зусиллям. У другому відеоролику робот швидко рухається вниз, оскільки сила тяжіння діє в тому ж напрямку, що і зусилля. Сила, що розвивається двигунами, однакова, але швидкість залежить від опору, що чиниться цій силі.
Порада
Зусилля також подібні до педалі газу в автомобілі. Якщо ви підіймаєтеся вгору по схилу, вам потрібно натиснути на педаль газу сильніше, щоб зберегти ту саму швидкість на схилі. Якщо ви не натиснете на педаль газу сильніше, ви сповільнитеся.
Перші рухи
Примітка
Підніміть XRP на коробку або інший предмет, щоб колеса нічого не торкалися і могли вільно обертатися.
Перш ніж керувати роботом, давайте напишемо простий код, щоб обертати одне з коліс. Це допоможе вам ознайомитися з середовищем програмування XRP і перевірити, чи правильно працює ваш XRP.
Спробуйте
Створіть новий файл в IDE під назвою spin_wheels.py. Додайте до нього
наступний код:
from XRPLib.defaults import *
left_motor.set_effort(0.5)
Запустіть код і подивіться, що буде.
Розберемо код по рядках:
from XRPLib.defaults import * наказує вашому роботу завантажити код з
XRPLib. Не переймайтеся надто тим, що означають усі команди в цьому рядку
зараз, просто знайте, що ви будете розміщувати цей рядок у верхній частині більшості своїх програм XRP.
left_motor.set_effort(0.5) uвикористовує функцію, надану вам у XRPLib
called set_effort який застосовується до лівого двигуна. 0.5 є параметром цієї функції, який вказує, що ми хочемо, щоб двигун застосовував 50% зусилля.
У XRP ми записуємо відсотки у вигляді десяткових чисел від 0 до 1, де 1 дорівнює 100%.
Тепер, коли ми перевірили лівий двигун, давайте перевіримо правий! Як ви думаєте,
як потрібно змінити код, щоб запустити правий двигун? Просто замініть
left_motor на right_motor.
Спробуйте
Змініть код і запустіть його на роботі. Переконайтеся, що обертається правильне колесо.
Притисніть до колеса якийсь предмет, наприклад олівець, щоб створити опір. Зверніть увагу, як колесо сповільнюється, коли ви це робите, оскільки йому потрібно більше зусиль, щоб зберегти ту саму швидкість.
Рухаючись назад
Ми змусили колеса обертатися вперед, але що робити, якщо ми хочемо рухатися назад? Для цього нам просто потрібно ввести від’ємне число для параметра effort. Це означає, що ми можемо використовувати будь-яке число від -1 до 1 для значення effort. -1 буде означати повну силу назад, 1 буде означати повну силу вперед, а 0 зупинить двигун.
Спробуйте
Спробуйте написати код, який змусить обидва колеса обертатися назад.
У цій таблиці наведено різні значення зусилля та відповідні дії колеса:
Значення швидкості |
Дія колеса |
|---|---|
1 |
Колесо обертається вперед із 100% зусиллям |
0.5 |
Колесо обертається вперед із зусиллям 50% |
0 |
Колесо перестає обертатися |
-0.5 |
Колесо обертається назад із зусиллям 50% |
-1 |
Колесо обертається назад при 100% зусиллі |