Pull to refresh
36
0
Robotics Engineering Department @kap2fox

Робототехника

Символьное решение линейных дифференциальных уравнений и систем методом преобразований Лапласа c применением SymPy

Reading time 14 min
Views 35K
Python *Programming *Mathematics *
Tutorial

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

В данной публикации предлагаю рассмотреть функции прямого и обратного преобразования Лапласа из библиотеки SymPy, которые позволяют использовать метод Лапласа для решения дифференциальных уравнений и систем средствами Python.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 14

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

Reading time 2 min
Views 59K
Хекслет corporate blog Python *JavaScript *Programming *Studying in IT

Привет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам.


CheckiO


Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.


CheckiO


leetcode


Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.


leetcode

Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 18

Использование Google Cloud Speech API v2 в Asterisk для распознавания русской речи

Reading time 6 min
Views 44K
API *Google API *Yandex API *Asterisk *
Sandbox
Добрый вечер, коллеги. Недавно возникла необходимость добавить систему голосовых заявок в нашу ticket-систему. Но не всегда удобно каждый раз прослушивать голосовой файл, поэтому возникла идея добавить к этому систему автоматического распознавания голоса, к тому же в будущем она бы пригодилась в других проектах. В ходе этой работы были испробованы два варианта API наиболее популярных систем распознавания речи от google и yandex. В конечном итоге выбор пал на первый вариант. К сожалению, не нашел подробной информации об этом в интернете, поэтому решил поделиться полученным опытом. Если интересно, что из этого получилось добро пожаловать под кат.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 10

Перехват разговора по телефону или как сделать простое радиоуправление на 39 МГц

Reading time 4 min
Views 41K
DIY Electronics for beginners
Tutorial
image

Во времена моей учебы в университете нужно было сделать курсовую работу по электронике и микроэлектронике (вроде как предмет именно так назывался). Было два пути решения этой проблемы: взять готовое задание или придумать себе свое задание. Также важным условием задания было разработка именно аналоговой части какого-либо устройства.Так как я любил делать что-то свое, а не какие-то навязанные задания, я решил воспользоваться шансом и в качестве темы для курсовой работы взял систему радиоуправления, а в результате случайно сделал приемник для прослушки радиотелефонов.


Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Comments 12

Как я стал радиолюбителем и зарегистрировал своё первое РЭС

Reading time 4 min
Views 56K
Lifehacks for geeks Cellular communication Electronics for beginners


Хочу рассказать вам свою историю, как сам того не ожидая, стал радиолюбителем 3 категории.

Я заядлый рыбак и поохотиться не прочь. Еще с детства мой отец посвятил меня во все тонкости охоты и рыбалки, брал меня с собой и в Астрахань, и в Сибирь периодически.

В очередной раз с приятелем мы махнули к родне, в прекрасный город Братск. Мой дядя настоящий сибиряк и знаток тех таёжных краёв. Чтоб координировать свои действия, решили мы купить себе рации. Я остановил свой выбор на недорогом китайском аппарате. Спецы говорят, что и цена нормальная, и качество связи сносное. Ну я её на «али» и заказал.
Читать дальше →
Total votes 64: ↑61 and ↓3 +58
Comments 162

Разжёвываем линейно-квадратичный регулятор для управления перевёрнутым маятником

Reading time 8 min
Views 30K
Entertaining tasks Algorithms *Mathematics *Robotics development *Programming microcontrollers *
Tutorial

Преамбула


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

Как обычно, я стараюсь разжевать математику по максимуму, чтобы материал был доступен заинтересованному школьнику. Я глубоко убеждён, что использование математики по-хорошему должно бы быть платным: любая формула должна быть использована только тогда, когда она призвана облегчить понимание, а не для того, чтобы выпендриваться.

Итак, это уже четвёртая статья, для лучшего понимания происходящего неплохо бы прочитать предыдущие три:


Вот фотография системы (кликабельно):


Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Comments 59

Знакомство с робототехническим конструктором ТРИК: обратный маятник

Reading time 7 min
Views 64K
DIY

Введение и постановка задачи




Что общего между женской грудью и игрушечной железной дорогой? Правильно, и то, и то предназначено для детей, а играют с ними папы. Несколько дней назад я обзавёлся роботехническим конструктором ТРИК. Комплект довольно суровый, разработчики утверждают, что он хорош для быстрого прототипирования и для обучения, а именно (само-)обучение меня в данный момент и интересует.

Что сейчас широко доступно на рынке для робототехнических игр? Самодельное изготовление плат под каждый проект не рассматриваем. Лего, распи, ардуино. Лего прекрасен, но, к сожалению, очень и очень сильно ограничен. Распи и ардуины неплохо расширяются, но довольно неудобны и быстро превращаются в рассыпуху разных карточек-шильдиков-макеток. Вот тут и выходят на рынок питерские ребята со своим конструктором ТРИК.

