Как стать автором
Обновить

Контроллер управления по типу Аккерманна на базе 4-колёсной мобильной платформы (ROS Noetic)

Уровень сложностиСложный
Время на прочтение26 мин
Количество просмотров1.1K

В данной работе рассматривает пример создания симуляционной модели четырёхколёсной мобильной платформы с рулевым управления по типу Аккреманна, с использованием фреймворка ROS, контроллер написан на языке Python. В качестве среды симуляции выбрана Gazebo. Приведены примеры описания архитектуры робота, посредством формата urdf, разработан собственный контроллер для управления колёсами модели, а также показан общий подход к проектированию симуляционных моделей робототехнических систем.

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

ВМС США тестириует применение AR-очков Magic Leap One для обучения личного состава

Время на прочтение1 мин
Количество просмотров1.9K
Несмотря на действующий контракт Microsoft с армией США, предполагающий разработку модификации очков HoloLens для использования солдатами в бою, о котором уже писали на Хабре, ВМС США объявили о том, что тестирует применение в бою очков Magic Leap One.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Несколько занимательных Python-проектов

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

Я долго думал, создавать ли этот топик.
Аргумент против: творения не мои, поэтому инвайта ожидать не стоит, а в силу отсутствия исходников полезность статьи не велика.
Аргумент за: я был сильно впечатлен увиденным, а искать что-то касающееся Python-а и программирования в целом на просторах youtube-a вряд ли кто-то станет.

Так что в конце-концов я все же решил поделиться увиденным с публикой. А поделюсь я с Вами несколькими видео-роликами, раскрывающими возможности ряда программ, написанных на питоне с использованием модуля pygame. Основная тематика приложений — различного рода симуляции.

Об авторе (но не от автора).

Автором всех шести приложений является Badmephisto — студент из Словакии, живущий в настоящее время в Канаде. Он весьма известен как спидкубер, но, как мне кажется, не менее талантлив в программировании. Еще он замечательный математик, увлекающийся фракталами.
Ссылки: Cubing site, Youtube account, Fractalmath channel.

Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии11

Что нового в SOLIDWORKS 2020

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

Более чем шести миллионам пользователей по всему миру SOLIDWORKS позволяет ускорить и усовершенствовать процесс разработки изделий – начиная со стадии концептуального дизайна до изготовления конечной продукции – и сгенерировать добавленную стоимость для их бизнеса. Рассмотрим подробнее SOLIDWORKS 2020 — новейшую версию пакета приложений для 3D-дизайна и проектирования, разработанную научно-исследовательским подразделением Dassault Systèmes на основе комментариев и идей об усовершенствовании, собранных у сообщества SOLIDWORKS по всему миру.

Итак, SOLIDWORKS 2020 помогает оптимизировать процесс разработки и производства промышленных изделий на всех стадиях. В новой версии улучшения сосредоточились в основном в трех областях:

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

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

Согласованная работа в облаке. К SOLIDWORKS 2020 можно без труда подключать приложения, работающие на платформе 3DEXPERIENCE. Это дает возможность контролировать многие аспекты разработки изделий, подготовки производства и поставки продукции, причем в любой момент времени.
Всего голосов 18: ↑15 и ↓3+12
Комментарии12

Что нового в SOLIDWORKS Simulation 2020

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

Девиз SOLIDWORKS Simulation 2020 — еще производительнее, еще проще!

SOLIDWORKS Simulation 2020 — это МКЭ для всех: теперь сложные расчетные задачи под силу не только специалистам-расчетчикам


SOLIDWORKS Simulation 2020 устраняет барьеры на пути широкого внедрения имитационного моделирования и расчетов методом конечных элементов. Эти сложные задачи становятся доступными для широкого круга инженеров-конструкторов, а не только для узких специалистов, которых обычно не хватает. Чем меньше приходится изготавливать физических протитипов — тем больше экономия и короче цикл разработки; более надежные, качественные и безопасные изделия.
Новые возможности SOLIDWORKS Simulation 2020 повышают производительность труда конструкторов, ведь наша цель — помочь промышленным предприятиям быстрее выводить продукцию на рынок.
Всего голосов 6: ↑6 и ↓0+6
Комментарии7

Мохнатики захватывают рынок игровой индустрии! Peregrine Labs объявили о коллаборации с Epic Games

