Введение

Работая программистом и будучи отцом двух мальчиков неминуемо задумываешься над тем, как будут твои дети жить в технологическом мире и как будут им пользоваться. И, как любой айтишник, я конечно же хочу, чтобы дети чувствовали себя уверенно. А ещё лучше, чтобы стали профессионалами. Современные технологии дают огромный простор для самоопределения, и моя задача - рассказать как можно больше и как можно интереснее. Там уж сами решат, чего им хочется. 

Сегодня расскажу о том, как я учил детей программировать робота, а заодно учился и сам.

Однако задача показать и рассказать относительно легко решается, когда ребенку 7 или 10 лет, а вот когда ему 14, всё становится не так просто. Больше его внимания обращено на соцсети и игры, и всё меньше времени тратится на полезные дела (по мнению родителей, по крайней мере). Энциклопедии по технике уже прочитаны, какие-то штучки вроде Scratch и Lego Mindstorms опробованы и заброшены. Наверное, это самый сложный возраст для поддержания в ребенке интереса к тому, чем увлекаешься сам. С младшим, которому 10, такой проблемы не замечено, он все еще очень открыт новым знаниям)

Пробовал показывать старшему сыну более более взрослые языки программирования из тех, что использую сам - С++ и Python. У старшего неплохо получается, но простые примеры, не имеющие отношения к жизни - не особо интересны, а для решения реальных задач нет пока мотивации. Так и пришел я к мысли, что было бы неплохо эту мотивацию сформировать. Сразу оговорюсь - да, старший сын - “технарь” по складу ума. И это не мое предвзятое мнение, а более-менее объективная оценка других людей. Ему 14, уже стало понятно. Младшему 10, техника ему интересна, но мне кажется по нему однозначно судить рано.

Когда я рос, компьютеров дома не стояло и по смартфону у каждого в кармане не лежало. Чтобы увлечь компьютером его достаточно было показать. Сейчас это изменилось. Вся техника стала нормой жизни, дети просто не понимают, как это - не было ютуба, инстаграма и тик-тока…ах да, интернета не было тоже :-)

Примерно такой компьютер был на работе у отца. DOS и NortonCommander, 16 цветов в играх…(картинка из интернета)
Примерно такой компьютер был на работе у отца. DOS и NortonCommander, 16 цветов в играх…(картинка из интернета)

Чего не хватает многим программистам? Возможности пощупать руками то, что они сделали. Ну не можешь ты потрогать руками например бэк-энд, крутящийся на удаленном сервере. Или базу данных. И у сына я вижу ту же проблему. Тут я и увидел возможность для формирования мотивации - нужен ощутимый измеримый наглядный результат. Что может с этим помочь? Что позволяет совместить физическое и электронное? Конечно, это робот!

Итак, попробуем хоть как-то сформулировать задачу: поддержание интереса к миру ИТ в целом и программированию в частности, закрепить и развить навыки программирования, напомнить, что  “работать руками и головой” этот человек умеет неплохо, вытащить немного из соцсетей и телефона. Дополнительно - познакомиться с новым для нас разделом мира ИТ - робототехникой. Вообще было бы хорошо и младшего привлечь.

Возможный способ решения: какой-то вариант из мира учебной робототехники.

И вот тут я завис…причем, надолго. Привычка системного подхода к решению задач может и навредить. Ничего, зато теперь я почти “диванный эксперт” по детской робототехнике. Стоит также оговориться, что я не робототехник. И не схемотехник. Я программист, это своя специфика.

Обзор рынка образовательной робототехники

