Вредоносное ПО (malware) - это назойливые или опасные программы,...
Ben Katz / YouTube
Специалист по робототехнике Бен Кац (Ben Katz) и разработчик программного обеспечения Джаред Ди Карло (Jared Di Carlo) создали робота, который способен собрать кубик Рубика за 0,38 секунды. Это рекордное время, рассказывает Ди Карло в своем блоге, хотя на данный момент оно официально не подтверждено.
Кубик Рубика был изобретен еще в 1974 году, однако головоломка до сих пор пользуется большой популярностью. Люди, увлекающиеся скоростной сборкой кубика Рубика, называются спидкуберами, а сам процесс - спидкубингом (от английского speedcubing). Сегодняшний рекорд принадлежит американцу Лукасу Эттеру, который в ноябре 2015 года собрал головоломку за 4,904 секунды. Аналогичные соревнования также проводятся среди роботов: до сих пор неофициальным «чемпионом» считался робот инженеров из компании Infeon. В 2016 году он собрал кубик Рубика за 0,637 секунды. Однако теперь Кац и Ди Карло разработали робота, который улучшил результат предыдущего рекордсмена на 40 процентов.
Как и все подобные устройства, робот исследователей использует камеру (в данном случае PlayStation Eye), которая передает снимки сторон кубика Рубика на компьютер. Он определяет расстановку деталей головоломки, а затем передает данные программе min2phase , в основе работы которой лежит двухфазный алгоритм Герберта Коцембы . Компьютер за доли секунды вычисляет оптимальное решение задачи, после чего подает команду роботу, и тот перемещает все элементы нужным образом.
Чтобы ускорить процесс, Кац использовал двигатели Kollmorgen ServoDisk, которые имеют очень высокое отношение крутящего момента к моменту инерции. Кроме того, инженер построил специальный контроллер, позволяющий повернуть сторону кубика Рубика на 90 градусов всего лишь за 10 миллисекунд. При условии, что собрать головоломку можно, в среднем, за 19-23 хода, робот Каца и Ди Карло должен решать задачу за 0,25 секунды. Однако в реальности процесс занимает 0,38 секунды, так как сейчас машина делает одно движение каждые 15 миллисекунд.
Разработчики уверены, что в будущем они смогут улучшить свой результат. Сейчас процесс настройки требует много времени, поскольку отладка должна выполняться с помощью высокоскоростной камеры, а ошибки порой приводят к поломке паззла или взрыву полевых транзисторов. Тем не менее, для ста различных решений понадобилось всего 4 кубика Рубика. На видео ниже показана одна из неудачных попыток сборки головоломки:
Недавно программист Мартин Шпанел разработал программное обеспечение, позволяющее собрать кубик Рубика с помощью очков дополненной реальности. В режиме реального времени оно выводит нужное действие с помощью AR-гарнитуры прямо поверх одной из граней куба.
Кристина Уласович
15 октября 2014 в 12:57MindCub3r по-русски - делаем робота, который может собрать кубик Рубика (статья обновлена)
- DIY или Сделай сам
Не так давно обзавелся набором LEGO MINDSTORMS EV3 (31313) и с удивлением обнаружил, что в русскоязычном сегменте интернета довольно мало интересных материалов и инструкций по сборке и настройке роботов из этого набора. Решил, что нужно это дело исправлять.
Эта инструкция представляет собой вольный перевод материалов с официального сайта проекта MindCub3r и дополнена опытом самостоятельной сборки этого робота, способного собрать кубик Рубика меньше чем за 2 минуты.
Подробнее о LEGO MINDSTORMS EV3 можно почитать на этом сайте .
Вот, что у нас должно получится в итоге:
MindCub3r можно построить из одного комплекта Lego Mindstorms EV3 (31313, Home Edition).
Также вам понадобится инструкция по сборке и программное обеспечение, разработанное авторами проекта.
ВАЖНОЕ СООБЩЕНИЕ!!!
Буквально позавчера автор проекта объявил в своем ФБ, что подправил программное обеспечение для своего робота, и теперь оно работает со «штатной» прошивкой «кирпича» 1.06Н . На главной странице проекта эта информация также уже появилась, архив MindCub3r-v1p1a.zip , содержащий, среди прочего, и обновленную версию программы, уже доступен для загрузки. Загрузка и установка блока для датчика цвета по-прежнему необходима.
Дальнейший текст статьи исправлен с учетом последних изменений на сайте проекта!
Инструкцию по сборке MindCub3r смотрим или скачиваем .
Прошивку (на момент написания статьи EV3-Firmware-V1.06H.bin) для кирпича скачиваем с официального сайта LEGO MINDSTORMS .
Архив MindCub3r-v1p1a.zip с файлами проекта (MindCuber-v1p1.ev3, autorun.rtf и mc3solver-v1p1.rtf) качаем .
Еще нам понадобится прошивка для датчика цвета, которую берем . Все дело в том, что стандартные настройки этого датчика не корректно определяют цвета в режиме RGB.
После того, как вы соберете робота и скачаете себе на компьютер все необходимое, можно приступать к настройке.
Если вы еще не обновили прошивку «кирпича» первым делом устанавливаем новую версию ПО для главного блока Mindstorms EV3:
1. Запускаем программное обеспечение LEGO MINDSTORMS EV3;
2. Выбираем Инструменты
- Обновление встроенного ПО
;
«Просмотреть» , находим предварительно закаченный файл EV3-Firmware-V1.06H.bin и жмем «Открыть» ;
«Доступные файлы встроенного ПО» выбираем EV3-Firmware-V1.06H и жмем «Загрузить» . Ждем окончания загрузки;
5. Перезагружаем главный блок (выключаем и снова включаем).
3. В появившемся диалоговом окне нажимаем «Просмотреть» , находим предварительно загруженный файл ColorSensorRGB-v1.00.ev3b и жмем «Открыть» ;
4. В диалоговом окне в таблице «Выбрать блоки для импорта» выбираем ColorSensorRGB-v1.00.ev3b и жмем «Импорт» .
5. Для завершения установки закройте диалоговое окно и выйдите из программного обеспечения LEGO MINDSTORMS EV3.
Теперь самый ответственный момент - загрузка программы робота в кирпич:
1. Распаковываем предварительно загруженный архив MindCub3r-v1p1a.zip
;
2. Запускаем ПО LEGO MINDSTORMS EV3;
3. Выбираем Файл
- Открыть проект
, ищем файл MindCub3r-v1p1.ev3, распакованный из архива MindCub3r-v1p1.zip и жмем «Открыть»;
4. После открытия проекта загружаем его в «кирпич». Загружаем, но НЕ ЗАПУСКАЕМ!!!
5. Идем в Инструменты - Обозреватель памяти (Ctrl+I) ;
6. Выбираем (выделяем) во вкладке «Модуль»
или «SD-карта»
папку проекта «MindCub3r-v1p1»
;
7. Нажимаем «Загрузить»
;
8. Находим файл mc3solver-v1p1.rtf
«Открыть»
;
9. Еще раз нажимаем «Загрузить»
, предварительно убедившись, что папка проекта «MindCub3r-v1p1» все еще выделена;
10. Находим файл InstallMC3-v1p1.rbf
, распакованный из архива MindCub3r-v1p1a.zip и нажимаем «Открыть»
;
Примечание: файл mc3solver-v1p1.rtf имеет текстовое расширение.rtf. Пожалуйста, не пытайтесь открыть этот файл с помощью текстового редактора.
11. Закройте диалоговое окно, выйдите из программы и перезагрузите модуль.
Последний этап - устанавливаем приложение MC3 Solver на главном модуле:
1. Включаем блок:
2. Находим во второй вкладке папку проекта MindCub3r-v1p1 (в памяти блока или на SD-карте):
3. Выбираем файл InstallMC3-v1p1 и нажимаем на центральную кнопку модуля для установки:
4. В третьей вкладке проверяем наличие установленного приложения MC3 Solver v1p1 :
5. Перезагружаем блок.
6. В третьей вкладке блока запускаем приложение «MC3 Solver v1p1» для начала работы программы mc3solver-v1p1.rtf:
Всё! MindCub3r готов к использованию!
7. Запускаем программу в первой или во второй вкладке блока:
После запуска программы робот попросит вложить кубик («Insert cube») и начнет его сканировать датчиком цвета.
После сканирования робот ненадолго задумается и начнет сборку.
Удачное решение задачи ознаменуется радостным вращением кубика.
Вот, собственно, процесс работы робота:
Выше описан идеальный сценарий, на практике же все немного хуже - датчик может не правильно определить цвета - всего робот может провести 3 (три) цикла сканирования до того, как выдаст ошибку (Scan error). После этого нужно изъять кубик и снова вложить в робота. Причиной этому может быть или низкий заряд батареи модуля или «неправильный» кубик.
У меня иногда проходило по 3-5 повторов (3 цикла сканирования и одно изъятие) прежде чем робот принимался за сборку, но результат того однозначно стоит.
Если у вас остались вопросы, задавайте их в комментариях к статье, с удовольствием на них отвечу.
Специалист по робототехнике Бен Кац и разработчик программного обеспечения Джаред Ди Карло создали робота, которому удалось собрать кубик Рубика за 0,38 сек. К слову, предыдущий рекордсмен, робот из компании Infeon, смог решить эту головоломку за 0,637 сек, рассказывают ученые в своем блоге.
Секрет успеха
Как и все подобные устройства, робот Каца и Ди Карло использует камеру (в этом случае PlayStation 3 Eye), которая делает снимки всех сторон кубика и передает их на компьютер. Он с помощью программы min2phase (в основе работы лежит двухфазный алгоритм Герберта Коцембы) за считанные доли секунды распознает цвета, выбирает оптимальное решение задачи и отдает команду роботу. Ультралегкие двигатели Kollmorgen ServoDisk и специальный контроллер позволяют искусственному интеллекту перевернуть одну сторону кубика Рубика на 90 ° за 10 миллисекунд. При условии, что головоломку можно решить за 19-23 хода, робот Каца и Ди Карло должен собирать кубик за 0,25 сек. Однако в реальности машина делает одно движение каждые 15 миллисекунд, следовательно, весь процесс занимает у нее 0,38 сек.
Спидкубинг и спидкуберы
Напомним, что кубик Рубика изобрел венгерский скульптор и преподаватель архитектуры Эрнё Рубик в 1974 г. С этого времени прошло уже больше 30 лет, однако головоломка до сих пор пользуется большим успехом. Сегодня существуют специальные соревнования по скоростной сборке кубика Рубика: участников называют спидкуберами, а сам процесс - спидкубингом (от англ. speedcubing). В сентябре 2017 г. новый рекорд установил 15-летний американец Патрик Понс. Он решил головоломку за 4,69 сек, сделав при этом 17 движений.
Аналогичные соревнования также проводятся среди роботов. До недавнего времени неофициальным чемпионом спидкубинга считался