Как стать автором
Обновить
0
0
Филипп @Ph-s

Пользователь

Отправить сообщение

Домики для дронов: какие посадочные платформы БПЛА бывают, что внутри, чем отличаются, кто делает и как выбрать нужную

Время на прочтение14 мин
Количество просмотров10K

В Центре компетенций НТИ по направлению «Технологии компонентов робототехники и мехатроники» на базе Университета Иннополис мы разработали прототип наземной посадочной платформы для беспилотного летательного аппарата.

Основное назначение таких платформ — борьба с недостатком БПЛА коптерного типа, малым временем работы. Аппарат может выполнить зарядку или замену батарей в посадочной станции, отдохнуть, принять ванну и продолжить свою миссию. Также такие платформы могут иметь и другие функции автоматического наземного обслуживания БПЛА — получение грузов, укрытие и хранение БПЛА, обмен данными и т.п.

За время работы над нашим прототипом накопились некоторые результаты поисковой и изобретательской работы в области конструкций платформ, которыми хотелось бы поделиться. Недавно на эту тему мы опубликовали статью в Sensors (это, как считается, неплохой журнал, но, чувствую, на Хабре просмотров будет больше). Здесь приведу ее краткий пересказ о том, какие посадочные платформы БПЛА бывают и кто их делает, чем отличаются их конструкции и как выбрать нужную под свои задачи.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии26

ROS: карта глубин на Raspberry Pi «малой кровью»

Время на прочтение9 мин
Количество просмотров11K
image

Если вы используете ROS при создании роботов, то наверняка знаете, что в ней есть поддержка работы со стереокамерами. Можно построить, например, карту глубин видимой части пространства или облако точек. И мне стало интересно, насколько просто будет использовать в ROS стереокамеру StereoPi на базе малины. Раньше я уже убедился, что карта глубин отлично строится силами OpenCV, но вот с ROS никогда дела не имел. И решил попробовать. Я хочу рассказать о моих приключениях в поиске решения.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

Зрение для робота на Raspberry Pi: карта глубин

Время на прочтение11 мин
Количество просмотров36K
image

Нынче все технологии «дроностроительства» активно дешевеют. Кроме одной: получение карты окружающего пространства. Тут есть две крайности: либо дорогие лидары (тысячи долларов) и оптические решения для построения карты глубин (много сотен долларов), либо совсем копеечные решения типа ультразвуковых дальномеров.
Поэтому возникла идея на базе недорогой Raspberry Pi с одной камерой сделать решение, которое окажется в пустующей нише и позволит получать карту глубин «за недорого». Причем сделать это на простом языке программирования типа Python, чтобы это было доступно новичкам для экспериментов. Собственно, о своих результатах я и хотел рассказать. Получившиеся скрипты с примерами фоток можно запускать и на десктопе.

Читать дальше
Всего голосов 43: ↑42 и ↓1+41
Комментарии23

Целимся и общаемся со спутниками: Часть первая — целимся программно

Время на прочтение9 мин
Количество просмотров15K


Диcклеймер — я практически не знаком с астрономией, только вот в Kerbal на орбиту выходил и как-то мне удалось сделать парочку орбитальных маневров. Но тема интересная, так, что даже если я где-то не верно выражаюсь — сорян.


Все ссылочки в конце статьи.


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


Для того, что бы начать взаимодействовать со спутником, он должен быть виден в небе. Видимость спутника зависит от того, где он находится на текущий момент относительно вашего расположения. Существуют спутники которые никогда не видны из некоторых локаций. К таким относятся спутники находящиеся на геосинхронной орбите — они видны только с половины Земли, так как их движение синхронизировано с вращением Земли.



Так же на видимость спутника влияет наклон орбиты.

Всего голосов 12: ↑12 и ↓0+12
Комментарии11

Как выбрать подходящий модуль спутникового позиционирования для своего проекта

Время на прочтение5 мин
Количество просмотров13K