Разделю варианты на категории, может, кому-то сэкономит время. Если что-то упустил - пишите в комментариях, эта тема для меня не закончена, буду только рад). Ссылки давать не буду, слишком много было отсмотрено. Все находится поиском, кому нужна конкретика. Итак:

  1. готовые решения на своих контроллерах - Lego Mindstorms EV3, VEX, наш Трик.

    Плюсы: работает из коробки, есть инструкции, можно собирать разных роботов. Наиболее известные решения, с ними все относительно просто.

    Минусы: цена. И это основной минус. Лего теперь почти не купить. Отдавать под 100 тысяч за набор я на данном этапе не готов, т.к. он может быть банально заброшен.

    Купить можно много где, например https://robotbaza.ru/ 

  2. проекты на Arduino

    О, тут целое море. Океан. Это целый мир DIY, но влезть в него для меня не так и просто. Дело в том, что я никогда не был силен в электрических схемах. Посидев немного и поизучав вопрос, решил для себя, что тут нужно либо найти человека, который все это растолкует, либо разбираться самому, на что нужно время. 

    Надо сказать, что хороших готовых проектов в продаже удалось найти совсем немного.

    Один из самых лучших сайтов, которые удалось найти это Суперайс. Хороший каталог оборудования, много чего есть, для тех, кто в этом понимает.

    Искал такой проект, чтобы нормально собиралось и было не слишком сложным. Есть вроде интересные, но за них и ценник подбирается к 20 тысячам, и это на ардуинке и без камер, на “малинке” еще дороже…Неплохим вариантом видится что-то на ардуинке с Алиэкспресса. Цены более вменяемые и выбор очень велик. Но! Ни инструкций по сборке, ни понимания, как это программировать. Пожалуй, лучшее, что видел - это роботы китайской компании HiWonder https://www.hiwonder.hk/. Понравились, думал что остановлюсь на них. Дороговаты и сейчас пропали с Алиэкспресса.

    Из того, что можно купить в России надо отметить наборы Keyestudio - их можно, например, на Озоне купить. На вид привлекательны, по факту это просто китайские наборы и на АлиЭкспресс стоят почти вдвое дешевле.

    Также понравилось решение RoboRobo Robokit. Вроде, ардуинка, но можно собирать разных роботов, что редкость. Есть целая линейка по наборам деталей - от простых до весьма навороченных наборов. Опять же, интересные по комплектации наборы дороговаты сейчас более 100 тысяч. Но рассматривал базовый к покупке, хоть и дорого.

  3. Raspberry Pi и аналоги, либо Nvidia Jetson Nano +ROSi.

    Очень интересная группа, например https://www.hiwonder.hk/collections/jetson/products/hiwonder-jetmax-jetson-nano-robot-arm-ros-open-source-vision-recognition-program-robot .

    Возможности уже намного шире, есть распознавание видеопотока, управление большим количеством устройств и очень много очень разных проектов. Здесь уже как правило вполне стабильные в плане работы и конструкций роботы, возможность серьезно программировать. ROSi вообще очень перспективная среда, много чего интересного можно было бы сделать. Только есть два недостатка: Raspberry Pi и аналоги - это по факту полноценные одноплатники, что не может не сказаться на их цене. Второй - порог входа в плане необходимых знаний здесь значительно выше, это область с которой я никогда не сталкивался. А значит и время, которое потребуется для погружения в тему - в разы больше. Очень интересно, но я пока не потяну, да и не уверен, что на данном этапе есть смысл.

  4. специальные учебные роботы “высокого уровня”. Естественно, забугорной сборки. Например, есть очень классные решения:

    Ufactory

    Dobot

    Applied Robotics

    Тут уже все серьезно. В том числе и по деньгам. 100-200-400-800 тысяч. Опять же толком нет руководств на русском, но понятно, что там уже ROS со всеми вытекающими.

  5. что-то сделанное в России. Ну, тут вообще грустно. Вариантов совсем немного. Это конструкторы:

    • Трик - выглядят неплохо, написана своя оболочка, но почему так дорого? Базовый набор - больше 50 тысяч, а так, чтобы что-то интересное собрать, это опять 100 тысяч. Не проходит по моему бюджету.

    • Ларт - мне не понравились и дорого

    • Зарница - очень много всего! реально интересно, есть небольшая тележка, стоит правда почти 25 тысяч - выглядит интересно, на борту все та же Arduino Uro R3, но вроде обещают комплект учебных материалов.

    • Эвольвектор - больше на электрику ориентированы, наборы с роботами дорогие и все та же ардуинка в качестве основы.

    • Отдельно стоит решение Роббо. Интересное. Вроде, тот же ардуинка, но распаянная по своему. И тут хотя бы должны быть уроки в комплекте. Минусы - соотношение цены и малой гибкости робота - доработать его не получится. Что-то изменить - тоже. У тебя просто колесная платформа, можно довесить датчики. И цена - 62 000 на момент сочинения этой статьи!

      Ну и ..все, кажется? Если что-то пропустил, дополните, пожалуйста. Т.к. более-менее актуального обзора этого рынка я просто не нашел.