Итак, моя задача понять, насколько это доступно широкой публике (мне). Я никогда не посещал лекций ни по теоретической кибернетике, ни по теории управления. Закон Ома я выучил ровно настолько, чтобы понять, что розетку лизать не стоит, и паяльник не является моим другом. Но как всякий нормальный (великовозрастный) ребёнок играть я люблю, и поэтому заинтересовался этой темой.

Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 86

Как студенты Университета ИТМО создают роботов

Reading time 5 min
Views 12K
ITMO corporate blog Entertaining tasks Algorithms *Mathematics *Robotics development *


В нашем блоге мы пишем о разработке систем связи и о первых шагах на пути к продвинутому программированию.

Однако участием в олимпиадах активность студентов не ограничивается: сегодня мы поговорим о том, как работает Студенческое конструкторское бюро (Robotics engineering department или RED), созданное в рамках кафедры СУиИ (Систем Управления и Информатики) Университета ИТМО.
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 4

Как на самом деле работает протокол Биткоин

Reading time 28 min
Views 206K
Cryptocurrencies
Translation
(Замечательное объяснение принципов работы сети Bitcoin авторства Michael Nielsen. Много текста, немного картинок. Обо всех корявостях перевода — в личку, буду исправлять по мере обнаружения)

Много тысяч статей было написано для того, чтобы объяснить Биткоин — онлайн, одноранговую (p2p) валюту. Большинство из этих статей поверхностно рассказывают суть криптографического протокола, опуская многие детали. Даже те статьи, которые «копают» глубже, часто замалчивают важные моменты. Моя цель в этой публикации — объяснить основные идеи, лежащие в протоколе Биткоин в ясной, легкодоступной форме. Мы начнем с простых принципов, далее пойдем к широкому теоретическому пониманию, как работает протокол, а затем копнем глубже, рассматривая сырые (raw) данные в транзакции Биткоин.
Читать дальше →
Total votes 70: ↑64 and ↓6 +58
Comments 18

Новости проекта Qucs: доступен кандидат в релизы с поддержкой моделирования схем в SPICE

Reading time 6 min
Views 18K
Open source *CAD/CAM *
Qucs — это симулятор электронных схем с открытым кодом. О нём рассказывают мои предыдущие статьи на хабре.

Сейчас наш проект готовится к следующему релизу 0.0.19, который выйдет в ближайшие недели. Данная заметка содержит обзор наиболее ожидаемого за все последние годы нововведения: поддержки моделирования схем Qucs в SPICE-совместимых симуляторов.

Qucs использует ядро моделирования Qucsator, разработанное с нуля. Это ядро имеет много преимуществ (моделирование S-параметров, расширенный постпроцесоор), но также имеет многочисленные баги, связанные с моделированием во временной области (Transient analysis). Эти баги в частности не позволяют моделировать в Qucs силовую электронику. Теперь в Qucs можно смоделировать, например такую схему:



Скачать пакеты для Linux и Windows с поддержкой Ngspice можно здесь:
github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc1

UPD от 21.10.15: сейчас доступен RC3: github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc3

Буква «S» в номере релиза означает SPICE. По-видимому вместе с релизом 0.0.19 выйдет два набора пакетов: с индексом «S» и с обычной нумерацией, так как дальнейшая судьба spice4qucs неясна.

Документация для spice4qucs находится здесь: qucs-help.readthedocs.org/en/spice4qucs

Под катом будет кратко рассмотрено использование spice4qucs.

Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 11

Как написать пост с формулами: markdown + LaTeX

Reading time 3 min
Views 23K
LaTeX *Mathematics *
Tutorial
Привет! На Хабре периодически появляются статьи, где авторы хотят вставить математические формулы: inline_formula, inline_formula или даже


У некоторых это получается, у некоторых — с трудом. parpalak сделал web-сервис для вставки svg формул, и это очень круто. Я хочу дополнить его небольшим скриптом, с которым вставка многих формул сведется к одной команде.

Читать дальше →
Total votes 46: ↑46 and ↓0 +46
Comments 20

Магия тензорной алгебры: Часть 9 — Вывод тензора угловой скорости через параметры конечного поворота. Применяем Maxima

Reading time 8 min
Views 13K
Mathematics *

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение


Утекло уже порядком времени, как я обещал получить тензор угловой скорости твердого тела, выразив его через параметры конечного поворота. Если взглянуть на КДПВ, то станет понятно, почему я так долго думал — стопка бумаги на столе, это ход моих мыслей.

Преобразование тензорных выражений то ещё удовольствие…


Жестокие тензоры не хотели упрощаться. Вернее, они то хотели, но при преобразованиях, раскрытии скобок, в силу невнимательности возникали мелкие ошибки, которые не позволяли взглянуть на картину в целом. В итоге результат таки был получен. Не последнюю роль в этом сыграла СКА Maxima, которой я обратился, во многом благодаря статье пользователя EugeneKalentev. Акцент упомянутой статьи смещался в сторону вычислительной работы с тензорами, компоненты которых представлены конкретными структурами данных. Меня же интересовал вопрос работы с абстрактными тензорами. Оказалось, что Maxima может с ними работать, хоть и нет так, как может быть хотелось, но всё же она серьезно упростила мне жизнь.