Время на прочтение4 мин
Количество просмотров6.4K
Не одними волосами едины. Теперь перьевые персонажи доступны не только в синематеках! Да-да, не плашки, а натуральные динамические перья! 26 ноября 2019 года на официальном сайте Peregrine Labs объявили о том, что их продукт, плагин Yeti версии 3.5.4, состоит в официальных “отношениях” с Unreal Engine версии 4.24.

Всего голосов 20: ↑17 и ↓3+14
Комментарии2

Моделирование движения космических тел

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.7K

В этой статье я подробно объясню и покажу, как написать на Python простой симулятор движения космических тел и что для этого не нужно знать.

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

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии34

Программная симуляция микропроцессора. Коробка передач

Время на прочтение14 мин
Количество просмотров32K
В этой статье я хочу рассказать о том, как создатели симуляторов добиваются максимальной производительности моделей процессоров, при этом не жертвуя гибкостью и расширяемостью полного решения. Если кратко, то решение состоит в сосуществовании нескольких движков, наилучшие качества которых используются на различных этапах работы модели.
Содержимое данной заметки будет основываться на моём опыте разработки функциональных симуляторов, а также на публикациях и технических статьях, описывающих различные симуляторы и виртуальные машины: Wind River Simics, VMWare, Qemu, Bochs и другим. Слово «функциональный» в контексте данной статьи обозначает то, что точность моделей ограничена уровнем набора команд (instruction set architecture, ISA).
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии8

Симулируем чайник в Wind River Simics

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


Примечание переводчика: представляю вниманию почтенной публики статью Якоба Энгблома (Jakob Engblom), в которой он демонстрирует внесение «аналогового» устройства в общем-то дискретный симулятор. Сам я также использую и разрабатываю модели для Simics, но с несколько других позиций, из-за чего редко вижу конечные плоды всей деятельности. Поэтому мне было очень интересно узнать, чем занимаются мои коллеги из Wind River, а затем захотелось поделиться с вами. Тех, кому тема полноплатформенной симуляции или конкретно Simics показались интересными, рекомендую обратить внимание на свежайший выпуск Intel Technology Journal Simics Unleashed – Applications of Virtual Platforms. Я также могу рассказать о Simics более детально и на Хабре в последующих своих постах. Жду ваших комментариев!

Встраиваемая вычислительная система редко работает в изоляции. Тогда как персональные компьютеры и потребительская электроника обычно могут работать самостоятельно с относительно нечастным вмешательством человека, большинство встроенных компьютеров тесно взаимодействуют с окружающим их миром. Они «чувствуют» его, исполняют управляющие алгоритмы, считывают показания датчиков, используют всевозможные актуаторы для того, чтобы изменять внешнюю среду. Они — активные участники непрерывно эволюционирующей кибер-физической реальности. Симуляция таких систем не может быть ограничена моделью изолированного цифрового компьютера — приходится вносить в неё часть физического мира. На следующем видео на Youtube демонстрируется, как это можно осуществить с помощью Wind River Simics.
Видео с выкипающим чайником
Всего голосов 18: ↑16 и ↓2+14
Комментарии3

Аппаратная виртуализация. Теория, реальность и поддержка в архитектурах процессоров

Время на прочтение23 мин
Количество просмотров75K
В данном посте я попытаюсь описать основания и особенности использования аппаратной поддержки виртуализации компьютеров. Начну с определения трёх необходимых условий виртуализации и формулировки теоретических оснований для их достижения. Затем перейду к описанию того, какое отражение теория находит в суровой реальности. В качестве иллюстраций будет кратко описано, как различные вендоры процессоров различных архитектур реализовали виртуализацию в своей продукции. В конце будет затронут вопрос рекурсивной виртуализации.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии6

Создаем симулятор солнечной системы

Время на прочтение3 мин
Количество просмотров55K
Предисловие
Вечная тяга к новому подтолкнула к изучению такого замечательного языка программирования, как Питон. Как это часто бывает, отсутствие идеи, на реализацию которой не жалко потратить свое время, сильно тормозило процесс.

Волею судьбы на глаза попался замечательный цикл статей о создании игры-платформера на Питоне
тут и тут.
Я решил взяться за один старый проект. За симулятор движения тел под действием сил гравитации.

