Если вы любите Lego, но не любите аккуратно раскладывать детальки по ящичкам, вы наверняка сталкивались с проблемой, когда хочется построить что-то новое, но приходится долго и мучительно выбирать из кучи подходящие элементы. Или, увидев в магазине новый набор, вы думали, может быть у меня уже почти все для него есть? Скольких элементов мне не хватает?
Обычно машины для сортировки Lego, о которых можно прочесть на просторах сети, имеют множество коробочек, куда деталька, проехавшая мимо камеры для распознавания, отравляется в тот или иной контейнер, в соотвествии с заданной системой. Мы же хотим построить упрощенный вариант, который распределяет элементы на две группы по принципу "входит или не входит в заданный набор". К счастью, информация обо всех элементах конструктора и составе наборов известна. Кажется, что такой подход может сильно упростить механическую часть устройства, при этом программная часть останется почти такой же. То есть в будущем возможна модификация для полноценной сортировке.
Что предстоит сделать?
Построить физическую машину (условия удаленной стажировки вносят свои сложности, так что эту часть мы планируем реализовать в Мюнхенском офисе руками наших коллег из IT-отдела); пока есть идея собрать устройство, которое имеет:
1) емкость для приема несортированных элементов
2) движущуюся ленту
3) вибростол или любой другой элемент, который позволяет насыпать детальки на ленту с такой скоростью, которая позволяет успевать делать распознавание
4) механизм для распределения деталей по коробкам после принятия решения
Разработать программное обеспечение для управления самим устройством (оно может быть на базе Lego Mindstorms или на базе Brickpi3) и осуществления сортировки, включая распознавание картинок (есть подозрение, что придется еще предварительно генерить наборы картинок из имеющихся базовых, чтобы потом распознавание элемента в любом положении было возможно).
Скорее всего, эту задачу не удастся решить полностью в условиях стажировки. Однако оценка "уровня техники", выбор подходящих технологий и достижение каких-либо промежуточных результатов и выработка планов на будущее - это будет выдающимся результатом!