Вы доделали свой новый проект, и теперь ваше детище живёт и передвигается по миру. И осталась только одна проблема – вам нужно знать его местоположение с достаточно неплохой точностью. К счастью, у нас есть системы спутникового позиционирования! При помощи готового модуля можно получить все данные по местоположению, которые вам только могут понадобиться. Но как подойти к этому вопросу, и какие компоненты лучше всего подойдут для вашего проекта? Читайте в данном материале.

Все одинаковые, но совершенно разные


Работа с GPS может внушать некоторые опасения, но благодаря усилиям промышленности и отдельных энтузиастов в наше время эта задача оказывается удивительно простой. Большинство имеющихся на рынке модулей будут работать одинаково. Чаще всего они передают данные по стандартному последовательному интерфейсу, обычно на скорости 9600 бод; также бывают интерфейсы I2C и SPI. Сами сообщения также стандартизированы – они выдаются в формате NMEA-0183. Если вы хотите сами обрабатывать данные, по этому стандарту полно документации. Однако если вы очень торопитесь, для многих платформ с микроконтроллером можно найти готовый код, который всё сделает за вас. Такие проекты, как NeoGPS, Adafruit GPS и minmea примут входящий поток последовательных данных и выдадут все географические данные, которые вам только могли понадобиться. Так что же – GPS это просто GPS?
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии26

Своими руками: Компьютер в столе с жидкостным охлаждением

Время на прочтение2 мин
Количество просмотров74K
image

Друзья, всех приветствую!

Ко мне обратился товарищ и попросил помочь воплотить его мечту в реальность.

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

Изготовление начинается с рамы: это столешница, ножки, перекладина жесткости и кронштейн.

Размеры товарищ захотел 122 на 65 см.
Читать дальше →
Всего голосов 234: ↑186 и ↓48+138
Комментарии201

Browser Fingerprint – анонимная идентификация браузеров

Время на прочтение14 мин
Количество просмотров212K


Валентин Васильев (Machinio.com)


Что же такое Browser Fingerprint? Или идентификация браузеров. Очень простая формулировка — это присвоение идентификатора браузеру. Формулировка простая, но идея очень сложная и интересная. Для чего она используется? Для чего мы хотим присвоить браузеру идентификатор?


  • Мы хотим учитывать наших пользователей. Мы хотим знать, пришел ли пользователь к нам первый раз, пришел он во второй раз или в третий. Если пользователь пришел во второй раз, мы хотим знать, на какие страницы он заходил, что он до этого делал. С анонимными пользователями это невозможно. Если у вас есть система учета записей, пользователь логинится, мы все про него знаем — мы знаем его учетную запись, его персональные данные, мы можем привязать любые действия к этому пользователю. Здесь все просто. В случае с анонимными пользователями все становится гораздо сложнее.
Всего голосов 75: ↑54 и ↓21+33
Комментарии167

Как сделать кроссплатформенное десктопное приложение на базе веб-технологий

Время на прочтение15 мин
Количество просмотров43K


Дмитрий Дудин (xbSoftware)


Сегодня я вам расскажу про технологию nw.js, большинство слайдов моей презентации будет посвящено ей. Это технология позволяет разрабатывать десктопные приложения и писать их на html, javascript и css. Причем приложение будет кроссплатформенное — под Windows, Linux и Mac. Можно их сбилдить и они будут иметь доступ к графическому интерфейсу системы, т.е. смогут еще работать с менюшками и т.д.
Всего голосов 58: ↑47 и ↓11+36
Комментарии119

Машинное обучение — это легко

Время на прочтение7 мин
Количество просмотров344K
В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения.
Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии20

Взаимодействующий landing или как взорвать конверсию с помощью мессенджеров

Время на прочтение4 мин
Количество просмотров18K
image

