Робототехніка

Як спланувати простого робота за допомогою Linux

Як спланувати простого робота за допомогою Linux
Після встановлення ROS, можливо, ви захочете створити робота. Хорошим способом досягнення успіху в цьому проекті є планування того, що ви хочете зробити. У цьому випадку на допомогу приходить АФК. За допомогою ROS ви можете налаштувати те, що ви побудували, і візуалізувати все це. Працюючи з роботами, можливо, вам доведеться розглянути багато сценаріїв. Робот повинен взаємодіяти з навколишнім середовищем, наприклад, уникати дивана і знаходити шлях назад з кухні. Робот також повинен мати руки і ноги, якщо цього вимагають ваші потреби. Ви можете імітувати все це, використовуючи ROS, а для кодуючої частини ви також можете імітувати внутрішні елементи вашої системи.

Як ви будуєте робот ROS?

Щоб система працювала добре, а ви могли стежити за тим, що буде робити пристрій у певних ситуаціях, вам потрібні стандартні визначення для кожної деталі. У ROS ці компоненти є вузлами, послугами та темами. Коротше кажучи, ви створюєте один вузол для кожної основної потреби. Наприклад, рух - це один вузол, зір - інший вузол, а планування - третій вузол. Вузли містять служби, які можуть надсилати інформацію іншим вузлам, а служби також можуть обробляти запити та відповіді. Тема може транслювати значення на багато інших вузлів. Ознайомлення з цими термінами та їх використання - це перший ключ до освоєння розробки ROS2.

Наслідуйте навігацію за допомогою turtlesim

Починаючи з ROS, ви, ймовірно, придбаєте робота, який ходить або катається у вашому домі. Для цього робот повинен мати вигляд району, де він рухається. Для цього ви можете скористатися картографічним додатком, щоб перевірити поведінку свого робота. Дизайнери, які стоять за Turtlebot, придумали програму під назвою turtlesim, яка може зробити це за вас. Як і у всіх інших частинах ROS2, ви можете запустити ці інструменти за допомогою підкоманди з командного рядка. Потім у вас є заходи для різних функцій. Перша частина полягає у запуску вікна, де ви можете побачити моделювання, і це називається вузлом.

$ ros2 запустити turtlesim turtlesimnode

З'явиться вікно з черепахою в центрі. Щоб керувати черепахою за допомогою клавіатури, потрібно виконати другу команду, яка залишається відкритою, і продовжуйте натискати певні клавіші. Це другий вузол, який взаємодіє з першим.

$ ros2 запустити turtlesim turtleteleopkey

Тепер ви можете переміщати черепаху і бачити, як вона рухається. Ви також можете отримати помилки, такі як удар в стіну. Ці помилки відображаються в терміналі, де працює turtleimnode. Це найпростіше використання модуля моделювання. Ви також можете запустити задані фігури, надається квадрат і додати більше черепах. Щоб додати більше черепах, ви можете використовувати команду rqt.

Визначте служби за допомогою rqt

Програма rqt надає послуги з моделювання. Q означає Qt, який призначений для обробки інтерфейсу. У цьому прикладі ви породите нову черепаху.

$ rqt

Інтерфейс rqt - це довгий перелік послуг для імітації, яку ви запускаєте. Щоб створити нову черепаху, виберіть спадне меню "spawn", дайте черепашці нове ім'я та натисніть "виклик".'Ви одразу побачите нову черепаху поруч з першою. Якщо натиснути спадне меню "ікру", ви також побачите нову групу записів, пов'язаних з новонародженою черепахою.

Ви також можете переназначити команди для запуску нової черепахи. Команда для цього така:

$ ros2 запустити черепахуim turtleteleopkey -ros-args -remap turtle1 / cmdvel: = turtle2 / cmdvel

Встановіть назву "черепаха2" відповідно до вашого попереднього вибору.

Розширений перегляд за допомогою Rviz

Для більш досконалого та тривимірного перегляду використовуйте rviz. Цей пакет імітує всі вузли у вашому дизайні.

$ ros2 запусти rviz2 rviz2

У графічному інтерфейсі у вас три панелі з видом у центрі. Ви можете створювати середовища за допомогою панелі "Дисплеї". Ви можете додати стіни, сили вітру та інші фізичні властивості. Сюди ж ви додаєте своїх роботів.

Майте на увазі, що перед тим, як дійти до цієї точки, вам потрібно буде зрозуміти, як використовувати формат URDF. Формат URDF визначає робота, що дозволяє встановити тіло, руки, ноги і, перш за все, зони зіткнення. Зони зіткнення є, тому моделювання може вирішити, чи зіткнувся робот.

Навчання про створення робота у форматі URDF - це великий проект, тому використовуйте існуючий код з відкритим кодом, щоб експериментувати з емуляторами.

Імітуйте фізику за допомогою альтанки

У альтанці ви можете імітувати фізику навколишнього середовища вашого робота. Альтанка - доповнювальна програма, яка добре працює разом з rviz. За допомогою альтанки ви можете бачити, що насправді відбувається; за допомогою rviz ви відстежуєте, що виявляє робот. Коли ваше програмне забезпечення виявить стіну, якої немає, Gazebo покаже порожнє, а rviz покаже, де у вашому коді була створена стіна.

Висновок

Імітація вашого робота та його середовища необхідна для пошуку помилок та забезпечення необхідних удосконалень у роботі вашого робота, перш ніж викласти його на волю. Це виснажливий процес, який триває ще довго після того, як ви почнете тестувати бота, як в контрольованому середовищі, так і в реальному житті. Маючи адекватні знання про інфраструктуру внутрішніх систем вашого робота, ви можете зрозуміти, що ви зробили правильно і неправильно. Навчіться швидко оцінювати всі виявлені вади, оскільки вони можуть зробити вашу систему надійнішою в довгостроковій перспективі.

5 найкращих аркадних ігор для Linux
В наш час комп’ютери - це серйозні машини, що використовуються для ігор. Якщо ви не можете отримати новий високий бал, ви зрозумієте, що я маю на уваз...
Битва за Веснот 1.13.6 Розробка випущена
Битва за Веснот 1.13.6, випущений минулого місяця, є шостим випуском розробки в 1.13.x, і це забезпечує низку вдосконалень, особливо до інтерфейсу кор...
Як встановити League of Legends на Ubuntu 14.04
Якщо ви шанувальник League of Legends, то це можливість для вас тестувати League of Legends. Зверніть увагу, що LOL підтримується на PlayOnLinux, якщо...