В данной работе рассматривает пример создания симуляционной модели четырёхколёсной мобильной платформы с рулевым управления по типу Аккреманна, с использованием фреймворка ROS, контроллер написан на языке Python. В качестве среды симуляции выбрана Gazebo. Приведены примеры описания архитектуры робота, посредством формата urdf, разработан собственный контроллер для управления колёсами модели, а также показан общий подход к проектированию симуляционных моделей робототехнических систем.
ВМС США тестириует применение AR-очков Magic Leap One для обучения личного состава
Несколько занимательных Python-проектов
Вступление.
Я долго думал, создавать ли этот топик.
Аргумент против: творения не мои,
Аргумент за: я был сильно впечатлен увиденным, а искать что-то касающееся Python-а и программирования в целом на просторах youtube-a вряд ли кто-то станет.
Так что в конце-концов я все же решил поделиться увиденным с публикой. А поделюсь я с Вами несколькими видео-роликами, раскрывающими возможности ряда программ, написанных на питоне с использованием модуля pygame. Основная тематика приложений — различного рода симуляции.
Об авторе (но не от автора).
Автором всех шести приложений является Badmephisto — студент из Словакии, живущий в настоящее время в Канаде. Он весьма известен как спидкубер, но, как мне кажется, не менее талантлив в программировании. Еще он замечательный математик, увлекающийся фракталами.
Ссылки: Cubing site, Youtube account, Fractalmath channel.
Что нового в SOLIDWORKS 2020
Более чем шести миллионам пользователей по всему миру SOLIDWORKS позволяет ускорить и усовершенствовать процесс разработки изделий – начиная со стадии концептуального дизайна до изготовления конечной продукции – и сгенерировать добавленную стоимость для их бизнеса. Рассмотрим подробнее SOLIDWORKS 2020 — новейшую версию пакета приложений для 3D-дизайна и проектирования, разработанную научно-исследовательским подразделением Dassault Systèmes на основе комментариев и идей об усовершенствовании, собранных у сообщества SOLIDWORKS по всему миру.
Итак, SOLIDWORKS 2020 помогает оптимизировать процесс разработки и производства промышленных изделий на всех стадиях. В новой версии улучшения сосредоточились в основном в трех областях:
Повышение производительности. Усовершенствованные функции редактирования чертежей, работы со сборками, выполнения инженерных расчетов — все они значительно ускоряют проектирование и анализ изделий любой сложности.
Оптимизация процессов. Благодаря расширенным возможностям проектирования, расчетов, управления инженерными данными и подготовки производства сокращается цикл разработки, повышается качество продукции и снижается ее себестоимость.
Согласованная работа в облаке. К SOLIDWORKS 2020 можно без труда подключать приложения, работающие на платформе 3DEXPERIENCE. Это дает возможность контролировать многие аспекты разработки изделий, подготовки производства и поставки продукции, причем в любой момент времени.
Что нового в SOLIDWORKS Simulation 2020
Девиз SOLIDWORKS Simulation 2020 — еще производительнее, еще проще!
SOLIDWORKS Simulation 2020 — это МКЭ для всех: теперь сложные расчетные задачи под силу не только специалистам-расчетчикам
SOLIDWORKS Simulation 2020 устраняет барьеры на пути широкого внедрения имитационного моделирования и расчетов методом конечных элементов. Эти сложные задачи становятся доступными для широкого круга инженеров-конструкторов, а не только для узких специалистов, которых обычно не хватает. Чем меньше приходится изготавливать физических протитипов — тем больше экономия и короче цикл разработки; более надежные, качественные и безопасные изделия.
Новые возможности SOLIDWORKS Simulation 2020 повышают производительность труда конструкторов, ведь наша цель — помочь промышленным предприятиям быстрее выводить продукцию на рынок.
Мохнатики захватывают рынок игровой индустрии! Peregrine Labs объявили о коллаборации с Epic Games
Моделирование движения космических тел
В этой статье я подробно объясню и покажу, как написать на Python простой симулятор движения космических тел и что для этого не нужно знать.
Моделирование - очень удобный и понятный способ вычисления многих процессов. Он не требует использования законов, описывающих движение тел, а требует лишь определения взаимодействия тел в нужные моменты времени. В этой статье я рассказываю о создании простого симулятора движений космических тел, который поможет понять суть данного метода исследования.
Программная симуляция микропроцессора. Коробка передач
Содержимое данной заметки будет основываться на моём опыте разработки функциональных симуляторов, а также на публикациях и технических статьях, описывающих различные симуляторы и виртуальные машины: Wind River Simics, VMWare, Qemu, Bochs и другим. Слово «функциональный» в контексте данной статьи обозначает то, что точность моделей ограничена уровнем набора команд (instruction set architecture, ISA).
Симулируем чайник в Wind River Simics
Примечание переводчика: представляю вниманию почтенной публики статью Якоба Энгблома (Jakob Engblom), в которой он демонстрирует внесение «аналогового» устройства в общем-то дискретный симулятор. Сам я также использую и разрабатываю модели для Simics, но с несколько других позиций, из-за чего редко вижу конечные плоды всей деятельности. Поэтому мне было очень интересно узнать, чем занимаются мои коллеги из Wind River, а затем захотелось поделиться с вами. Тех, кому тема полноплатформенной симуляции или конкретно Simics показались интересными, рекомендую обратить внимание на свежайший выпуск Intel Technology Journal Simics Unleashed – Applications of Virtual Platforms. Я также могу рассказать о Simics более детально и на Хабре в последующих своих постах. Жду ваших комментариев!
Встраиваемая вычислительная система редко работает в изоляции. Тогда как персональные компьютеры и потребительская электроника обычно могут работать самостоятельно с относительно нечастным вмешательством человека, большинство встроенных компьютеров тесно взаимодействуют с окружающим их миром. Они «чувствуют» его, исполняют управляющие алгоритмы, считывают показания датчиков, используют всевозможные актуаторы для того, чтобы изменять внешнюю среду. Они — активные участники непрерывно эволюционирующей кибер-физической реальности. Симуляция таких систем не может быть ограничена моделью изолированного цифрового компьютера — приходится вносить в неё часть физического мира. На следующем видео на Youtube демонстрируется, как это можно осуществить с помощью Wind River Simics.
Аппаратная виртуализация. Теория, реальность и поддержка в архитектурах процессоров
Создаем симулятор солнечной системы
Вечная тяга к новому подтолкнула к изучению такого замечательного языка программирования, как Питон. Как это часто бывает, отсутствие идеи, на реализацию которой не жалко потратить свое время, сильно тормозило процесс.
Волею судьбы на глаза попался замечательный цикл статей о создании игры-платформера на Питоне
тут и тут.
Я решил взяться за один старый проект. За симулятор движения тел под действием сил гравитации.
Что из этого вышло читайте дальше.
Обращая симулируемое время
Я уверен, что у многих из нас при отладке приложений периодически возникает желание отступить на шаг (или два, десять...) назад от текущей строки, чтобы увидеть причины происходящего в ней неправильного поведения. Чаще всего для этого приходится перезапускать отладку с начала и пытаться остановить исполнение программы чуть раньше, чем на предыдущей попытке. Затем надо пошагово приблизиться к предполагаемому месту с проблемой… упс, опять перешагнули! Начинаем всё по новой, ведь в дебаггере уже нельзя отступить назад даже на один шаг. Или можно?
В одном из своих предыдущих постов я запланировал описать, как программная симуляция цифровых систем позволяет делать то, что невозможно в реальности, а именно — обращать вспять течение времени для нужд отладки. Об этом и пойдёт речь в этой заметке.
Автор фото: Иван Андреев
Ассемблер для задач симуляции. Часть 1: гостевой ассемблер
Instructions, registers, and assembler directives are always in UPPER CASE to remind you that assembly programming is a fraught endeavorНа Хабре да и в Интернете в целом есть довольно много информации про использование языков ассемблера для всевозможных архитектур. Пролистав доступные материалы, я обнаружил, что чаще всего освещаемые в них области использования ассемблера и родственных технологий следующие:
golang.org/doc/asm
- Встраиваемые (embedded) системы.
- Декомпиляция, обратная разработка (reverse engineering), компьютерная безопасность.
- Высокопроизводительные вычисления (HPC) и оптимизация программ.
xperf
или perf
.И захотелось мне рассказать об ещё одной области программирования, в которой ассемблеры частые спутники. А именно — об их роли при разработке программных моделей вычислительных систем, в простонародье именуемых симуляторами.
Виртуальное время, часть 2: вопросы симуляции и виртуализации
В этой статье мы разберём различные способы представления времени внутри моделей, подходы к имитации работы таймеров, возможности аппаратного ускорения при виртуализации, а также трудности согласования течения времени внутри моделируемых окружений.
Семь видов интерпретаторов виртуальной машины. В поисках самого быстрого
Все проблемы в области 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, а также программ, использующих копипаст во имя скорости или даже создающих куски самих себя, прошу пожаловать под кат.
Написание и запуск скрипта для симуляции Verilog-кода в ModelSim
Всем привет! Надеюсь, все хорошо провели праздники и готовы с новыми силами покорять высоты FPGA разработки.
Сегодня я хочу написать небольшой гайд по запуску тестбенчей на Verilog/SystemVerilog в ModelSim без использования GUI.
План будет такой:
- Добавление пути к ModelSim в PATH.
- Написание скрипта с объяснением команд.
- Запуск ModelSim с исполнением написанного скрипта.
Поехали!
Что если в играх использовать видеокарточку для физики, а не для графики
Мне всегда нравились игры, в которых есть физика. То есть, некоторые процессы не управляются скриптами, а эволюционируют во времени, следуя физическим законам. Из этого проистекают сложность и непредсказуемость игрового процесса.
Примеров много, физические элементы тонко пронизывают многообразие компьютерных игр. Взять хоть любой платформер: совсем другие ощущения от игры, когда есть инерция персонажа, скольжение, гравитация, урон от падения с большой высоты и отдача от оружия.
Или те же гоночки: до чего приятней на полной скорости сшибать людей, рекламные щиты и помойки, чтобы разлетались во все стороны, вместо того, чтобы мгновенно останавливаться, врезаясь в мёртво врощенный в землю столб.
Или ещё замечательный пример — Kerbal Space Program. Там физика уже является непосредственым источником геймплея.
Или, например, жанр 2д артиллерии. Часть его очарования базируется на уничтожаемой, динамичной земле. Но до чего он был бы лучше, если б земля не просто линейно осыпалась, а вела себя реалистично, разлетаясь от взрывов кусками.
Я давно мечтал сделать именно такой, до предела физически реалистичный римейк Scorched Earth. Но все мои эксперименты с моделированием физических систем упирались в неумолимо медленные процессоры. Тысяча-две частиц были пределом для real-time симуляции.
Но недавнее моё «открытие» изменило ситуацию.
1.500.000 установок за 3 месяца — история разработки Tap Tap Builder
Cadence представит Genus на семинарах по разработке микросхем в Питере и Зеленограде
Cadence Design Systems, одна из двух крупнейших мировых компаний в области автоматизации разработки микросхем, 15-16 октября проведет семинары в Московском институте электронной техники (МИЭТ) в Зеленограде и Питерском Университете ИТМО, в котором (по опыту моей поездки 2012 года) студенты очень хорошо понимают Verilog и системы на кристалле.
В семинарах примут участие и три российские компании «Элекроприбор», НИИМА «Прогресс» и НПЦ «Элвис». См. статью про сотрудничество с Imagination Technologies родственной НПЦ «Элвис» организации «Элвис-Неотек» на сайте Роснано.
Среди презентаций я лично рекомендую посмотреть на новый тул для синтеза Genus — я видел и заснял его презентацию в июне на выставке Design Automation Conference в Сан-Франциско:
Генератор Федеративного Фильтра Калмана с использованием Генетических Алгоритмов
UPD1: после прочтения двух недавних статей решил тоже присоединиться к эксперименту/исследованию/авантюре (называйте как хотите). В конце статьи добавил еще один опрос — "Стали бы Вы поощрать рублем такие узко специализированные статьи на Хабрахабре?".