roboforum.ru

Технический форум по робототехнике.


OMAP3530 как платформа для "робота"

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

Re: OMAP3530 как платформа для "робота"

Сообщение Dobriy » 16 ноя 2010, 08:56

Не могли бы посоветовать литературу по программированию этого OMAP3530. По сайту TI лазил но написано там много но не то(или может быть я не понял). Я так понял что проги пишутся под ARM Cortex A8. В инете нашёл мол это ARMv7 и хотелось бы литературу для учёбы(с армами дела вообще не имел).
Dobriy
 
Сообщения: 2
Зарегистрирован: 13 ноя 2010, 21:01

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 17 ноя 2010, 01:28

Dobriy писал(а):У меня имеется похожая железка devkit8000, Linux на ней поднял и пишу програмки на С++ под неё, но вот заинтерисовался программированием под арм и вообще под этот проц на асме. Сразу скажу что дела с армами не имел.
По сайту TI лазил но там написано много но не то. В общем нужна литература что бы научиться прогать под арм и под DSP тот что на омапе.
Компилятором пользуюсь codesourcery. Может посоветуете ресурсы?


Если собираетесь программировать на ассемблере под линукс, то можно продолжать использовать CodeSourcery. Под DSP или отдельностоящий компилятор C6000 Code Generation Tools от TI или Code Composer Studio от того же TI (можно использовать так же для компиляции под ARM, советую CCS). Литература... Для начала TRM на процы, описание ассемблерных инструкций, внимательное изучение основных режимов работы процессоров и периферии. Потом покопаться на сайте http://www.dsprelated.com/books.php и выбрать чего душа желает. :)

P.S. Надеюсь Вы имеете представление что такое "программирование на ассемблере" и сколько придётся потратить сил и времени - особенно при работе с DSP. :)
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Sigi » 14 июн 2011, 19:26

Добрый день. Хотел спросить как успехи? Я просто в данный момент занимаюсь тем же. Свои результаты я опубликовал на сайте:
http://ru.labsegeda.org/index.php?title=Beagle_board-xM
Может поможет, а может можно объединить усилия.

Общая цель у меня, это создание системы стерео зрения на базе этой платы. Для этого я купил две Web камеры (к плате они легко подключаются, как это сделать описано на сайте). Сейчас пытаюсь на компьютере написать программу для построения стереоизображения с тех же камер (пока не получается). Как отлажу алгоритм на компьютере буду часть алгоритма, которая ищет общие части на изображении, переносить на DSP ядро.

С уважением, Сергей.
Аватара пользователя
Sigi
 
Сообщения: 20
Зарегистрирован: 09 сен 2010, 22:35
Откуда: Россия, Москва
прог. языки: C

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 02 авг 2011, 13:13

Здравствуйте, Сергей.

Извиняюсь за задержку с ответом, был в отпуске. Продвижение есть. По ходу дела выкладываю наиболее интересное в блоге http://blog.galemin.com. Сейчас дописываю real-time библиотеку на C++ и базовую application для OpenCV, параллельно начинаю работать с LPC1769 для дополнительных модулей.

С точки зрения зрения :) ставку сделал на модуль камеры на чипе mt9p031 от Aptina (драйвера под linux в kernel mainline на подходе), наверно для стерео это не пойдет, хотя возможно можно подключить две камеры к борде. Преимущества - быстрота работы (используется camera interface OMAP'а) и то что к модулю LI-5M03CS от Leopard Imaging можно подключить любой объектив с CS разъемом (об этом есть в блоге).

Всегда рад поучиться чему-то новому, можно даже вместе что-то сообразить. :) Если что мой email есть в профайле блога. Пишите - обязательно отвечу.
Последний раз редактировалось mgalemin 23 авг 2011, 05:55, всего редактировалось 1 раз.
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Sigi » 11 авг 2011, 20:24

Максим, добрый день.

Я пока решил вопрос с стереозрением отложить. Поскольку первоочередная задача у меня стоит в разработке системы помощи водителю (это моя кандидатская работа), а для нее я решил использовать одну камеру, а расстояние до объектов определять по изменению размеров объектов (собственно пока работаю в этом направление). В качестве камеры все еще использую web камеру, в будущем планирую сменить, но скорей всего на что-то видящее в темноте (плюс ИК фары на машину поставлю :)).

Кстати как я понял Вы хотите использовать дополнительные контроллеры для управления исполнительными устройствами. Вы не рассматривали идею использовать для этого DSP ядро? Оно же отлично подходит и для управления двигателями и т.п. К тому же там есть аппаратный ШИМ (хотя их там конечно всего три, но можно сделать программный :)). Конечно немного жаль, что в этой плате слишком мало выводов процессора выведено на внешний разъем, но может кто-то сделает плату с этим процессором и со всеми выводами :). Я немного поэкспериментировал в этой области: научился управлять портами и ШИМ. Правда у меня так и не получилось настроить обработку прерывания от порта на DSP/BIOS (можно его конечно опрашивать, таймеры в DSP/BIOS работают стабильно). Преимущество такого подхода в том, что нет необходимости налаживать обмен данными (у нас же общая память) и все данные с датчиков всегда под рукой. Минус это конечно, наличие большого пучка проводов от центрального процессора при большом количестве периферийных устройств. Что скажите?
Аватара пользователя
Sigi
 
Сообщения: 20
Зарегистрирован: 09 сен 2010, 22:35
Откуда: Россия, Москва
прог. языки: C

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 12 авг 2011, 02:33

Интересная у Вас кандидатская! :) Мне б такую.

Для управления придется использовать дополнительные контроллеры. Проще всего объяснить структуру визуально: упрощенная архитектура подводного аппарата

Если коротко, то DSP будет использовано в пределах блока 1.1. который является "головным мозгом". На сигнальный процессор думаю повесить ресурсоемкие части обработки изображения/звука. Без периферийных контроллеров не обойтись, т.к. модули могут быть разнесены довольно далеко (на шине CAN) и нет смысла вешать всю обработку на центральный процессор, он уже будет работать с готовыми сообщениями. Возможно даже в блок 1.2. добавлю "спинной мозг" - какой-нибудь ARM7/ARM9 процессор, который будет делать предварительную обработку и управление периферией, а основной процессор будет получать только самую важную инфомацию вроде аварийных ситуаций и слать управляющие команды, не вдаваясь в подробности что надо сделать чтобы повернуться на 40 градусов налево, вплыть на поверхность etc.

Такой архитектурой убивается несколько зайцев, в том числе и недостаток GPIO на процессоре. Что Вы думаете по этому поводу?
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Sigi » 13 авг 2011, 10:46

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

Меня в вашей схеме заинтересовал блок 1.2. Это готовая плата или сами будете делать? Я просто тоже собирался подключить акселерометр (да остальные устройства не помешают) к плате и если есть готовое решение я бы лучше рассмотрел его, чем паять самостоятельно.
Аватара пользователя
Sigi
 
Сообщения: 20
Зарегистрирован: 09 сен 2010, 22:35
Откуда: Россия, Москва
прог. языки: C

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 13 авг 2011, 12:30

Относительно того, что работа с периферией занимает мало ресурсов - все зависит от периферии. :) Например работа с камерой и дальнейшая обработка изображения в OpenCV достаточно ресурсоемкая задача.

Если же периферия находится в непосредственной близости (компас, акселерометр, модем etc.) то нет смысла разносить это все по корпусу, если же это контроллеры движетелей, манипулятора или сонара, то IMHO лучше установить рядом управляющий микроконтроллер, чем тянуть провода от сенсора к главной плате.

Относительно Expansion Board - скоро начну ею заниматься, пока был в отпуске прикупил деталей, выслал себе же свою старую паяльную станцию и скоро (хм, надеюсь) сяду за разводку платы.

P.S. Спасибо за идею с wiki, оказалось поднять на хостинге wiki, mantis, blog etc. - дело нескольких минут! :)
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Sigi » 13 авг 2011, 13:07

Ну да камера конечно ресурсоемкая задача, я имею ввиду простую периферию (двигатель, получение информации с датчиков, манипулятор, санар и т.п.). Хотя конечно, повторюсь, при большом расстоянии вести много проводов бессмысленно.

А какой акселерометр планируете использовать? Я тоже собираюсь подключать акселерометр, мне в принципе все равно какой (главное, что бы минимум две оси было, а точность не важна), так что может я бы купил такой же, проще будет освоить :)
Аватара пользователя
Sigi
 
Сообщения: 20
Зарегистрирован: 09 сен 2010, 22:35
Откуда: Россия, Москва
прог. языки: C

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 14 авг 2011, 04:10

Я пока ещё на 100% не определился с акселерометром, но скорее всего это будет LSM303DLM от STMicroelectronics. Это 2в1 - датчик линейного ускорения (акселерометр) и датчик магнитного поля (компас). Основные вкусности:

- 3 magnetic field channels and 3 acceleration channels
- ±1.3 to ±8.1 gauss magnetic field full-scale
- ±2 g/±4 g/±8 g dynamically selectable full-scale
- I2C serial interface
- 2 independent programmable interrupt generators for free-fall and motion detection
- Accelerometer sleep-to-wakeup function
- 6D orientation detection

Цена $11.5 на Digikey. Придется писать под него линуксовый драйвер.
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Sigi » 14 авг 2011, 09:22

А зачем драйвер он же по I2C работает, а в Linux вроде как есть драйвер этой шины. Я правда не использовал никогда, но чисти теоретически должен заработать и так.
Аватара пользователя
Sigi
 
Сообщения: 20
Зарегистрирован: 09 сен 2010, 22:35
Откуда: Россия, Москва
прог. языки: C

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 14 авг 2011, 10:06

Да, в linux есть драйвер i2c шины, но нет драйвера для этого акселерометра. Не будет же user space приложение напрямую работать с данными от чипа (может на шине висят еще 32 устройства) или обрабатывать прерывания от микросхемы - это работа драйвера. :)
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Vooon » 14 авг 2011, 11:04

Есть там драйвер уже. Linaro сделали.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: OMAP3530 как платформа для "робота"

Сообщение mgalemin » 14 авг 2011, 11:34

Если речь идет о LSM303DLM драйвере, то не могли бы Вы подсказать репозиторий/ветку где могу его найти? В ядре ver. 3.0-2011.07 release 11.07 с официального сайта Linaro я этого драйвера не нашел.

Update: Нашел в git://git.linaro.org/bsp/st-ericsson/li ... -ux500.git репозитории, спасибо за наводку! :) Интересно когда в mainline его добавят.
Аватара пользователя
mgalemin
 
Сообщения: 66
Зарегистрирован: 07 авг 2010, 06:36
Откуда: Sydney, Australia
прог. языки: C/C++

Re: OMAP3530 как платформа для "робота"

Сообщение Vooon » 14 авг 2011, 13:18

Ну вообще я видел в LKML и вроде патчи применили. Проверь 3.1 (уже RC).
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12