roboforum.ru

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

Python на STM32

ARM7, ARM9, ARM11 etc.

Re: Python на STM32

Сообщение =DeaD= » 08 ноя 2011, 23:18

Grem писал(а):Я уже где-то предлагал лайт версию освоения. Найти более-менее кучку людей, которые готовы хотя-бы 10 часов в неделю уделять ROS. Приобрести всем ОДИНАКОВЫХ "тележек" и совместно осваивать, причем каждый отвечая за "свою" область. Но подход "раздать каждому, а там посмотрим" в корне не верен.

Будет скоро 10 одинаковых тележек для AVM-навигации и ROS, надо найти 10 человек готовых уделять 10 часов в неделю :) Кстати, я не понял, а нафига реальные тележки? Разве ROS не крут тем, что в нём есть симулятор и можно первичный отбор такой десятки проводить без железа? Или я что-то упускаю? Нельзя разве всем 10 взять одинаковую модель и гонять?

Добавлено спустя 35 секунд:
Да простит нас EdGull и svp, завтра почищу тему :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Python на STM32

Сообщение svp » 08 ноя 2011, 23:27

Да. Тележки напервом этапе нужны только для подстёгивания энтузиазма=) на самом деле там и до железок писать и писать.

Я тут по диагонали про РОС полистал...
На самом деле не обязательно делать телегу автономной. Нужна просто легкая дешевая повторяемая платформа, которая имеет связь с компом (последовательный порт сойдёт). Где этот комп стоит -- дело третье. Ось работает на компе, рулит тележкой по радиолинку (wifi, блютус, зигби) и снимает телеметрию.
Дело в том, что сама РОС большой частью написана на питоне.
Если поднять питон ещё и нативно на простеньком контроллере телеги, то несложную функциональность можно переносить и на неё прямо тем же кодом, каким она работает из под РОС.
Понятно изложил? И волки сыты и овцы съели.
Аватара пользователя
svp
 
Сообщения: 42
Зарегистрирован: 13 дек 2005, 16:01
Откуда: Белгород
прог. языки: object pascal, c++, Lisp, Prolog

Re: Python на STM32

Сообщение EdGull » 08 ноя 2011, 23:29

1. я еще не отправил, т.к. тупо болею, но завтра уже вроде как собираюсь выходить на работу, так что на днях отправлю.
2. тележки это уже совсем не интересно, зря я по вашему наращивал больше года производственную базу? Мало того, на полном серьезе разрабатываю план покупки автоматического расстановщика smd.
3. у меня уже пару месяцев трудится samsung navibot
4. так что совсем не долго осталось до производства роботов-пылесосов...
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Python на STM32

Сообщение svp » 08 ноя 2011, 23:31

Короче надо, наверно, РОС в отдельную ветку обсуждать. В этой надо обсуждать возможность и целесообразность питона на СТМ-е.
И целесообразность эта выяснится после бенчмарков и внмательного выкуривания дрокументации по этому чертовому проекту питон-на-чипе.
Есть админы неленивые, чтобы выпилить РОС и все абстрактные рассуждения из этой темы в отдельную?
А-то попадается интересная вроде темка, а там 100500 страниц не по теме.
Аватара пользователя
svp
 
Сообщения: 42
Зарегистрирован: 13 дек 2005, 16:01
Откуда: Белгород
прог. языки: object pascal, c++, Lisp, Prolog

Re: Python на STM32

Сообщение Grem » 08 ноя 2011, 23:38

=DeaD= писал(а):Нельзя разве всем 10 взять одинаковую модель и гонять?

Что значит "гонять"? Я конечно не так глубоко RViz'ом симулировал, но эмулировать датчики - та еще задача :pardon:
4. так что совсем не долго осталось до производства роботов-пылесосов...

Если ценник не слишком будет, то можно будет замутить на них TurtleBot. Это получше тележек.
Изображение

Добавлено спустя 32 секунды:
Есть админы неленивые, чтобы выпилить РОС и все абстрактные рассуждения из этой темы в отдельную?

Не, не слышал. :D
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: Python на STM32

Сообщение Strijar » 09 ноя 2011, 09:54

Давно пробовал изучать python - пробовал его даже на PalmOS ;) Сейчас много пишу на Lua и по опыту знаю - это самый быстрый скриптовый язык. Решил сравнить

Python-2.6 - 7.7 сек
Код: Выделить всёРазвернуть
a, b = 0, 1
ar = range(2)
i = 0
while i < 300000:
  a, b = b, a+b
  i = i + 1
  ar[0], ar[1] = a, b


Lua-5.1 - 0.26 сек!
Код: Выделить всёРазвернуть
a, b = 0, 1
ar = {}

for i = 0, 300000 do
  a, b = b, a+b
  ar[0], ar[1] = a, b
end


Для меня python пока не приемлем! ;)
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: Python на STM32

Сообщение Vooon » 09 ноя 2011, 10:59

Забавно. Язык != реализация. CPython не быстр, но и смотреть на математику в скриптовых языках...

А вот на си тратится 0.005 с!
Код: Выделить всёРазвернуть
int main(void)
{
   int a, b, t, i;
   int ar[2];

   for (i = 0; i < 300000; i++) {
      t = a;
      a = b;
      b = t + b;
      ar[0] = a;
      ar[1] = b;
   }

   return 0;
}


Так что маргинальный луа мне не подходит! :)

Добавлено спустя 5 минут 38 секунд:
Вообще я думал над луа или питоном в контроллерах, пришел к выводу что они там не нужны.
Позже была идея сделать интерпретатор LLVM IR кода, но посчитал слишком затратным. Да и на STM32F1 (особенно на тормозах Value Line) оно не будет быстро. На F4 думаю картина будет лучше.

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

Re: Python на STM32

Сообщение =DeaD= » 09 ноя 2011, 11:25

Grem писал(а):Если ценник не слишком будет, то можно будет замутить на них TurtleBot. Это получше тележек.

Кстати, чем получше? Возможностью поставить ноут, который более производительный? Или возможностью выполнять практическую полезную работу?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Python на STM32

Сообщение Strijar » 09 ноя 2011, 11:54

Vooon писал(а):Забавно. Язык != реализация. CPython не быстр, но и смотреть на математику в скриптовых языках...


Где же тут математика - работа с данными, в данном случае массив. А сравнения с Си не корректно - он не скриптовый. Тогда уж сравнивать с PicoC - так я сравнивал. Тоже проигрывает Lua и сильно ;) Я к тому - что если нужен скриптовый язык - то пока достойных альтернатив Lua я не вижу. Очень близкок в этому Dao, но он медленней, хотя всего в 1.5 раза ;)

Добавлено спустя 7 минут 14 секунд:
Vooon писал(а):Вообще я думал над луа или питоном в контроллерах, пришел к выводу что они там не нужны.


Они нужны или не нужны не в микроконтроллерах - а в задачах которые они решают ;) Например разве плохо сделать учебного робота программа на котором меняется прямо на месте? Без компиляции и проч "мучений с программатором". Например есть игровые манипуляторы с встроенной поддержкой Lua - где на одно нажатие кнопки или сочетание кнопок программируется последовательность нажатий или движений мышкой. И делается все просто и изящно! А уж про оконный менеджер Ion функционал которого определяется Lua скриптами - так я вообще молчу ;)
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: Python на STM32

Сообщение svp » 09 ноя 2011, 12:10

Strijar, для перечисленных здесь вами задач питон подходит лучше. Производительность особая не нужна, а изучать полноценный язык полезнее. Луа, при всём моём уважении, всё-таки вспомогательный инструмент. Она редко выступает основным языком написания приложений.
Аватара пользователя
svp
 
Сообщения: 42
Зарегистрирован: 13 дек 2005, 16:01
Откуда: Белгород
прог. языки: object pascal, c++, Lisp, Prolog

Re: Python на STM32

Сообщение Виталий » 09 ноя 2011, 13:23

После одной из веток про скрипты в контроллерах мы начали небольшую работу, результатом которой стало выделение из языка Python подмножества которое разбирается за LL(1), и написание компилятора этого подмножества в трехадресный код.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Python на STM32

Сообщение svp » 09 ноя 2011, 13:34

Виталий писал(а):выделение из языка Python подмножества которое разбирается за LL(1), и написание компилятора этого подмножества в трехадресный код.

Что-то это вообще велосипед какой-то. Ни тебе совместимости с библиотеками, ни тебе всех прелестей интроспекции, замыканий и прочих штук. Какой смысл было питон вообще брать? А если питон, то почему JIT не прикрутили? Уж ява-машину и не на таких игрушках запускали. Я ж говорил, на чип-картах явамашина крутится.
А ещё, не проще ли компилировать байткод в машинный?
Аватара пользователя
svp
 
Сообщения: 42
Зарегистрирован: 13 дек 2005, 16:01
Откуда: Белгород
прог. языки: object pascal, c++, Lisp, Prolog

Re: Python на STM32

Сообщение Виталий » 09 ноя 2011, 13:52

Что-то это вообще велосипед какой-то.

Типа того.

Ни тебе совместимости с библиотеками

Совместимости нет и у PyMite и почти наверняка не будет ни у какой другой реализации не использующей операционную систему.

ни тебе всех прелестей интроспекции

Это не зависит от языка, скорее от среды исполнения. На мой взгляд интроспекция нужна в очень ограниченном виде.

замыканий и прочих штук.

Замыкания только именованными функциями.

Какой смысл было питон вообще брать?

Из за грамматики.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Python на STM32

Сообщение Strijar » 09 ноя 2011, 14:04

svp писал(а):Она редко выступает основным языком написания приложений.


Это зависит от многих факторов. Я на работе пишу проекты 95% которых на Lua - 5% это обертки для обращения к драйверам. И все это работает на 200Mhz ARM и не плохо работает. В данном случае python бы не справился вообще - ни как основной, ни как вспомогательный.
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: Python на STM32

Сообщение svp » 09 ноя 2011, 14:17

Strijar писал(а):Это зависит от многих факторов. Я на работе пишу проекты 95% которых на Lua - 5% это обертки для обращения к драйверам. И все это работает на 200Mhz ARM и не плохо работает. В данном случае python бы не справился вообще - ни как основной, ни как вспомогательный.

Я не о том. Ваша задача довольно редка сама по себе. Я понимаю, бывает всякое, но подавляющее большинство задач -- это десктопные приложения, веб-сервисы и всякие консольные скрипты. "Я например" -- это не показатель, и он никак не связан с понятием "большинство".
Если делается некий учебный стенд, как вы говорили, для новичков, и не ставится цель изучения именно Луа, то использование Питона, IMHO, более оправдано ввиду более широкой применимости во всех сферах. Там, где требуется высокое быстродействие, как правило нужен ещё и опыт в программировании, а также знание в других более узких областях, как ваша. Обёртки для драйверов -- это весьма специфично и непросто. Не составит труда такому программисту разобраться с Луа за полч аса вдумчивого чтения мануалов. Зачем стенды?
Аватара пользователя
svp
 
Сообщения: 42
Зарегистрирован: 13 дек 2005, 16:01
Откуда: Белгород
прог. языки: object pascal, c++, Lisp, Prolog

Пред.След.

Вернуться в ARM

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

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