Internships
Register
Copyright © 2000—2025 JetBrains s.r.o.

Lego Sorter

Description

Если вы любите Lego, но не любите аккуратно раскладывать детальки по ящичкам, вы наверняка сталкивались с проблемой, когда хочется построить что-то новое, но приходится долго и мучительно выбирать из кучи подходящие элементы. Или, увидев в магазине новый набор, вы думали, может быть у меня уже почти все для него есть? Скольких элементов мне не хватает?
Обычно машины для сортировки Lego, о которых можно прочесть на просторах сети, имеют множество коробочек, куда деталька, проехавшая мимо камеры для распознавания, отравляется в тот или иной контейнер, в соотвествии с заданной системой. Мы же хотим построить упрощенный вариант, который распределяет элементы на две группы по принципу "входит или не входит в заданный набор". К счастью, информация обо всех элементах конструктора и составе наборов известна. Кажется, что такой подход может сильно упростить механическую часть устройства, при этом программная часть останется почти такой же. То есть в будущем возможна модификация для полноценной сортировке.

Что предстоит сделать?

  • Построить физическую машину (условия удаленной стажировки вносят свои сложности, так что эту часть мы планируем реализовать в Мюнхенском офисе руками наших коллег из IT-отдела); пока есть идея собрать устройство, которое имеет:
    1) емкость для приема несортированных элементов
    2) движущуюся ленту
    3) вибростол или любой другой элемент, который позволяет насыпать детальки на ленту с такой скоростью, которая позволяет успевать делать распознавание
    4) механизм для распределения деталей по коробкам после принятия решения

  • Разработать программное обеспечение для управления самим устройством (оно может быть на базе Lego Mindstorms или на базе Brickpi3) и осуществления сортировки, включая распознавание картинок (есть подозрение, что придется еще предварительно генерить наборы картинок из имеющихся базовых, чтобы потом распознавание элемента в любом положении было возможно).

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

Requirements

  • Любознательность и отсутствие страха перед неизвестным
  • Умение программировать на Java/Kotlin/Python
  • Знакомство с принципами машинного обучение будет плюсом
  • Опыт работы с embedded системами будет плюсом

Admission

Разработчики: Лето 2021

Mentor

Alexey Afanasiev, Ekaterina Shliakhovetskaja

Mentor's location

Remote

Product/Team

Other

Tags

Java
Kotlin
Machine Learning
Python