По итогам анализа я понял, чего хочу и попробую сформулировать: более - менее качественный небольшой робот за не слишком большие деньги. Желательно без проблем со сборкой (хотя бы инструкция) и с не слишком сложной электроникой - то, в чем я не особо силен. Конечно, хотелось хорошие моторчики, это наверное из собственного детства что-то, чтобы шевелилось хорошо. Ну и мечталось, что будут уроки, с которых можно будет с детьми начать. В конце концов я все же не учитель…да и хорошо бы потом и сами могли заниматься, без меня.

В результате остановился на ардуинке, особых альтернатив вроде нет, и решал, что же выбрать. Собирался брать в Суперайс. Мне кажется, в России лучше, чем у них выбора роботов на Ардуино и Малинке я не видел.

И вот, раздумывая и перекапывая в очередной раз Алиэкспресс в муках выбора я наткнулся на такой проект.

И вроде бы закрыл, чего там, подобные манипуляторы уже видел и цена на них была ниже. А потом вернулся. Сознание зацепилось за одну из картинок - коробочки все подписаны по-русски и в комплекте инструкция. Ладно, думаю, видели и не такое, работают китайцы. 

Модель промышленного робота-манипулятора Робоинтеллект

Читаем описание. И вот тут становится интересно. Оно написано по-русски. Именно не переводчиком, а по-русски. Так. Ладно, сначала реклама, потом…ага, подключение к компьютеру по usb…стоп. Тут нет ардуинки. Как так? А вот так. Подключаем к компу и работает? Сомнительно. Но интересно. Я ведь не хотел ардуинку. Смотрим описание магазина на Али - его нет. Что ж, интернет большой. Ищем просто поиском и, что удивительно, находим. Оказывается, такие же роботы есть и на Озоне и на Вайлдберриз. Ищем дальше и находим (!) сайт производителя. В России. Удивили, но фирма “Робоинтеллект” действительно наша сайт проекта.

В модельном ряду аж сразу 2 манипулятора, правда отличаются они только цветом, серый и желтенький. Зато на сайте есть дополнительные фото, можно чуть внимательнее посмотреть. Описание на сайте не информативное, из него ничего не понятно. Позиционируются как “модель промышленного робота манипулятора”. Смотрим дальше, из интереса идем в раздел “скачать” и находим вполне подробное руководство по работе с роботом. Вот с этого и надо было начинать, большой кнопкой на главной странице!!

Что имеем по факту: 

  • цена - выше аналогичных решений с АлиЭкспресса, но поменьше более качественных аналогов. На момент написания цена на Али 7 416 рублей.

  • робот с 4-мя степенями свободы, сделан из пластика

  • это не колесная платформа, ездить не будет, увы

  • в нагруженных узлах сделаны редукторы - обычно в таких проектах все сидит прямо на сервах и работает не очень

  • подключается напрямую к компьютеру через usb

  • сервы какие стоят не понятно (но на фото корпуса темные. по другим проектам это похоже на MG90, предполагаем хотя бы металлические шестеренки)

  • интересная конструкция клешни - спорное решение, обычно делают проще

  • есть программка для управления с компьютера

  • есть пособие по программированию на Python

Но на Алиэкспрессе обещали еще C, C++, Golang и PHP. Пишу в техподдержку и…они отвечают! Неужели там есть живые люди? Обычно в ответ тишина, а тут адекватный ответ. Суть ответа в следующем - программные оболочки они сейчас активно разрабатывают. Представляете? У нас в России кто-то что-то делает путевое. Они сделали свое SDK для робота! Да, вот к этому маленькому роботу…не представляю, сколько они с этим сидели. Дали ссылку на раздел документации Документация к библиотеке управления робототехникой RISDK с примерами для всех языков программирования и на оболочку для упрощенного программирования на блочном языке Blockly RISDK.

Ну, раз так, решился заказать. Интересно - наборы на Али и Озоне стоят одинаково, а на Вайлдберриз значительно дороже. Непосредственно на сайте заказать нельзя, странно. Заказывал с Озона. Приехало за пять дней. Нашел один обзор на конструктор на ютубе и на сайте есть ссылка на аж полуторачасовое видео полной сборки робота, так что в целом был готов) Что как выглядело и как собиралось расскажу только в общих чертах, подробнее смотрите на сайте.

Упаковка:

Упаковано хорошо, обычная вроде коробка, но все подписано. Внутри целая россыпь всякой всячины. Отдельно стоит отметить печатную инструкцию. Она черно-белая и ооочень подробная. Цветной вариант есть на сайте, там лучше видно. Мы собирали по печатной. В комплекте деревянные кубики и интересное поле с нанесенной сеткой углов и позициями под кубики. Удобно, так придумывать задания намного легче. Т.е. получаем продуманное решение, где многое уже сделали за меня. Просто мечта)

Комплект поставки - все коробочки, инструкция, поле и кубики
Комплект поставки - все коробочки, инструкция, поле и кубики

Все почти как на фото на сайте, не обманули. А я сомневался, что все это будет, у китайцев такое есть только у HiWonder, но там и ценник за робота с полем совсем другой.

Куча всего упаковано по коробочкам, основные конструктивные элементы уложены пластинами и сделаны, похоже, из акрила. Элементы нужно выдавливать из подложки, напомнило конструкторы из фанеры, принцип тот же. Вся сборка на винтики и гаечки. Собирать отдал старшему сыну, для младшего инструкция слишком сложная, хотя он крутился рядом и ему было интересно. В отзывах на озоне есть, что собирал 9-ти летний ребенок сам. Ну что ж, все разные)

Отмечу основные моменты сборки.
Плюсы:

  • хороший пластик, никаких заусенцев и порезанных пальцев

  • большие листы комплектации, ориентированные на детей, помогают разобраться в конструкторе

  • на сервах уже стоят шестеренки, правда закреплены странно

  • все детальки затянуты пленкой или бумагой, отдельное удовольствие для тех, кто любит все новое распаковывать

  • сервы, к слову, все же MG90 с металлическими шестернями, надеюсь, выживут

  • сборка на винты, где нужно - гайки с нейлоном, чтобы не откручивались

  • в комплекте аж 3 разных отвертки, собирали все одной, маленькая пригодилась только провода прикрутить

  • блок питания в комплекте

  • наличие фторопластовых шайб - это значительно улучшает подвижность

В целом сборка не очень сложная, но долгая. Я почти не участвовал, только в паре моментов, например сын перепутал губы на клешне. И не поставил некоторые шайбы - пересобирали эти места. Сборка заняла около 3,5 часов. Электронная часть довольно простая, удалось собрать с первого раза по схеме и не накосячить. В двух местах не выставили шестерни как нужно, будьте внимательнее.

Что не понравилось:

  • на сайте и маркетплейсах есть фото робота с геймпадом - ожидал, что он будет в комплекте. потом уже вчитался, что его нет в комплектации, но все равно обидно. надо где-нибудь раздобыть.

  • часть акрила затянута в пленку, а часть в бумагу. бумага снимается значительно хуже и на это уходит время

  • наименование деталей в инструкции - сразу видно, наши делали)) очень быстро теряешься во всех буквах и цифрах

  • фторопластовые шайбы блоком - с одной стороны не теряются, с другой - надо резать ножницами. детям полезно, но не всегда получается хорошо.

  • детали скомпонованы на подложках по непонятному признаку, найти их сложновато

  • детали не подписаны, не представляю, как разобрать робота и потом опять собрать. наверное, так и останется собранный теперь, т.е. как конструктор он одноразовый

