OpenSCAD - система автоматизированного проектирования на основе параметрического описания модели. Как следует из названия, программа является открытой (и бесплатной), к тому же, есть версии для основных операционных систем. Сайт проекта находится по адресу www.openscad.org.
вторник, 24 декабря 2019 г.
воскресенье, 11 ноября 2018 г.
URDF. Управление движением в MoveIt!
Управление роботом-манипулятором требует решения прямой и/или обратной задач кинематики, т.е. определение положения рабочего инструмента при заданных параметрах суставов, либо вычисление углов/смещений по осям для обеспечения желаемых координат и ориентации инструмента. В общем случае, это нетривиальная задача. К счастью, фреймворк MoveIt! в системе ROS берёт эти расчёты на себя. Документацию по его использованию можно найти на официальном сайте. В этом посте я попытаюсь применить MoveIt! к разработанной ранее модели робота.
воскресенье, 26 августа 2018 г.
URDF. Запуск в Gazebo
Gazebo - это симулятор механических систем, и прежде всего роботов. Он позволяет учесть не только геометрию модели, но также и её динамику. Это бесплатная программа с открытым исходным кодом. Gazebo не является частью ROS, но глубоко интегрирован с этой системой, и обычно входит в full desctop версию. Когда-нибудь я напишу об этой программе подробнее, пока же достаточно знать, что она есть.
вторник, 26 июня 2018 г.
YAML. Формат представления данных
Описание параметров в ROS будет неполным без упоминания языка разметки для преставления этих самых параметров. Если в простейшем случае значение можно описать с помощью одного числа, и ничего дополнительного придумывать не нужно, то для списка величин уже потребуются некоторые правила разметки. Тут и возникает потребность в чём-то вроде YAML.
понедельник, 11 июня 2018 г.
URDF. Язык описания роботов
Для описания роботов в ROS используется язык URDF (Universal Robotic Description Format), который является, по сути, диалектом XML. Данный язык представляет робота как совокупность звеньев (link), сочленений (joint), сенсоров и ряда вспомогательных параметров. Для подробного ознакомления с данным форматом могут быть полезны ресурсы: руководство, спецификация элеметов.
Описание звена в общем виде может быть представлено следующим образом. Блок visual содержит видимую модель робота, т.е. описывает его геометрию и свойства поверхности. Геометрия может быть задана как простейшими формами (цилиндр, параллелепипед), так и сеткой, полученной в CAD-системе. Блок collision описывает ту модель, которая будет использована при выявлении столкновений с другими объектами. Чаще всего эта часть совпадает с описанием блока visible, но может и отличаться. Например, для ускорения расчётов сложный профиль поверхности может быть аппроксимирован каким-либо примитивом. В блоке inertial содержатся физические свойства звена, такие как масса или инерция.
среда, 3 января 2018 г.
ROS. Сервисы процессов
Среди рассмотренных способов взаимодействия объектов в ROS топики ориентированы на одностороннюю связь, а сервисы хоть и рассчитаны на общение типа "вопрос - ответ", но предполагают мгновенное исполнение команды. Если же процесс требует времени, придётся ждать, пока он не завершится.
Для того, чтобы работать с протяжёнными во времени процессами (типа вращения звеньев манипулятора) в ROS предусмотрен специальный тип сервиса - action. Он также имеет клиент-сервисную архитектуру, но при этом клиент имеет возможность отслеживать текущее состояние процесса, а также прерывать его, если необходимо.
воскресенье, 1 октября 2017 г.
Xacro. Макросы
XML хорош тем, что позволяет описать почти всё, что угодно. В ROS он используется для описания роботов (URDF, SDF), и чем больше робот, тем больше текста содержит файл, который и создавать бывает не просто, а изменять параметры ещё сложнее. Xacro (XML Macros) является языком макрорасширений для работы с XML. Он позволяет определять как отдельные параметры, так и целые блоки, которые будут преобразованы в текст и вставлены в заданном месте. Если вы знакомы с макросами в C/C++, с Xmacro тоже легко разберётесь.
Подписаться на:
Сообщения (Atom)