Итак, мы возвращаемся к механике твердого тела, а заодно посмотрим, как работать с тензорами в Maxima.
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Comments 7

Фильтр Маджвика

Reading time 38 min
Views 123K
Algorithms *Mathematics *
Translation

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

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


Читать дальше →
Total votes 66: ↑64 and ↓2 +62
Comments 17

Анонс онлайн-курса «Программирование робота вместе с ROS»

Reading time 1 min
Views 21K
TOD corporate blog


Всем привет! Мы — небольшая команда разработчиков сервисного робота Tod Bot. В своей практике мы широко используем фреймворк ROS, постоянно решая с его помощью насущные для нашего робота задачи: от управления передвижением и обработки данных с сенсоров до автономной навигации в помещении, распознавания речи и образов, высокоуровневого поведения робота.
Сегодня в рамках конкурса на образовательной платформе Stepic мы анонсируем онлайн-курс «Программирование робота вместе с ROS». Наш курс будет интересен людям, неравнодушным к программированию и робототехнике, и готовым приобрести новые знания и навыки по разработке ПО для роботов, конечно же, приложив при этом необходимые усилия. Получить представление о содержимом курса вы можете из небольшого интро-видео.
Читать дальше →
Total votes 26: ↑18 and ↓8 +10
Comments 8

Математическая модель двигателя Lego NXT

Reading time 4 min
Views 25K
Open source *Mathematics *Robotics development *
Tutorial
Sandbox
Добрый день, уважаемые коллеги. В этой статье я хочу поделиться с Вами своими методическими наработками, которые использую в курсе «Теория автоматического управления» на кафедре СУиИ НИУ ИТМО.
Основной задачей, которую я перед собой ставил, было объединение теоретических знаний для решения практической задачи. Такой задачей стало управление приводами Lego робота. Лишний повод поиграть в игрушки, да и студентам проще воспринимать суровый матан… Вот пример описания этого набора: habrahabr.ru/post/166449.
Читать дальше
Total votes 42: ↑36 and ↓6 +30
Comments 16

Hexapod-робот под управлением ROS

Reading time 10 min
Views 137K
Robotics DIY
Sandbox


Робот гексапод — это платформа, использующая для передвижения шесть ног. После просмотра множества видео в интернете, стало ясно, что очень интересно наблюдать за передвижением подобных роботов. И тут возникло желание сделать что-то похожее, но с одноплатным компьютером BeagleBone Black (далее BBB) на борту, потому что подобных проектов еще не было. Информацию о таких роботах было найти непросто, особенно, что касается программной составляющей. Некоторое время было непонятно с чего начинать, но вскоре было решено начать с изготовления конструктива робота — шасси и электронной составляющей, а затем заняться программированием того, что получилось.
Читать дальше →
Total votes 130: ↑128 and ↓2 +126
Comments 41

Файловая система Linux полностью на tmpfs — скорость без компромиссов

Reading time 4 min
Views 118K
High performance *
Sandbox

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Total votes 83: ↑74 and ↓9 +65
Comments 165

Автоматический определитель электронных компонентов

Reading time 3 min
Views 161K
DIY


Очень интересное и несложное устройство, которое позволит измерить сопротивление, ёмкость и индуктивность любого элемента за несколько секунд.

Для этого потребуется совсем немного деталей, которые обычно есть у каждого начинающего ардуинщика: микроконтроллер ATMEGA, двухстрочный дисплей и несколько резисторов.
Читать дальше →
Total votes 60: ↑59 and ↓1 +58
Comments 71

Налить пива силой мысли

Reading time 2 min
Views 42K
Interfaces *


Это «НейроКран»: при помощи нейроинтерфейса ты силой мысли управляешь процессом розлива напитков.

Чтобы получить напиток – надо сконцентрировать свое внимание. При превышении концентрации выше запрограммированного уровня – кран открывается.



А это сейф, открываемый силой мысли в квесте в реальности «Киберпанк». Здесь четыре задвижки, каждая со своим уровнем сложности. Первую можно открыть, почти не концентрируясь, а последняя — это уже вызов для навыка сосредоточения.
Читать дальше →
Total votes 70: ↑54 and ↓16 +38
Comments 46

А-машина Тьюринга и кофе-машина Хоара пит-стоп

Reading time 7 min
Views 16K
Programming *Algorithms *
Всякий, кто полагается на практику, не зная теории, подобен кормчему, вступающему на судно без руля и компаса, – он не знает, куда плывет.
Леонардо да Винчи
В Священных Языковых Войнах в качестве окончательного аргумента нередко приводят — поскольку языки полны по Тьюрингу, постольку они и равноценны. Под катом попытка уточнить этот тезис для тех, кто уже справился с Python и теперь планирует изучить Erlang или Haskell по спецификации. Материал обзорный, не методичный с картинками.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 6
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity