четверг, 2 февраля 2023 г.

Сборка ROS2 Foxy на Astra Linux

В настоящее время запуск ROS2 в Astra Linux является скорее пожеланием, чем насущной необходимостью. Поэтому моей целью в данной статье является не создание полноценного окружения, а минимальная рабочая сборка, позволяющая запустить код, созданный в Ubuntu или других "родных" для ROS2 ОС. 

среда, 26 октября 2022 г.

tf2. Положение в пространстве

Для выполнения полезной работы либо сам робот, либо отдельные его компоненты выполняют перемещение в пространстве. Обычно мы можем ввести локальные системы координат, связанные с компонентами робота и внешним миром и образующие "дерево". Если для каждой локальной системы координат мы укажем родительскую, а также определим положение и ориентацию в заданный момент времени, то получим описание положения всей системы в пространстве.

tf2 предназначен для работы с трансформациями. Этот инструмент, решает следующие задачи:

  • обмен данными о трансформациях в системе;
  • хранение истории трансформаций;
  • определение преобразований между двумя системами координат.

четверг, 20 октября 2022 г.

ROS2. Что нового?

На момент написания данной статьи версия ROS2 уже успела добраться до литеры H и двинуться дальше, поэтому данную систему труно назвать "новой". Тем не менее, подобный вопрос возникает у каждого, кто привык к ROS1, но со второй версией ещё не знаком. Беглое знакомство с документацией показывает, что основные концепци не изменились, есть издатели и подписчики, обмен сообщениями происходит через топики, сервисы по-прежнему работают. Разве что вместо команд типа rosrun теперь нужно писать ros2 run, а сам ROS2 теперь работает в Windows и MacOS. Но давайте посмотрим на детали. 

понедельник, 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.