Видео готового робота сразу после сборки:

Кстати, раз уж техподдержка ответила первый раз, то я им и про детальки написал. Ответили, сказали, что подумают). Это интересно - принимать участие в улучшении чего-то.

Что ж, робот готов, можно бы уже его включать. Подключаем к питанию, подключаем к компьютеру. Ничего не происходит. Ах да, надо установить на компьютер программу - пульт управления. Качаем с сайта, ставим, запускаем. И… все работает! Удивительно, но факт. Можно с компьютера напрямую управлять роботом. Пришлось все же немного почитать про электронную часть, надо же детям объяснить. Стало понятно, как это сделано. Ребята запилили поддержку USB-i2c программатора непосредственно сразу в проге пульта, в результате избавились от Ардуинки. Вот такого я не видел. С одной стороны мы теряем автономность - программа запускается только с компьютера, с другой - оно же работает и даже не глючит. А нужна ли она, автономность для такого робота? Кроме того, если робот подключен к компьютеру и запущена программа пульта, то можно управлять со смартфона, если комп и телефон подключены к одной сети. Как-то сложно звучит, но мне удалось все это поднять довольно легко. И даже приложение устанавливать не надо, все через Хром работает, удивительно, но факт. Похоже приложение пульта на компьютере поднимает какой-то сервер, к которому смартфон стучится по IP и номеру порта, заданному при установке (главное его не забыть теперь).

Старший попробовал, его не очень зацепило просто управлять. А вот младший с удовольствием игрался долго, переставляя кубики. Думаю, джойстик все таки нужно купить. Каждому возрасту свое.

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

“Шагаем” как экскаватор
“Шагаем” как экскаватор

Сама программа, кстати, могла бы быть и удобнее. Видел на видео у других производителей подобные решения, там ползунки прямо поверх манипулятора нарисованы, мне кажется, это должно быть удобнее. А ещё иногда перестает закрываться клешня. просто не хватает градусов, разрешенных в программе.

Вот такой немного “топорный” интерфейс управления
Вот такой немного “топорный” интерфейс управления

Ну ладно. Руками поработали, поиграли и будет. А дальше что? Вроде бы все затевалось не ради этого. Начинаем использовать голову. Первое, с чего начнем - это блочное программирование в он-лайн оболочке http://blockly.robointellect.ru/ . Blockly это вроде бы иностранный сервис, но тут его перепилили и сделали под себя. Точнее, под робота. Стоит отметить, что по словам техподдержки сервис работает в тестовом режиме и потому ссылки на него пока нет на сайте. Если кто-то будет гонять сервис и найдет ошибки, пишите разработчикам, может, пофиксят.

Внешний вид оболочки для блочного программирования робота 
Внешний вид оболочки для блочного программирования робота 

В целом, оболочка напоминает Scratch. Похожее расположение панелей и рабочих зон, похожие блоки. Набор блоков явно ограничен, наверное, чтобы лишнего не напрограммировать. Что есть интересного: во первых, есть возможность управлять удаленным роботом, стоящим у разработчика. Приятно, что они сами тестируют и дают возможность возможность другим. Интересный момент - в продаже робот с 4 степенями свободы - у него не поворачивается клешня. Как в дальнейшем выяснилось, это сильно ограничивает возможные действия. А вот на тестовой площадке клешня поворотная. Жаль, в продаже их пока нет (или я не нашел). Это было бы интереснее.

Отдельно надо сказать, что раскидать кубики удаленным роботом довольно просто, а вот навести порядок - никак) пока кто-нибудь живой не придет и это не сделает, все так в хаосе и лежит)

Во вторых, конечно можно программировать локально подключенного робота. Найти эту возможность - отдельный квест, оказывается это в настройках в верхнем правом углу. При выборе еще и непонятно, применилось или нет. Видео с удаленного робота тоже не выключается, поначалу, непонятно, чем будет управлять программа. Напомню, что в комплекте идет классное поле для расстановки кубиков.

Фото робота на поле. Снято на работе, носил позабавить коллег
Фото робота на поле. Снято на работе, носил позабавить коллег

Есть тестовые примеры - прячутся под кнопкой “Демо”, их сразу можно погонять на роботе. Есть раздел видеоуроков, их десяток. Уроки похоже по какой-то старой версии оболочки, на момент написания статьи она опять обновилась, теперь это версия 1.0.0.310 от 01.06.2022, до этого была какая-то майская сборка.

В целом все понятно, за исключением блока инициализации - туда нужно запихнуть подключение к usb-i2c - адаптеру и задать, куда подключены сервы. Если бы не тестовые примеры, не догадался бы.

Программировать начинали со старшим сыном, младший посмотрел, сказал что про Scratch он и так знает и оставил нас в покое. Спойлер: сейчас, после пары недель он тоже начал разбираться, как бы погонять робота через блоки.

Немного о Блокли - интересный проект. Кажется, у нас недостаточно про него знают. Из Википедии:

Блокли (англ. Blockly) — библиотека для создания среды визуального программирования, которая может быть встроена в произвольное веб-приложение. Блокли включает в себя графический редактор, позволяющий составлять программы из блоков, и генераторы кода для подготовки исполнения программы в среде веб-приложения. Разрабатывается и поддерживается компанией Google с 2012 года. Свободно распространяется вместе c исходным кодом по лицензии Apache 2.0. Целевой аудиторией проекта являются программисты, разрабатывающие веб-приложения, включающие Блокли, в основном для учебных целей. Для создания программ пользователь должен перемещать графические блоки, не прибегая к набору текстов, за исключением ввода значений констант. Визуальное программирование на Блокли освобождает пользователя от контроля за правильностью синтаксиса программы, что является большим подспорьем на стадии начального обучения пользователя программированию.

Первый вечер был потрачен на освоение оболочки и блоков. Например, долго искали, как использовать инициализированный сервопривод, оказалось что они молча добавляются во вкладку “Созданные устройства” и это не очевидно. За первый вечер смогли сделать функцию выставления робота в положение, которое решили сделать стартовым - клешня открыта и в верхнем положении, башня посередине. Тут пригодилась возможность импорта - экспорта программы. Можно переименовать в “сохранить-загрузить”, будет логичнее. Формат файла свой, .risdk, внутри похоже на xml-ку, по идее можно прям в ней править, но только зачем).

Дальше случись несколько дней напряженной работы и я не мог заниматься с сыном. А он выделил пару вечеров, сам, по своей инициативе гонял робота. А после этого показал мне программку, которая вполне уверенно собирала кубики по полю и ставила в 2 башни. Комплектных кубиков ему не хватило, он нашел еще 2 подходящих в игрушках и переставлял их тоже. В итоге робот обходил позиции с 3 по 12, на всех пытался что-нибудь взять и составить в позициях 1 и 2. Не знаю, как бы это выглядело с 10 кубиками, но с 6 вполне работает, есть 2 башни по 3 кубика. Считаю это хорошим результатом)

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

Очень не хватает роботу хоть каких-нибудь датчиков - нужно чем-то определять, есть ли кубик на поле или нет. Это может сильно расширить варианты заданий. А если еще датчик цвета к этому добавить…А еще лучше камеру. Все равно робот подключен к компьютеру, в теории может программироваться на Питоне - так почему бы камеру не поставить? Вот и отработка распознавания образов была бы. Правда, наверное, это уже другой ценник (((

Попробую подвести небольшой итог, что понравилось, какие плюсы и минусы.

Плюсы:

  • продуманный набор, который хорошо собирается по инструкции на русском и даже всего хватает

  • детальки сделаны из акрила. это все же не фанера и не мдф, более живучий материал.

  • после сборки все реально работает, подключается как надо и не глючит

  • разные способы управления и программирования робота, ориентированные на разный уровень пользователя и разный возраст

  • техподдержка на русском и даже отвечает, что редкость

  • отсутствие ардуинки - плюс и минус, кому-то захочется её поставить, никаких препятствий вроде бы нет

Минусы:

  • нет пульта в комплекте

  • нигде нет информации, как подключить телефон к роботу, а на картинках нарисовано

  • неприятный звук работы сервомоторчиков - я так понял, они стандартные, но хотелось бы их получше

  • странно, но у фирмы есть свой контроллер, на одной плате там собрано все - и подключение по usb, и питание и подключение сервомоторчиков, а в комплекте все отдельными стандартными модулями

  • люфт в шестернях - есть, но вроде не критичный

  • кубиков в комплекте должно быть больше

  • очень не хватает датчиков ультразвука, цвета, еще чего-нибудь. если ставить самому, но нет поддержки в оболочке блочного программирования и остальных библиотеках. вроде обещают постепенно добавлять.

Что дальше? А дальше есть куча документации, как все это на Питоне и С++ программировать. 

И тут даже мне нужно немного времени, чтобы сначала научиться самому, а потом уже это все объяснять другим. Руководство неплохое, с примерами на разных языках (там еще Golang и неожиданно PHP). Но оно явно уже рассчитано на людей погруженных, сходу тут не подступишься, мануала по основам языка тут нет. Если все получится и будет интересный опыт, возможно, напишу еще отдельную статью об этом, как-то зацепило меня попрограммировать физический объект, который шевелится.

Этот робот - удачное решение для той задачи, которую я ставил изначально. Привлекает внимание детей и, честно говоря, взрослых. Дает интересную возможность программировать на разных языках. Если через него получится увлечь детей мейкерством и всякими электронными устройствами я останусь очень доволен) ну, или программированием, что тоже неплохо.

При этом из-за отказа от одноплатника или микроконтроллера робот как учебный не потерял своей ценности благодаря проделанной работе по тому, как подружить его с компьютером. Подозреваю, что сидели с этим долго. В тоже время, отсутствие дорогого контроллера очень помогает сэкономить.

Даже не смотря на чуть более высокую цену по сравнению с китайцами, считаю покупку оправданной и удачной, доволен сам, заинтересованы и дети, чего изначально и хотел.

Надеюсь, что получится со старшим сыном перейти на более сложное программирование - С++ или Python и соотнести это с блочными программами. С младшим не вижу никаких особых проблем программировать на блоках, эта концепция ему вполне знакома и понятна. И с роботом это интереснее, чем гонять котика по экрану (вы поняли, о чем я). 

Хотелось бы пожелать разработчикам успеха, если не забросят и допилят оболочку, может, переделают пульт, поставят другие сервы и обратят внимание на описанные здесь моменты - будет здорово.

Так как в сети мало информации об этих ребятах, считаю возможным оставить здесь ссылки на них. Если это поможет проекту развиваться, я буду рад, считаю, любое подобное начинание должно быть поддержано, иначе не выживет. 

Сайт производителя 

Озон 

Wildberries  

AliExpress

П.С. И все-таки жаль, что он не ездит :-)

Комментарии (10)


  1. beho1der
    08.06.2022 16:05
    +1

    Закинул в себе избранное как подарок на День Рождения сыну


  1. andrey_ssh
    09.06.2022 07:38
    +1

    Мне интересно что у него с программным интерфейсом. При подключении по USB он опознаётся как COM-порт или требует специального драйвера?

    Можно пытаться управлять им без использования специальных оболочек?


    1. anatoly_ryabov
      09.06.2022 13:54
      +1

      Да, это адаптер с USB на I2C интерфейс, работает с применением драйверов соответствующего контроллера. В случае данного робота драйвера устанавливаются автоматически вместе с остальным программным обеспечением и для самостоятельного программирования от разработчиков робота так же поставляется SDK в комплекте с высокоуровневым API для подключения и работы с сервоприводами, ШИМ контроллером и вообще для управления по I2C, всё по отдельным компонентам и методам для них разделено, в принципе удобно, можно программировать высокоуровневую логику работы не заморачиваясь с системным уровнем, драйверами и просим.


      1. andrey_ssh
        11.06.2022 09:32

        Посмотрел я документацию на этот "высокоуровневый API".

        RI_SDK_DestroyComponent(descriptor,
        errorText):errorCode

        Освобождение памяти, выделенной на компонент.
        descriptor: c_int - Указатель на компонент
        errorText: Array[c_char, 1000]- Текст ошибки (передается как
        параметр, если происходит ошибка метод записывает в этот
        параметр текст ошибки)
        errorCode: c_int - код ошибки
        Расшифровка кодов ошибок:
        110001 - Реестр компонентов не инициализирован
        110002 - Компонент не найден в реестре

        RI_SDK_LinkServodriveToController(descriptor,
        pwm, port, errorText):errorCode

        Связывание сервопривода с ШИМ.
        descriptor: c_int - Указатель на компонент
        pwm: c_int - Указатель на PWM
        port: c_int - Порт подключения
        errorText: Array[c_char, 1000]- Текст ошибки (передается как
        параметр, если происходит ошибка метод записывает в этот
        параметр текст ошибки)
        errorCode: c_int - код ошибки
        Расшифровка кодов ошибок:
        110001 - Реестр компонентов не инициализирован
        110002 - Компонент не найден в реестре

        Я как то не так представлял себе программирование детского робота.


  1. GromovBI
    09.06.2022 09:28
    +2

    отличный робот! Я тоже увлекаюсь этим - у меня и Lego EV3 и на Ardruino есть несколько роботов.

    Lego - просто супер, действительно все из коробки, детальки подходят друг другу - программировать легко

    Китайские на Ardruino - более разнообразные, но действительно одноразовые :)

    один из следующих шагов - дроны FPV :)


  1. AlexandreFrolov
    09.06.2022 11:03
    +1

    Он-лайн оболочка http://blockly.robointellect.ru/ напомнила мне Microsoft MakeCode для микрокомпьютера micro::bit https://makecode.microbit.org/

    Кстати, на Алиэкспресс есть и сам micro::bit и множество наборов на его основе.

    Для micro::bit можно программировать в визуальной среде MakeCode на Javascript и Python, есть и другие языки, даже Ада.

    Интересно, что плата micro::bit уже содержит в себе множество устройств и сам микрокомпьютер гораздо мощее Arduino: https://habr.com/ru/company/first/blog/669218/


  1. THEbonny
    09.06.2022 13:57
    +2

    Я как препод могу вам порекомендовать посмотреть в сторону microbit v2. На базе этого контроллера китайцы много комплектов делают. Любят использовать в качестве конструктива Лего, а Лего то хорош с его разнообразностью деталей. Контроллер можно прогать через makecode. Это платформа от макрософта, которая постоянно обновляется. Там можно кодить с помощью блоков, js, python.


    1. anatoly_ryabov
      09.06.2022 15:10

      Спасибо! Посмотрю.

      Тут у ребят с RoboIntellect тоже на Python, C, C++, PHP и Golang биндинг сделан. Хочу всё попробовать и напишу подробный материал, интересно. Особенно неожиданное расширение для PHP..... но может типа с учётом размера сообщества разработчиков.


  1. Caraul
    10.06.2022 11:58

    У меня сын ходил в Лигу Роботов - у них вроде Lego EV3. Командная работа, датчики света/цвета, приближения, и пр., алгоритмы, задачи с кубиками, проезд по линии, ориентация в лабиринте, самостоятельные проекты и т.д. - по крайней мере начальные знания в робототехнике дают.


  1. strvv
    10.06.2022 16:05
    +1

    я тоже подбирал ключи к старшему - но пока с дедом он хороший язык находит, тоже 15 лет, пусть там попробуют привить интерес.