Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO: 8 стъпки
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO: 8 стъпки
Anonim
Image
Image
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO
Създаване на дистанционно управляван самобалансиращ се робот Arduino: B-робот EVO

От jjrobotsjjrobots Следвайте още от автора:

Pybot: Python + 3D печатна роботизирана ръка
Pybot: Python + 3D печатна роботизирана ръка
Pybot: Python + 3D печатна роботизирана ръка
Pybot: Python + 3D печатна роботизирана ръка
Прост моторизиран въртящ се дисплей (базиран на Arduino + контролиран от вашия смартфон)
Прост моторизиран въртящ се дисплей (базиран на Arduino + контролиран от вашия смартфон)
Прост моторизиран въртящ се дисплей (базиран на Arduino + контролиран от вашия смартфон)
Прост моторизиран въртящ се дисплей (базиран на Arduino + контролиран от вашия смартфон)
Роботизиран захващач за ръце
Роботизиран захващач за ръце
Роботизиран захващач за ръце
Роботизиран захващач за ръце

За: Ние обичаме роботи, DIY и забавна наука. JJROBOTS има за цел да доближи отворените роботизирани проекти до хората чрез предоставяне на хардуер, добра документация, инструкции за изграждане+код, информация "как работи" … Повече за jjrobots »

------------------------------------------------

АКТУАЛИЗАЦИЯ: тук има нова и подобрена версия на този робот: B-роботът EVO, с нови функции

------------------------------------------------

Как работи?

B-ROBOT EVO е дистанционно управляван самобалансиращ се arduino робот, създаден с 3D отпечатани части. Само с две колела B-ROBOT е в състояние да поддържа баланса си през цялото време, като използва своите вътрешни сензори и задвижва двигателите. Можете да контролирате вашия робот, като го карате да се движи или завърта, като изпращате команди през смартфон, таблет или компютър, докато той поддържа баланса си.

Този самобалансиращ се робот чете своите инерционни сензори (акселерометри и жироскопи, интегрирани в чипа MPU6000) 200 пъти в секунда. Той изчислява отношението си (ъгъл по отношение на хоризонта) и сравнява този ъгъл с целевия ъгъл (0º, ако иска да поддържа баланс, без да се движи, или положителен или отрицателен ъгъл, ако иска да се движи напред или назад). Използвайки разликата между целевия ъгъл (да речем 0º) и действителния ъгъл (да речем 3º), той управлява система за управление, за да изпраща правилните команди до двигателите, за да поддържа баланса си. Командите към двигателите са ускорения. Например, ако роботът е наклонен напред (ъгълът на робота е 3º), той изпраща команда до двигателите да ускорят напред, докато този ъгъл се намали до нула, за да се запази балансът.

Стъпка 1: Още малко в дълбочина …

Още малко в дълбочина …
Още малко в дълбочина …
Още малко в дълбочина …
Още малко в дълбочина …
Още малко в дълбочина …
Още малко в дълбочина …

Физическият проблем, който B-ROBOT решава, се нарича обърнато махало. Това е същият механизъм, от който се нуждаете, за да балансирате чадър над ръката си. Точката на завъртане е под центъра на масата на обекта. Повече информация за обърнатото махало тук. Математическото решение на проблема не е лесно, но не е нужно да го разбираме, за да решим проблема с баланса на нашия робот. Това, което трябва да знаем, е как трябва да постъпим, за да възстановим баланса на робота, за да можем да приложим контролен алгоритъм, за да разрешим проблема.

Системата за управление е много полезна в роботиката (индустриална автоматизация). По принцип това е код, който получава информация от сензори и целеви команди като входове и създава в резултат изходни сигнали за задвижване на задвижващите роботи (двигателите в нашия пример) с цел регулиране на системата. Използваме PID контролер (пропорционално + производно + интегрално). Този тип управление има 3 константи за регулиране на kP, kD, kI. От Уикипедия: „PID контролер изчислява стойност на„ грешка “като разлика между измерен [вход] и желана зададена точка. Контролерът се опитва да минимизира грешката, като регулира [изход]. " И така, вие казвате на PID какво да измервате („Входът“), къде искате това измерване да бъде („Зададената точка“,) и променливата, която искате да коригирате, за да стане това („Изходът“.)

След това PID настройва изхода, опитвайки се да направи входа равен на зададената стойност. За справка, резервоар за вода, който искаме да напълним до ниво, входът, зададената стойност и изходът биха били нивото според сензора за нивото на водата, желаното ниво на водата и водата, изпомпвана в резервоара. kP е пропорционалната част и е основната част на контрола, тази част е пропорционална на грешката. kD е производната част и се прилага към производната на грешката. Тази част зависи от динамиката на системата (зависи от робота, двигателите с тегло, инерциите …). Последният, kI се прилага към интеграла на грешката и се използва за намаляване на постоянните грешки, той е като подреждане на крайния изход (помислете в бутоните за подстригване на RC волана на колата, за да накарате колата да се движи напълно изправена, kI премахва отместването между необходимата цел и действителната стойност).

На B-ROBOT командата за управление от потребителя се добавя към изхода на двигателя (единият двигател с положителен знак, а другият с отрицателен знак). Например, ако потребителят изпрати командата за управление 6 да се обърне надясно (от -10 до 10), трябва да добавим 6 към стойността на левия двигател и да извадим 6 от десния двигател. Ако роботът не се движи напред или назад, резултатът от командата за управление е завъртане на робота

Стъпка 2: Какво ще кажете за дистанционното управление?

"loading =" мързелив"

Препоръчано: