Pull to refresh
64
0
Павел Кириенко @Spym

Архитектор

Send message
«Щячло попячтса».
fix
На всякий случай поясню:
-слово
исключает из выдачи все страницы, содержащие слово.
О чём и речь.
Просто при гуглении самой фразы находится что-то не то.
Сдаюсь, пришлось погуглить.
«dessine moi un mouton» -mylene
Да да.
При желании можно увидеть даже барашка.
Это удав, я понял.
> Это вполне мог бы сделать один человек, прочитавший на досуге Слово о полку Игореве.
fixed
> На данный момент ни в каких крупных проектах не замечен, но активно это пытаюсь исправить.
Я только что заметил Вас в списке рассылки PCL. :)
Не пригодится. :)
Я имел в виду фреймворк для организации распределённого вычислительного процесса.
ROS предоставляет для этого Сервисы и Топики (ну сами же писали).
Я работал с PCL и OpenNI, но ROS предоставляет уже законченный пакет для распознавания объектов на текстурированном облаке точек (собственно, то, что мне нужно).
Конечно, можно взять PCL с Triclops SDK, и сделать бинокулярное зрение руками — но помимо этого мне так же нужны средства организации computational graph (можете подсказать фреймворк?).
Если не секрет, использовали ли Вы ROS в каком-либо объемном проекте?

В описании на ros.org пафосно сказано, что их комьюнити опубликовало over 9000 ROS-пакетов, но при ближайшем рассмотрении выясняется, что из них значительная часть либо никак не документирована, либо банально не дописана (я даже примеров приводить не буду, ткните сами в первый попавшийся пакет) — а ведь система разрабатывается с целью создания reusable кода для робототехники.
У них даже есть такой девелоперский изыск, как Documentation Contest.

Интересно мнение пользователей, реально работавших с этим фреймворком (и автора поста): с одной стороны, здесь есть реализованные типовые решения (например, мне нужна работа с облаками точек, захватываемыми с бинокулярных камер); с другой стороны — не хочется привносить в свой проект систему, которая отчасти реализована не очень аккуратно (см. пункт о пакетах).
Исправьте что ли текст поста, зачем вводить людей в заблуждение? :)
> Угол устанавливается с помощью ШИМ (PWM)-сигнала.

Вы путаете PWM (Широтно-Импульсная Модуляция) и PPM (Импульсно-Позиционная Модуляция). Не следует этого делать.
Сервоприводы, о которых идет речь в Вашем посте, используют PPM.
1. встраиваете интерпретатор в приложение;
2. реализуете Вашу функцию get_app_object();
3. создаёте таблицу функций, в которой указываете get_app_object();
4. импортируете приложение с таблицей функций в контекст встроенного интерпретатора;
5. profit! теперь можно вызывать нативный код из скрипта.
RTFM.
Вернуть указатель Вы, конечно, можете: если используете 2.x, то делаете простое приведение значения указателя к python int; если 3.x — примените Capsule.

Вообще слова о Capsule заставляют меня подозревать Вас в использовании Py3k, в то время как я делал бенчмарк для 2.x.
Виноват, неправильный бенчмарк Вам показал, хотя этот вопрос меня самого занимал (слегка так).
Исправляюсь:
1. кладём в директорию 3 сущности: benchmark.py, pyc.c, build-extension.py
2. делаем build-extension.py build
3. получим еще директорию, рекурсивно ищем в ней pyc.so, или что-то наподобие. Это наш новый python-модуль, который мы будем сейчас бенчмаркать.
4. запускаем benchmark.py, и недоумённо смотрим на результат:
pavel@spym-pc$ ./benchmark.py
no-load loop period: 42 nsec
function invocation time [nsec]:
c 82
py 107

Что мы видим:
— вызов пустой функции* внутри вызывающего модуля (Python) — 107 наносекунд;
— вызов пустой функции во внешнем нативном модуле © — 82 наносекунды.

* пустая функция — функция, не принимающая аргументов, и возвращающая None.

Честно, я сначала удивился; но спустя пару миллиардов наносекунд осознал, что результат предсказуем.
Дело в том, что нативные модули являются ни чем иным, как нативными динамическими библиотеками — что обеспечивает околонулевой оверхед передачи управления из скрипта в них.
Вобщем, RTFM.

P.S. результаты получены под Slackware64 на Core i7; если кто-то решит повторить, поделитесь своими результатами здесь.
P.P.S только у меня имеются периодические проблемы с доступностью хабра?
Вот здесь небольшой бенчмарк.
P.S. Вы забыли наносекунды. Нано! Не отстаём от тренда.
У меня вдруг возникла необходимость обнять берёзу.
Религиозные фанатики на Хабре!
Все в машину!

Information

Rating
Does not participate
Registered
Activity