понедельник, 30 декабря 2019 г.

OpenSCAD. Фигуры на плоскости и экструзия

OpenSCAD включает в себя ряд команд, позволяющих строить двумерные объекты. И сами команды, и их параметры очень похожи на свои "трёхмерные аналоги", за тем исключением, что лежать они будут в плоскости XY. Рассмотрим некоторые возможности по созданию таких фигур и построению объёмных тел на их основе. 

суббота, 28 декабря 2019 г.

OpenSCAD. Функции, модули, библиотеки

Функции в OpenSCAD предназначены для вычисления каких-либо значений и всегда возвращают свой результат. Объявление функции имеет вид 

    function название(список_аргументов) = тело_функции;

При объявлении можно задавать значения аргументов по умолчанию с помощью знака равенства. В вызове функции агрументы могут быть просто перечислены в порядке объявления, либо переданы по имени. Язык программирования поддерживает использование тернарного оператора условие ? действие_1 : действие_2, который может быть использован, в частности, для организации рекурсивных вызовов. 

пятница, 27 декабря 2019 г.

OpenSCAD. Первые шаги

Для создания 3D модели в OpenSCAD необходимо написать сценарий её построения, а именно, перечислить базовые блоки и операции над ними. Базовыми блоками могут быть геометрические примитивы (кубы, сферы), их комбинации и другие отображаемые элементы. При этом команды записываются в виде

    преобразование1 преобразование2 ... преобразованиеN элемент;

т.е. каждое действие выполняется над записанным справа потомком, а самым правым элементом является отображаемый объект. Если элемент не представляет собой блок в фигурных скобках, в конце ставится точка с запятой. 

вторник, 24 декабря 2019 г.

OpenSCAD. Простой инструмент для простых задач

OpenSCAD - система автоматизированного проектирования на основе параметрического описания модели. Как следует из названия, программа является открытой (и бесплатной), к тому же, есть версии для основных операционных систем. Сайт проекта находится по адресу www.openscad.org.

воскресенье, 11 ноября 2018 г.

URDF. Управление движением в MoveIt!

Управление роботом-манипулятором требует решения прямой и/или обратной задач кинематики, т.е. определение положения рабочего инструмента при заданных параметрах суставов, либо вычисление углов/смещений по осям для обеспечения желаемых координат и ориентации инструмента. В общем случае, это нетривиальная задача. К счастью, фреймворк MoveIt! в системе ROS берёт эти расчёты на себя. Документацию по его использованию можно найти на официальном сайте. В этом посте я попытаюсь применить MoveIt! к разработанной ранее модели робота. 

воскресенье, 26 августа 2018 г.

URDF. Запуск в Gazebo

Gazebo - это симулятор механических систем, и прежде всего роботов. Он позволяет учесть не только геометрию модели, но также и её динамику. Это бесплатная программа с открытым исходным кодом. Gazebo не является частью ROS, но глубоко интегрирован с этой системой, и обычно входит в full desctop версию. Когда-нибудь я напишу об этой программе подробнее, пока же достаточно знать, что она есть.

вторник, 26 июня 2018 г.

YAML. Формат представления данных

Описание параметров в ROS будет неполным без упоминания языка разметки для преставления этих самых параметров. Если в простейшем случае значение можно описать с помощью одного числа, и ничего дополнительного придумывать не нужно, то для списка величин уже потребуются некоторые правила разметки. Тут и возникает потребность в чём-то вроде YAML.