Привет, меня зовут Дмитрий Каржицкий, я работаю QA Lead в белорусском hardware-стартапе Rozum Robotics. Недавно вместе с Университетом Иннополис мы провели митап, посвящённый разработке hardware-продуктов. По следам митапа хочу рассказать про специфику разработки и тестирования роботов и про особенности организации работы в hardware-стартапе.
Кажется, что сфера hardware менее заметна, чем software, как минимум по количеству упоминаний. У всех на слуху разработчики в области веб- и мобильных приложений, которые пишут код на макбуках, попивая смузи. А у hardware специалистов скорее образ классического бородатого инженера, который может и плату спаять, и код написать. Если с задачей на разработку софта верхнего уровня хороший Java-программист должен справиться, то в embedded без понимания железа не обойтись.
Разработку новых продуктов, в том числе и в hardware, можно разделить на два больших направления: коммерческие продукты (стартапы) и научно-исследовательская деятельность (R&D). Процессы и подходы к разработке и тестированию могут быть похожи, отличаются задачи и масштаб. Продукт разрабатывается для конкретных пользователей на основе идеи и исследования, что потенциальным клиентам нужна ваша разработка. В таком подходе больше рисков. Один из рисков — сложность масштабирования продукта. Выпустить новую версию приложения недорого, а создать копию робота всё ещё довольно сложно и дорого. О других рисках я расскажу ниже.
Примеры из процесса разработки будут на основе коллаборативного робота-манипулятора (кобота) PULSE. Это такая подвижная железная рука, которую можно запрограммировать под разные задачи.