Рубрика «Разработка робототехники» - 27

В день программистки, представляем вашему вниманию интервью с разработчиком, который смог отдебажить марсоход за 18 часов на расстоянии 100 миллионов миль. Тем более, что часть кода космического аппарата была написана на языка Ada.

image

DDJ: Вы программируете компьютеры, которые работают на поверхности другой планеты. Вот это необычно!

GR: Это необычно и для меня, могу вас заверить. Это такой микромир, где все сосредоточены на том, чтобы все задачи следующего дня были выполнены в соответствии с планом.

Вы идете домой в 3 утра, все еще в напряжении от просмотра возвращающейся информации и бессонной ночи. Ваши жена и дети уже спят, вам же точно не уснуть, а в 8 утра уже надо быть на работе. Поэтому вы включаете CNN и смотрите на свое улыбающееся лицо в контрольном центре и смотрите на те же изображения, которые вы просматривали 12 часов назад. Очень странное ощущение.

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

Сегодня делаем настольное приложение с графическим интерфейсом для управления роботом на Ардуине через последовательный порт. На языке JavaScript на платформе Electron с виджетами ReactJS+MaterialUI.

image

Теперь пульт управления для своего станочка с ЧПУ сделать не сложнее, чем написать сайтик.

Читать полностью »

В прошлой части мы разобрали основные принципы работы с протоколом MAVLink и научились обмениваться сообщениями типа HEARTBEAT. В этой части мы рассмотрим некоторые другие типы сообщений, которые отвечают за полётные данные и попробуем эти данные визуализировать при помощи Qt.

image
Читать полностью »

LEGO MINDSTORMS Education EV3 в профориентации - 1
изображение — roboconstructor.ru

Известная притча гласит, что, когда к мудрецу обратилась молодая мать с ребенком на руках и спросила, с какого возраста ей следует начинать воспитание отпрыска, старец ответил, что она опоздала на столько лет, сколько уже было ребенку. С выбором будущего призвания ситуация достаточно похожая. Сложно требовать осознания своих склонностей и интересов от младенца, но вот уже в средней школе начинаются всевозможные специализации, и к этому времени неплохо бы уже знать, в какую сторону двигаться подросшему чаду. Но одно мы знаем уже почти наверняка – в течение ближайших десятилетий от 30 до 80% профессий будут полностью автоматизированы.

Робототехника, кибернетика, понимание алгоритмов – тот набор навыков, с которым, скорее всего, человеку не будут грозить настолько туманные перспективы. Конечно, скорее всего параллельно с заменой рабочей силы на роботов будет развиваться и концепция безусловного базового дохода, вот только вряд ли вы хотите для своего ребенка подобного будущего.

Способов быстро показать молодой и заинтересованной аудитории основы программирования и робототехники сейчас существует много. Все они стоят недорого, достаточно просты в освоении, дают уже через несколько часов понимание основ алгоритмов и концепций кибернетических устройств. Но в учебных классах легко столкнуться и с недостатками этих платформ – ограниченной износоустойчивостью (да и чего греха таить – «идиотоустойчивостью» тоже) макетных плат, не очень дружелюбными для детей 11-12 лет интерфейсами ПО, относительно небольшим элементом «игры».
Читать полностью »

В прошлый раз мы рассмотрели, как сделать свой мини-терминал с режимом «вопрос-ответ» на роботе с Ардуиной с библиотекой babbler_h. Сегодня посмотрим, как эту же библиотеку использовать для управления роботом из настольного приложения на JavaScript+Node.js.

Чтобы меняться данными с роботом, в клиентской части на JavaScript+Node.js используем специально написанную по такому случаю библиотеку Babbler.js. Для работы с последовательным портом Babbler.js использует стандартную библиотеку node-serialport, но строит поверх нее некоторые дополнительные удобства.

Читать полностью »

Постановка задачи

Это вторая, итоговая статья. Напоминаю цель: есть двигатель постоянного тока. Задача — разработать, собрать и протестировать устройство, позволяющиее реализовать контур управления с заданием тока применительно к этому двигателю. Желаемое время переходного процесса на застопоренном двигателе (без противо-ЭДС) — не более 10мс.

Текст разбит на две статьи:

Напоминаю, как выглядит макет управляющего железа:

Делаем контур управления электродвигателем с заданием тока - 1
Читать полностью »

Ю. Шмидхубер: «Прекрасно быть частью будущего искусственного интеллекта» - 1

В последние дни сентября в Амстердаме проходила конференция по графическим технологиям GTC EUROPE 2016. Профессор Юрген Шмибдхубер представлял свою презентацию, как научный директор IDSIA, швейцарской лаборатории, где он с коллегами занимается исследованиями в области искусственного интеллекта.

Главный тезис выступления — настоящий искусственный интеллект изменит все уже в скором времени. По большей части статья, которую вы сейчас читаете, подготовлена по материалам презентации профессора Шмидхубера.
Читать полностью »

Переслать роботу на Ардуине несколько байт через вайфай, блютус, последовательный порт или любой другой канал связи в виде команды, а потом принять несколько байт в качестве ответа труда не составляет: достаточно скачать скетч с примером обмена данными «здравствуй мир» и вставить в него несколько строк своего кода, который будет выполнять желаемые действия.

Однако с развитием проекта область вспомогательного кода, который отвечает за связь с внешним миром, раздувается: появляется логика, отделяющая один пакет данных от другого, разрастается лес проверок, что за команда пришла, какие у нее параметры, как её правильно выполнить, что делать, если пакет данных не корректен, если данные пришли не полностью, если они не умещаются в отведенных для них буфер памяти и так далее. Код, обслуживающий вспомогательную логику, переплетается с главным кодом, выполняющим интересную и полезную работу. Заменить один канал связи на другой (например, добавить к последовательному порту вайфай) без переработки накопившейся кодовой базы становится весьма проблематично.

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

Исходная задача: упростить процесс создания прошивки для роботов, которые будут работать в режиме «вопрос-ответ». Главный скетч должен содержать полезный код (что, собственно, должен делать робот) и минимальное количество вспомогательных конструкций. Все вспомогательные транспортно-протокольные блоки окуклить в библиотеку и вынести за пределы внимания инженера.

В качестве побочного эффекта получилась своеобразная командная строка, работающая внутри Ардуины, если подключиться к ней через монитор последовательного порта и отправлять команды вручную:

image
Читать полностью »

Среди идеально-зеленых швейцарских лугов, по соседству с коровником, стоит современное минималистичное здание с панорамными окнами. Здесь расположены главный офис и основные производственные мощности швейцарской компании IST-AG.

Большую часть продукции, которую выпускает IST-AG, составляют тонкопленочные датчики температуры, они же термосопротивления (RTD). Из статьи "Термосопротивления: теория" можно узнать что это такое и как оно работает.

Термосопротивления: Производственный процесс - 1

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

Недавно мне повезло побывать на производстве датчиков температуры, а точнее на швейцарском предприятии IST-AG, где делают платиновые и никелевые термосопротивления (RTD).

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

Термосопротивления: Теория - 1

В первой статье разбираемся с теоретической базой. Не слишком увлекательно, но весьма полезно.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js