среда, 16 сентября 2015 г.

Первые успехи


На этой неделе мне почти удалось правильно обработать поток данных о положении от симулятора.
Я решил полностью отказаться от ROS по нескольким причинам:
  • ROS работает только на Linux.
  • ROS требует запуска мастер-ноды, а с учетом времени на запуск симулятора всё вместе запускается довольно долго.
  • ROS не поддерживает Java.
  • ROS добавляет задержку на обработку сообщения, требует дополнительных вычислительных мощностей.
  • В рамках текущей задачи (разработка контроллера для бипеда) ROS - лишняя зависимость.

Также было решено уйти от С++ и разрабатывать ПО на Java :
В C++ нет :
  • встроенного управления памятью, что усложняет архитектуру ПО
  • нет системы импорта модулей, что приводит к сложностям в сборке
  • длительная компиляция
  • для Windows только одна нормальная IDE - Visual Studio
  • отсутвие поддержки рефакторинга для C++ в Visual Studio
  • зависимость от платформы, зависимость библиотек от платформы
  • и так далее

Для связи с симулятором Gazebo нашел небольшую библиотеку JavaGazebo из состава allwpilib.

Пока разбираюсь почему в визуализаторе руки робота направлены вверх, когда в симуяторе робот просто висит подвешенный за голову.

Признаю, разрабатываьть всё с нуля, создавать велосипеды не лучшее решение, но так интересней.
В ближайших планах :
  1. реализовать обратное обновление состояния от модели в симулятор (моменты сил в сочленениях)
  2. затем наконец приступить к разработке собственно контроллера управления движением


Исходники тут

Комментариев нет:

Отправить комментарий