Author Archive

Карта производителей роботов

Список условных обозначений: красные маркеры - производители промышленных роботов; синий маркеры с "S" - производители сервисных роботы, используемых корпорациями и правительствами; синий маркеры с "P" - производители служебными роботов для личного и частного использования, зеленые маркеры обозначают начинающие компаний, а желтые маркеры показывают, где расположены 20 лучших исследовательских лабораторий и университетов занимающихся робототехникой.

Нажмите на маркер, чтобы получить всплывающее окно с наименованием, местонахождением и ссылкой на сайт компании.


 
Читать полностью »

Comment

Управление роботом с Wii Remote

wii remote
Авторы : Delphi and lord.tiran
Wii Remote - стильный и удобный игровой контроллер от Nintendo. Если вашим устройством требуется управлять на расстоянии, то возможно Wii Remote как раз то что вам нужно.

Что может этот контроллер:

  • Подключение к компьютеру по bluetooth
  • Много кнопок: "A", "B", "home", "-", "+", "1", "2", "Up", "Down", "Left", "Right"
  • Акселерометр
  • Четыре светодиода
  • Встроенный контроллер заряда батареи
  • Микрофон

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

Читать полностью »

Comment

Raspberry Pi : OpenGL

В этой статье я расскажу о графических возможностях Raspberry Pi, подводных камнях и как их исбежать.
Читать полностью »

Comment

libmodbus for android

В одном из последних проектов наша команда решила попробовать бортовой компьютер с OS Android и ARM процессором в качестве замены дорогому x86 планшету с Linux. Дороговизна x86 Linux планшетов обусловлена высокой стоимостью железной части устройства и стоимостью предустановленной Windows.

В связи с использованием новой платформы, требуется пересобрать софт под ARM Android и научиться конфигурировать систему. В этой и последующих статьях мы расскажем, как нам это удалось.

Перейдем к практической части статьи. Перенос кода начинается со сборки используемых библиотек. Я начал с libmodbus – библиотеки для работы с modbus rtu/tcp. Для сборки библиотеки необходимо иметь Android SDK/NDK (Автор использовал crystax ndk r7), консоль со стандартными unix утилитами, git и установленный CMake. (Для Windows консоль + git можно легко получить, установив http://code.google.com/p/msysgit/)

Последовательность действий с комментариями (список команд в консоли):

Читать полностью »

Comment

Соревнования роботов LEGO-NXT

В недавнем времени на голову нашей команде свалились немцы с неким робототехническим соревнованием. В начале все говорили, что нужно будет писать код для умных немецких тележек, но... Суть соревнования состояла в том, что каждой команде выдавался робот LEGO-NXT, среда разработки, задание, и команда в течении нескольких часов должна была написать программу, позволяющей роботу выполнить поставленную задачу. Организовывалось данное мероприятие силами приехавших немцев, МГТУ им. Н.Э.Баумана, Политехническим музеем Москвы и др. Соревнования состояли из предварительных тестовых игр между командами внутри университета и финальным этапом в Политехническом музее. По времени соревнования заняли около недели.

Читать полностью »

Comment

Lua в робототехнике

lua_logo

 
 
 

Сегодня хотелось бы поговорить о том, как можно полезно использовать язык Lua при создании роботов. Lua - интерпретируемый язык, который легко интегрируется с кодом на С/С++, позволяющий из себя вызывать функции из библиотеки на С. Язык содержит кучу полезных штучек, прост в освоении и давно используется разработчиками компьютерных игр в их нелегком ремесле, исходные коды интерпретатора и библиотека языка доступны по лицензии MIT, легко скачать скомпилированный интерпретатор и библиотеку. Начнем с постановки проблем:

 
1) необходимо удобно хранить настройки
2) сокращение времени отладки действий робота

Читать полностью »

Comment

Ведение логов

postgresql При работе роботов и других устройств могут возникать ошибки или события, время и условия которых требуется сохранить. Для решения подобных задач в программировании используют ведение логов. Например, операционная система GNU/Linux записывает построчно в файлы, такие как /var/log/messages возникающие события, после из этих логов можно получить полезную информацию. Мне бы хотелось более подробно обсудить применение ведения логов в роботах, и рассказать как нашей командой решается эта задача.

Ведение логов можно применять в различных целях. В процессе работы робота могут возникать проблемы с различными устройствами: сервопривод недоступен, или плата сбора данных с датчиков перестала отвечать на запросы. Эти события с временем их возникновения и другой справочной информацией можно сохранить и использовать при отладке системы. Ведение логов позволяет вести статистику по неисправностям. После по этой статистике можно определить например, что устройство сбора данных перестает отвечать при интенсивной работе всех приводов на роботе - как оказывается позднее плате при интенсивной нагрузке не хватает питания, или канал связи забит. Можно сохранять не только ошибки, но и процесс выполнения различных задач. Если вы участвуете в соревнованиях и хотите оценить, как быстро ваш робот выполняет задачи на поле, ведение логов вам подойдет как нельзя лучше. Еще одно интересное применение видения логов, автор узнал при общении с иностранными коллегами: все управляющие команды на устройства и данные с датчиков сохранялись на SD карту, через какое-то время эта карта извлекалась и по статистике выполнялось моделирование работы робота в эмуляторе.

Читать полностью »

Comment

Моделирование роботов с использованием player/stage.

Перед разработчиками роботов и не только встает задача моделировать алгоритмы движения, взаимодействия робота с окружающим миром. Если вам необходимо протестировать как ваш робот будет ориентироваться в определенной местности с использованием камеры, инфракрасного дальномера и других сенсоров, как работает ваш алгоритм объезда препятствий, то эмулятор player/stage — это как раз то, что вам нужно.

Читать полностью »

Comment

Управление джойстиком с Qt

Иногда встает необходимость управлять роботом или другими устройствами удаленно. Я хочу обсудить дистанционное управлении с помощью джойстика, когда обработчик команд висит на компьютере и команды передаются на робота через канал передачи данных или команды обрабатываются непосредственно на самом устройстве, если он PC совместимо. Очевидные плюсы - дешевая цена джойстика от 300 руб. Удобно - джойстик зарекомендовал себя в играх.

Я написал небольшой класс VJoystickAdapter на С++ для Qt. Он взаимодействует с SDL дает пользователю удобный интерфейс работы с устройством и генерирует Qt сигналы при изменения состояния кнопок, аналоговых осей или других элементов джойстика. Связка SDL Qt делает код переносимым между разными OS. Рассмотрим UML диаграмму нашего  класса. Читать полностью »

Comment