Что из этого вышло читайте дальше.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии69

Обращая симулируемое время

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

Я уверен, что у многих из нас при отладке приложений периодически возникает желание отступить на шаг (или два, десять...) назад от текущей строки, чтобы увидеть причины происходящего в ней неправильного поведения. Чаще всего для этого приходится перезапускать отладку с начала и пытаться остановить исполнение программы чуть раньше, чем на предыдущей попытке. Затем надо пошагово приблизиться к предполагаемому месту с проблемой… упс, опять перешагнули! Начинаем всё по новой, ведь в дебаггере уже нельзя отступить назад даже на один шаг. Или можно?

В одном из своих предыдущих постов я запланировал описать, как программная симуляция цифровых систем позволяет делать то, что невозможно в реальности, а именно — обращать вспять течение времени для нужд отладки. Об этом и пойдёт речь в этой заметке.


Автор фото: Иван Андреев
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии7

Ассемблер для задач симуляции. Часть 1: гостевой ассемблер

Время на прочтение10 мин
Количество просмотров11K
Instructions, registers, and assembler directives are always in UPPER CASE to remind you that assembly programming is a fraught endeavor
golang.org/doc/asm
На Хабре да и в Интернете в целом есть довольно много информации про использование языков ассемблера для всевозможных архитектур. Пролистав доступные материалы, я обнаружил, что чаще всего освещаемые в них области использования ассемблера и родственных технологий следующие:
  1. Встраиваемые (embedded) системы.
  2. Декомпиляция, обратная разработка (reverse engineering), компьютерная безопасность.
  3. Высокопроизводительные вычисления (HPC) и оптимизация программ.
И конечно же, в каждой из этих областей существуют специфические требования, а значит свои понятия об инструментах и «свой» ассемблер. Эмбедщики смотрят в код через редактор и дебаггер, реверс-инженеры видят его в декомпиляторах вроде IDA и radare2 и отладчиках ICE, а HPC-спецы — через профилировщики, такие как Intel® VTune™ Amplifier, xperf или perf.
И захотелось мне рассказать об ещё одной области программирования, в которой ассемблеры частые спутники. А именно — об их роли при разработке программных моделей вычислительных систем, в простонародье именуемых симуляторами.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Виртуальное время, часть 2: вопросы симуляции и виртуализации

Время на прочтение17 мин
Количество просмотров9.6K
В предыдущей статье я рассмотрел существующие в платформе PC источники времени, их особенности, недостатки и историю. Теперь, вооружённые этим знанием, мы можем рассмотреть, как эти устройства могут быть представлены внутри виртуального окружения — полноплатформенного программного симулятора или системной виртуальной машины, т.е. программной среды, позволяющей запускать внутри себя операционную систему.
В этой статье мы разберём различные способы представления времени внутри моделей, подходы к имитации работы таймеров, возможности аппаратного ускорения при виртуализации, а также трудности согласования течения времени внутри моделируемых окружений.



Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Семь видов интерпретаторов виртуальной машины. В поисках самого быстрого

Время на прочтение35 мин
Количество просмотров32K
Все проблемы в области Computer Science могут быть решены введением дополнительного уровня косвенности. За исключением одной: слишком большого числа уровней косвенности.
All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.

Программные интерпретаторы известны своей невысокой скоростью работы. В этой статье я расскажу, как их можно ускорить.
Я давно уже хотел поподробней остановиться на создании интерпретаторов. Прямо таки обещал, в том числе самому себе. Однако серьёзный подход требовал использования более-менее реалистичного кода для примеров, а также проведения измерений производительности, подтверждающих (а иногда и опровергающих) мои аргументы. Но наконец-то я готов представить почтенной публике результаты, причём даже чуть более интересные, чем собирался.
В данной статье будет описано семь способов построения программной ВМ для одной гостевой системы. От самых медленных мы проследуем к более быстрым, поочерёдно избавляясь от различных «неэффективностей» в коде, и в конце сравним их работу на примере одной программы.
Тех, кто не боится ассемблерных листингов, испещрённого макросами кода на Си, обильно удобренного адресной арифметикой, goto и даже longjmp, а также программ, использующих копипаст во имя скорости или даже создающих куски самих себя, прошу пожаловать под кат.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии48

Написание и запуск скрипта для симуляции Verilog-кода в ModelSim

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

image

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


Сегодня я хочу написать небольшой гайд по запуску тестбенчей на Verilog/SystemVerilog в ModelSim без использования GUI.


План будет такой:


  1. Добавление пути к ModelSim в PATH.
  2. Написание скрипта с объяснением команд.
  3. Запуск ModelSim с исполнением написанного скрипта.

Поехали!

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии14

Что если в играх использовать видеокарточку для физики, а не для графики

Время на прочтение5 мин
Количество просмотров79K
Хочу рассказать сообществу о проведённом мной эксперименте.

Мне всегда нравились игры, в которых есть физика. То есть, некоторые процессы не управляются скриптами, а эволюционируют во времени, следуя физическим законам. Из этого проистекают сложность и непредсказуемость игрового процесса.

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

Или те же гоночки: до чего приятней на полной скорости сшибать людей, рекламные щиты и помойки, чтобы разлетались во все стороны, вместо того, чтобы мгновенно останавливаться, врезаясь в мёртво врощенный в землю столб.

Или ещё замечательный пример — Kerbal Space Program. Там физика уже является непосредственым источником геймплея.

Или, например, жанр 2д артиллерии. Часть его очарования базируется на уничтожаемой, динамичной земле. Но до чего он был бы лучше, если б земля не просто линейно осыпалась, а вела себя реалистично, разлетаясь от взрывов кусками.

Я давно мечтал сделать именно такой, до предела физически реалистичный римейк Scorched Earth. Но все мои эксперименты с моделированием физических систем упирались в неумолимо медленные процессоры. Тысяча-две частиц были пределом для real-time симуляции.

Но недавнее моё «открытие» изменило ситуацию.
Всего голосов 157: ↑146 и ↓11+135
Комментарии217

1.500.000 установок за 3 месяца — история разработки Tap Tap Builder

Время на прочтение4 мин
Количество просмотров25K
Добрый день! Я — инди-разработчик и автор игры Tap Tap Builder. В этой небольшой статье я поделюсь своим опытом и расскажу, как маленькая игра прокладывает себе путь в большой мир.

image
Читать дальше →
Всего голосов 49: ↑39 и ↓10+29
Комментарии38

Cadence представит Genus на семинарах по разработке микросхем в Питере и Зеленограде

Время на прочтение2 мин
Количество просмотров7.5K
Новости дружественных организаций (Cadence, МИЭТ, ИТМО, НПЦ Элвис и других):

Cadence Design Systems, одна из двух крупнейших мировых компаний в области автоматизации разработки микросхем, 15-16 октября проведет семинары в Московском институте электронной техники (МИЭТ) в Зеленограде и Питерском Университете ИТМО, в котором (по опыту моей поездки 2012 года) студенты очень хорошо понимают Verilog и системы на кристалле.

В семинарах примут участие и три российские компании «Элекроприбор», НИИМА «Прогресс» и НПЦ «Элвис». См. статью про сотрудничество с Imagination Technologies родственной НПЦ «Элвис» организации «Элвис-Неотек» на сайте Роснано.

Среди презентаций я лично рекомендую посмотреть на новый тул для синтеза Genus — я видел и заснял его презентацию в июне на выставке Design Automation Conference в Сан-Франциско:


Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии14

Генератор Федеративного Фильтра Калмана с использованием Генетических Алгоритмов

Время на прочтение18 мин
Количество просмотров25K
В рамках своей научной активности реализовал так называемый Федеративный Фильтр Калмана (Federated Kalman Filter). В этой статье рассказывается о том, что такое «Федеративный ФК», чем он отличается от обобщенного, а также описывается консольное приложение, реализующее данный фильтр и генетические алгоритмы для подбора параметров его математической модели. Приложение было реализовано с использованием TPL (Task Parallel Library), поэтому пост будет интересен не только специалистам по цифровой обработке сигналов.

UPD1: после прочтения двух недавних статей решил тоже присоединиться к эксперименту/исследованию/авантюре (называйте как хотите). В конце статьи добавил еще один опрос — "Стали бы Вы поощрать рублем такие узко специализированные статьи на Хабрахабре?".

Под катом описание и ссылка на сорцы
Всего голосов 60: ↑57 и ↓3+54
Комментарии11