Привет, Хабр! Сегодня я хочу поделиться интересным кейсом. Если вы разрабатываете сайты, лендинги или что-то продаете через интернет, то это будет хорошим опытом. Суть статьи – показать, как простота в структуре сайта, в сочетании с использованием трендовых технологий и мессенджеров, может давать потрясающие результаты.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии35

Немного о повышении производительности БД: Практические советы

Время на прочтение6 мин
Количество просмотров31K


/ фото Ozzy Delaney CC

Мы в 1cloud много рассказываем о собственном опыте работы над провайдером виртуальной инфраструктуры и тонкостях организации внутренних процессов. Сегодня мы решили немного поговорить об оптимизации БД.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии34

RESTful API — большая ложь

Время на прочтение7 мин
Количество просмотров433K
От переводчика:
Я впервые попробовал перевести статью такого объёма и IT-тематики, с радостью прочту ваши комментарии и замечания. Что же касается самой статьи: я не согласен с автором как минимум потому, что, по сути, он заменяет REST на… REST (!!!), но немного в другом обрамлении. Однако, не смотря на то, что в статье преподносится много очевидных вещей, мне она показалась достойной обсуждения на Хабре.

Почему Вам стоит похоронить эту популярную технологию

image
Читать дальше →
Всего голосов 71: ↑47 и ↓24+23
Комментарии148

Deep learning и Caffe на новогодних праздниках

Время на прочтение9 мин
Количество просмотров55K

Мотивация


В данной статье вы познакомитесь c применением deep learning на практике. Будет использован фреймворк Caffe на датасете SVHN.

Deep Learning. Этот buzz word уже давно звенит в ушах, но попробовать его на практике никак не удавалось. Подвернулся удобный случай это исправить! На новогодние праздники был назначен контест на kaggle по распознаванию номеров домов в рамках курса по анализу изображений.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии11

Как стать супер-мега-про машинного обучения за 15 минут

Время на прочтение3 мин
Количество просмотров34K
image

Недавно на Хабре проскакивал пост vfdev-5 о DIGITS. Давайте поподробнее разберёмся что это такое и с чём его едят. Если в двух словах. Это среда, которая позволяет решить 30-50% задачек машинного обучения на коленке в течении 5 минут. Без умения программировать. Ну, при наличии базы, конечно. И более-менее адекватной карточки от NVIDIA.
Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии25

Многопоточность в Ruby

Время на прочтение9 мин
Количество просмотров37K
Перевод главы «Multithreading» книги David Thomas и Andrew Hunt «Programming Ruby: The Pragmatic Programmers' Guide, Second Edition».

Часто самым простым способом выполнить одновременно две вещи является использование потоков в Ruby. Они являются внутрипроцессными, встроенными в интерпретатор Ruby. Это делает потоки Ruby полностью переносимыми, т.е. независимыми от операционной системы. Но в то же время вы точно не получите выгоду от использования родных, нативных потоков. Что это значит?

Вы можете столкнуться с голоданием (thread starvation — это когда поток с маленьким приоритетом не имеет шанса запуститься). Если вы хотите заблокировать ваши потоки, то со скрежетом остановится целый процесс. А если возникнет ситуация, что некоторые потоки будут посылать вызовы операционной системе, для выполнения которых требуется немалое время, то все потоки будут висеть, пока интерпретатор не получит контроль обратно. И наконец, если ваша машина имеет больше одного процессора, потоки Ruby не будут это использовать, т.к. они запускаются в одном процессе, а в одиночном родном потоке они будут вынуждены запускаться на одном процессоре единовременно.

Все это звучит страшновато. Тем не менее, на практике во многих случаях выгода от использования потоков во многом перевешивает любые потенциальные проблемы, которые могут возникнуть. Потоки Ruby являются эффективным и легким путем достижения параллельности в вашем коде. Вы просто должны понять основные проблемы реализации, и, соответственно, архитектуру.
Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии30

PostgreSQL 9.2 Начало!

Время на прочтение4 мин
Количество просмотров234K
Мне хотелось создать прекрасный объемлющий мануал Getting Start без всякой воды, но включающий основные плюшки для начинающих по системе PostgreSQL в Linux.

PostgreSQL является объектно-реляционной системой управления базами данных (ОРСУБД) на основе POSTGRES, версия 4.2, разработанной в Университете Калифорнии в Беркли департаменте компьютерных наук.

PostgreSQL является open source потомком оригинального кода Berkeley. Он поддерживает большую часть стандарта SQL и предлагает множество современных функций:


Кроме того, PostgreSQL может быть расширен пользователем во многих отношениях, например, путем добавления новых
  • типов данных
  • функций
  • операторов
  • агрегатных функций
  • индекс методов
  • процедурных языков

Читать дальше →
Всего голосов 35: ↑19 и ↓16+3
Комментарии26

Atlassian JIRA 6.2: Быть лучше, чем вчера

Время на прочтение4 мин
Количество просмотров118K


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

Каждый раз пользователи продуктов Atlassian ожидают следующего большого релиза JIRA, понимая, что он не может быть хуже предыдущего. Поэтому и от JIRA 6.2, выпуск которой официально состоялся 25 февраля, ожидают только позитивных впечатлений.

В данной статье попробуем понять, что нового нам стоит ждать в новой версии JIRA.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии28

Индексация неатомарных атрибутов

Время на прочтение16 мин
Количество просмотров3.3K
Цитаты из википедии (1NF):
Каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего).

Одно и то же значение может быть атомарным или неатомарным в зависимости от смысла этого значения. Например, значение «4286» является
  • атомарным, если его смысл — «пин-код кредитной карты» (при разбиении на части или переупорядочивании смысл теряется)
  • неатомарным, если его смысл — «набор цифр» (при разбиении на части или переупорядочивании смысл не теряется)

В данной статье будут рассмотрены стандартные способы ускорения SQL-запросов по следующим типам полей: строка, дата, простой список (в формате $LB), коллекции-cписки и коллекции-массивы.
Будет много SQL, немного классов и совсем чуть-чуть NoSQL
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

Postgres NoSQL лучше, чем MongoDB?

Время на прочтение7 мин
Количество просмотров88K
В целом, системы управления реляционными базами данных были задуманы как «один-размер-подходит-всем решение для хранения и получения данных» на протяжении десятилетий. Но растущая необходимость в масштабируемости и новые требования приложений создали новые проблемы для традиционных систем управления РСУБД, включая некоторую неудовлетворенность подходом «один-размер-подходит-всем» в ряде масштабируемых приложений.

Ответом на это было новое поколение легковесных, высокопроизводительных баз данных, созданных для того, чтобы бросить вызов господству реляционных баз данных.
Читать дальше →
Всего голосов 69: ↑41 и ↓28+13
Комментарии72

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

Время на прочтение12 мин
Количество просмотров154K

КДПВ


Если разделять языки программирования по популярности, то они делятся на три эшелона. Первый эшелон включает мейнстрим-языки, такие как Java, JavaScript, Python, Ruby, PHP, C#, C++ и Objective-C. Несмотря на то, что некоторые из ведущих языков возможно увядают, вам лучше знать один или несколько из них, если вы хотите иметь возможность легко найти работу.


Языки второго эшелона пытаются пробиться в мейнстрим, но ещё не добились этого. Они доказали свою состоятельность путем создания сильных сообществ, но они до сих пор не используются большинством консервативных IT-компаний. Scala, Go, Swift, Clojure и Haskell — языки, которые я бы отнёс ко второму эшелону. Некоторые компании используют эти языки для отдельных сервисов, но широкое применение встречается редко (за исключением Swift, который начинает обгонять Objective-C в качестве основного языка для iOS). Go и Swift имеют хорошие шансы на переход из второго эшелона в первый в течение ближайших двух-трёх лет.


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


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

Читать дальше →
Всего голосов 77: ↑67 и ↓10+57
Комментарии146

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность