Windows. Железо. Браузеры. Безопасность. Операционные системы

Робот для видеонаблюдения на Raspberry Pi. Робот для видеонаблюдения на Raspberry Pi Из чего состоит робот

2018-04-17T11:12:29+05:30

The Raspberry Pi works just like your regular desktop PC, except that it is a single board microcomputer the size of a credit card. But, is that all you can do with your Raspberry Pi? Not really. The device is so popular among students, professionals, hobbyists, and artists alike because you can do many things with it, including building a robot!

The best part is that you can build one for as cheap as $50 or as expensive as $1000 and beyond. Where do you get started, then? Pick out the right Raspberry Pi robot kit based on your preferences and you’ll be good to go!

Here’s a list of the best kits we found:

Top Raspberry Pi Robot Kits

1) SunFounder Raspberry Pi Smart Robot Car Kit

Hands down, the SunFounder Raspberry Pi robot kit is the best in the market today and we say this because it has outstanding functionality and just about everything you need to get started with your robot building project. It is a comprehensive STEM learning kit for enthusiasts and professionals and users can’t stop praising it.

Let’s take a look at all the features this kit comes with:

  • You will have a lot of fun during assembly! The vehicle is quite well-designed.
  • You can use it seamlessly for Python coding.
  • It has an S-block based graphical visual programming language line.
  • It comes with 3 different sensor modules that function for ultrasonic obstacle avoidance, light follower, and line follower.
  • You can engage in simple GUI programming with this robot kit.
  • The kit comes with the following:
    • Robot HATS
    • 1 set of acrylic plate
    • TB6612 motor driver
    • PCA9685 PWM driver
    • Light follower module
    • Ultrasonic obstacle avoidance module
    • 5-CH line follower module
    • 2 battery holders
    • 1 SunFounder Servo
    • DC gear motor
  • Remember that you can use this only with Raspberry Pi and not the other boards.
  • It comes with a user manual that has complete instructions as well as code for the vehicle. It also has a published video online to help you further with the assembly and usage.

2) Dexter Industries Raspberry Pi GoPiGo3 Robot Kit

The Dexter Industries has made this GoPiGo3 Robot kit which helps to build a fully functional robot powered by Raspberry Pi 3. It includes a robot body, motors, controls and everything you need to get your Raspberry Pi up and running. Currently, it is one of the most popular Raspberry Pi Robot Kits on Amazon.

Features of the GoPiGo3 Raspberry Pi Robot Kit are:

  • It is a super robot car and upgraded version of GoPiGo
  • It comes with the fastest Raspberry Pi 3 board
  • Also works great with the A, B, and B+
  • It requires no soldering and powered by eight AA batteries
  • Dexter Industries provide the software examples and APIs
  • Other accessories include a preloaded Micro SD card, an Ethernet cable, a USB WiFi adapter, Raspberry Pi power supply, an ultrasonic sensor, and all the other essential components of the GoPiGo basic starter kit

3) Rapiro Robot for Raspberry Pi by Switch Science

The Switch Science has designed the Rapiro robot which is a DIY Raspberry Pi-powered kit. It is an affordable, sturdy, easy to assemble, humanoid robot kit.

Features of the Rapiro Robot by Switch Science are:

  • It is a DIY model Raspberry Pi robot kit
  • It is specially designed for the hobbyists, students, and engineers in the robotics field
  • The kit comes in unassembled condition, so user needs to assemble the parts
  • You can also install the Model B+ of Raspberry Pi with some small modifications in the Rapiro
  • After assembling, it weighs only 1Kg (Lightweight design)
  • It comes with 12 servos and a servo control board
  • Recommended for the age above 15+

4) PiStorms LEGO Robot – Raspberry Pi V2 Starter Kit

You can make the stunning robot powered by Raspberry Pi with this fantastic Raspberry Pi Robot kit from mindsensors.com. It easily interacts with your bot and can be programmed using the Python. The package includes a PiStorms controller, a LEGO compatible frame, a 6-AA battery holder, a WiFi adapter and an SD card loaded with a ready to use Operating System.

Features of the PiStorms Raspberry Pi Robot Kit are:

  • You can make LEGO robot by using the brains of Raspberry Pi!
  • It works great with the Raspberry Pi A+, B+, and Raspberry Pi 2
  • The LEGO Mindstorms NXT or the EV3 motors & sensors can be connected to code the Raspberry Pi
  • It has a built-in color touch display screen of 2.4-inch
  • The sturdy design includes an and a WiFi adapter

5) SunFounder Smart Video Car Raspberry Pi Robot Kit

If you want to get started with a robot, then this smart video car Raspberry Pi robot kit from SunFounder is a great option to choose. You can also apply this kit in a virtual machine on Linux. If you have an Android OS installed on Raspberry Pi, then you can operate this setup using a supported app by SunFounder.

Check the features of the SunFounder Raspberry Pi Robot Kit below:

  • It is a complete Raspberry Pi learning kit for the beginners in the field of robotics and electronics
  • The kit uses a step-down DC to DC converter module that reduces the input voltage
  • An L298N motor driver module also included in the bundle
  • It is a great kit for studying the Raspberry Pi robotics by both the code and application
  • It has a working voltage of 7 to 12V and is powered by two rechargeable lithium batteries of 18650A
  • The kit also includes a Webcam with a USB WiFi adapter
  • It comes with a compatible Android App for Raspberry Pi

6) BrickPi+ Raspberry Pi Base Kit


Design a stunning robot with the BrickPi starter bundle from Dexter Industries. It comes with all the needed accessories. You need to separately buy the Raspberry Pi 3, power supply, micro SD card with preloaded ‘Raspbian for Robots’ software, etc. though.

Features of BrickPi+ Raspberry Pi Robot Kit from Dexter Industries are:

  • The battery pack is enough to power your Raspberry Pi board
  • If you attach the BrickPi case with LEGO, then it will turn into an excellent featured robot
  • Other languages like Scratch, Python, and Java can be used to write code
  • You can connect up to four NXT or EV3 digital/analog motors & sensors
  • Control it remotely by connecting the LEGO Mindstorms robot to the web
  • An acrylic case is sturdy enough to protect your setup from accidental damage
  • A fantastic Raspberry Pi robot kit for beginners

The BrickPi+ Raspberry Pi robot kit is a Wi-Fi supported, cross country, off-road smart car robot kit. It helps you to make a 4-wheel smart robot car on your own without any professional help.

7) Raspberry Pi 3 Smart Video Car Kit by SunFounder

The SunFounder has developed an open source robot to help you understand the coding platform using Raspberry Pi 3. It includes a wide-angle webcam to give clear and perfect pictures of the objects that come in between the path of the robot car.

Features of the SunFounder Smart Robot Kit for Raspberry Pi 3 are:

  • You will get a real-time video transmission through the powerful webcam
  • An included remote helps to navigate the robot car easily
  • Attractive look, sturdy design, and multiple all-together make it a value for money robotics learning kit
  • It supports a compatible app which is supported by all types of Operating Systems
  • Though the Python code is provided to program it, you can use any development platform to make it up and running
  • It will need two high-capacity batteries to work on the operational voltage of 7-12 Volts
  • Essential components like Raspberry Pi 3, HATs, wide-angle camera, PWM driver, Motor driver, Servo, battery holder, screwdriver, wrenches, wheels, screws, nuts, and wires make you worry free from making different purchases to make a complete product

The user-friendly graphical interface, simple coding section with a drag-and-drop feature, multiple OS, and coding languages support, etc. are the main advantages to have this RPi 3 robot car kit. It can work with any computer, tablet, mobile phones, etc.

8) Kuman Professional WIFI Smart Robot Car kit for Raspberry Pi


If you want a complete Raspberry Pi robot kit with a WiFi functionality, then Kuman professional robotic kit is an excellent option to choose. It will help you to control your Pi powered robot car through a mobile application too.

The Raspberry Pi Robot Car Kit from Kuman comes with features as below:

  • It comes with a preloaded SD card of 8GB capacity including the robot system codes
  • An included webcam provides real-time image and video transmissions on your device
  • Inbuilt hotspot feature offers an easy control through an app
  • Open source Python code makes the programming task easy and effective
  • The camera has 2-axis cradle which makes the shooting at any angle, and that is done without moving the robot car
  • The setup works on the most successive and powerful solution including the brain of the RPi motherboard & drive expansion with power management
  • A detailed manual with easy-to-understand diagrams helps to understand the working of the project

The smart robot car kit from Kuman is compatible with computer systems, iOS, and Android devices to let you get started with your Raspberry Pi 3. It takes advantage of both the application and coding platforms to interact and control the robotic car kit.

We hope we helped you find the best Raspberry Pi robot kit to get started with your magical projects. If you are still confused, you could take our recommendation and purchase the SunFounder Raspberry Pi Smart Robot Car Kit. It is supremely reliable and very easy to work with.

What are your thoughts? We would love to hear from you!

Если уже имеются некоторые навыки работы с Raspberry PI 3 то можно попробовать сделать простейшего робота который будет передавать изображение с камеры на компьютер и выполнять посылаемые ему команды, например робот имеет возможность перемещаться в пространстве на своих колёсах и будет некоторое количество команд для управления двигателями. Raspberry PI 3 имеет встроенный WIFI модуль скорости передачи информации которого достаточно для передачи качественного изображения, однако этого не всегда получается добиться но всё же передача хоть какого то видео для начала - это уже хорошо (см. Raspberry pi камера). Если проблема с передачей видео решена то можно приступить к решению проблемы управления двигателями. У Raspberry Pi имеются выводы общего назначения которыми можно управлять через скрипты на языке "питон" (см. http://electe.blogspot.ru/2016/05/raspberry-pi-3-gpio-wifi.html) но такой способ управления не очень удобен. Для решения этой проблемы можно реализовать управление выводами через веб интерфейс, для этого на Raspberry pi нужно установить какой либо веб сервер например lighttpd или apache и интерпретатор языка php, ещё понадобиться установить wiringpi, после чего можно будет написать простой код с html тэгами и вставками php и javascript скриптов необходимых для реализации удобного управления двигателями. Веб сервер lighttpd занимает меньше места в памяти и работает быстрее чем apache но apache более популярен и распространён, поэтому если возникнет какая либо проблема (например с его установкой) то её можно будет проще решить спросив ответ у знающих людей. Установить apache и php можно по инструкции на странице https://www.raspberrypi.org/documentation/remote-access/web-server/apache.md . Перед выполнением инструкций надо выполнить команду

Sudo apt-get update

(о том как отправлять команды на Raspberry pi 3 смотрите на странице http://electe.blogspot.ru/2016/05/raspberry-pi-3-gpio-wifi.html) Дальше будут всего две обязательные команды:

Sudo apt-get install apache2 -y

Sudo apt-get install php5 libapache2-mod-php5 -y

После успешного выполнения которых Raspberry pi "превращается" в сервер.
Далее необходимо установить wiringpi, если он не установлен. В полной версии Raspbian, как правило, wiringpi уже присутствует. Для того чтобы проверит наличие wiringpi нужно ввести команду

Если после ввода этой команды появиться таблица с состоянием выводов то это значит что wiringpi уже установлен, Если такой таблицы не появилось то wiringpi можно установить по инструкциям с сайта https://thedrhax.pw/?p=1460 . Далее можно прямо в терминале писать команды ля управления выводами, например командой

Gpio mode 21 out

Мы переводим вывод gpio 5 raspberry pi в режим выхода,
командой

Gpio write 21 1

Мы выводим лог. 1 на вывод gpio 5 raspberry pi.
Почему пишется 21 а выводится на 5? Это можно увидеть если ввести команду

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

Рисунок 1 - Подключение драйверов и двигателей к Raspberry pi 3


Вместо L6203 можно использовать какие либо другие драйверы но достаточно мощные двигатели подключать лучше к таким. Для упрощения сборки в схеме отсутствует резистор с сопротивлением 0.1 Ом между выводом 10 и землёй но при желании его можно поставить, по нему драйвер будет определять ток и в случае необходимости отключиться чтобы не перегореть (очень хорошая вещь, советую поставить, у меня просто не было такого резистора). Так же желательно поставить предохранитель по питанию.
Далее надо удалить файл index.html командой:

Rm /var/www/html/index.html

И создать новый

Sudo nano /var/www/html/index.php

В который вставить этот код . После чего сохранить нажатием CTRL+O и ENTER и выйти нажатиtм CTRL+X.
В строке

System("gpio write 25 0");

Происходит установка на выводе 26 напряжения логического нуля. Вместо этого можно написать например

Exec("gpio write 25 0");

В общем через system и exec можно выполнять в php те команды которые выполняются в консоли кроме тех что идут с sudo в начале, т.е. например если написать exec("sudo halt"); то Raspberry pi не выключиться.

В строке

Xhr.open("GET", "http://192.168.1.252/?act=1", true); xhr.send();

И ей подобных, вместо 192.168.1.252 надо поставить ip адрес вашего Raspberry PI

Тест драйв и некоторую дополнительную информацию можно посмотреть в видео

Хочу познакомить вас с одной вполне интересной разработкой - самодельным экспериментальным роботом, которого я назвал "Zer0". Эта статья является первой из цикла статей по самостоятельному изготовлению робота на основе Raspberry Pi, который будет управляться могущественной связкой Linux + Python.

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

Подготовка

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

Малинка (Raspberry Pi 2B) у меня уже была в наличии, поэтому прикупив парочку Ni-MH аккумуляторов по 6В/6А*ч (позже купил еще один на 12В/2,3А*ч) окончательно решил что вполне можно собирать небольшого робота для обучения, экспериментов, развлечений и не только...

Рис. 1. Набор деталей, которые дали начало самодельному роботу.

Поскольку двигатели оказались на рабочее напряжение +24В, а для питания малинки нужно +5В, то пришлось заказать несколько понижающих и повышающих DC-DC преобразователей на микросхемах LM2596 и XL6009.

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

Ходовую часть решил делать трехколесную: два ведущих колеса спереди от игрушечной машинки и одно колесико - сзади, которое будет следовать направлению ведущих. Можно сделать ходовую часть и на 4 колеса, 2 из которых ведущие или же все 4, это уже дело вкуса и запчастей в наличии.

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

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

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

Обо всем этом и многом другом я подробно расскажу в следующих статьях. А теперь давайте просто рассмотрим что в итоге получилось и как это можно использовать.

Из чего состоит робот

Основные составные части и возможности экспериментального робота Zer0:

  • Мозг робота - Raspberry Pi + Raspbian Linux;
  • Питание - аккумулятор на 12В/2,3А*ч + контроллер на ATtiny2313 + DC-DC преобразователи;
  • Перемещение - два электродвигателя на +24В с редукторами + модуль L298;
  • Воспроизведение звука - два широкополосных динамика 2x3 Вт/8 Ом + усилитель на TDA1517P;
  • Захват видео/фото/звук - Webcam Logitech C270 HD, 1280 x 720 пикселей + микрофон;
  • Управление углом обзора - два сервопривода S05NF;
  • Освещение - 6 ярких светодиодов + отражатель с фокусировкой;
  • Отображение информации - OLED дисплей 128x64 пикселя;
  • Связь - USB Wi-Fi + USB 3G
  • Другие возможности - пиродатчик, газовый анализатор воздуха, датчик температуры и влажности воздуха, 3-х осевой компас, ультразвуковой датчик препятствий, датчик освещения, мониторинг напряжения батареи питания, часы реального времени, 2-3 свободных USB порта для подключения разных устройств.

Все приведенные выше составляющие позволяют получить достаточно богатый и разнообразный набор функционала как для такой небольшой конструкции. Размеры и вес робота можно уменьшить еще больше если бы использовать батареи Li-Ion или Li-Pol, а также купив более миниатюрные микроэлектродвигатели с редукторами.

Я же отдал предпочтение батареи Ni-MH потому что она безопасна, недорога и проста в обслуживании, хорошо подходит для беспрерывного питания устройств с постоянной подзарядкой.

Для управления питанием был изготовлен несложный самодельный контроллер на основе ATtiny2313 + электронные ключи на полевых транзисторах. Благодаря ему робот умеет находиться в ждущем режиме (включение по кнопке), выполнять безопасное выключение компьютера с последующим полным отключением питания в случае подачи команды от Raspberry Pi или с кнопки.

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

Знакомьтесь: Zer0!

Zer0 - это самодельный работ, собранный на основе Raspberry Pi, который управляется операционной системой Linux (Raspbian). Название "Zer0" пришло в голову как-то сразу, это как начальная модель 0-й версии.

Ниже привожу несколько фотографий готового робота (все рисунки кликабельны) и описания к ним:

Рис. 2. Самодельный робот Zer0 на Raspberry Pi и Linux - фронтальный вид.

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

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

Рис. 3. Самодельный робот Zer0 на Raspberry Pi и Linux - вид сзади.

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

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

Рис. 4. Самодельный робот Zer0 - вид с боковой стороны где размещен компьютер Raspberry Pi.

С левой стороны у робота находится компьютер, по сути для него отведена вся левая сторона. Здесь мы имеем удобный доступ ко всем разъемам и пинам GPIO, которые размещены на малинке. С передней части у нас есть доступ к Micro-SD карточке компьютера.

Также сзади за компьютером есть небольшая свободная площадка для удобного подключения и размещения различных Flash-накопителей, USB Wi-Fi, 3G-адаптеров и для подключения сетевого Ethernet-шнура в случае необходимости.

Рис. 5. Робот Zer0 - вид со стороны где размещены датчики, контроллер движков и система питания.

С правой боковой стороны у робота размещены: платка с набором датчиков, модуль управления электродвигателями на основе L298 + платка для конвертации сигналов на К561ЛА7, DC-DC преобразователи напряжения на +5В и +24В, плата контроллера питания на ATtiny2313 + ключи на полевых транзисторах и радиатор к ним, панель управления питанием.

Рис. 6. Робот Zer0 - вид снизу на движки, акустические колонки и колесико с подшипником.

Снизу у робота прикреплены движки с колесами, а также колесо с подшипником, которое будет следовать направлению движения робота. Еще у нас здесь располагается очень важный отсек - две акустические колонки с широкополосными динамиками по 3Вт, которые собраны в одном корпусе из фанеры с внутренней перегородкой.

Идеи по применению робота

Приведу несколько идей по использованию робота:

  • Периодические задачи на автомате, оповещение о наличии новой почты, комментариях на сайтах, курсах валют, погоде...о чем угодно (синтезатор речи + информация на дисплее). У многих есть каждодневные задачи, которые приходится выполнять вручную, это все можно запрограммировать и поручить роботу, настроив при этом время, условия и периодичность оповещений;
  • Эксперименты с искусственным интеллектом, нейросетями, логикой . Мощности 2-й и 3-й версии малинки уже хватит для некоторых вещей в этой сфере;
  • Платформа для обучения и работы с OpenCV (Open Computer Vision). Анализ информации с фото и видео для принятия каких-то решений, например распознавание лиц у людей, детектор наличия и перемещения каких-то предметов;
  • Сигнализация об утечке воды в помещении, появления вредных веществ (газов) в воздухе . Суть идеи проста: робот установлен (или же перемещается) в помещении и периодически измеряет уровень влажности воздуха, анализирует наличие паров вредных веществ и газа в воздухе. В случае отклонений от нормы можно подать звуковой сигнал, отправить куда-то письмо или СМС...;
  • Напоминалка о том что нужно полить вазоны и/или проветрить помещение (анализ температуры, влажности и качества воздуха). Часто бывает что люди находясь в помещении привыкают и перестают замечать что по сути там уже нечем дышать, начинает болеть голова, появляется вялость и куда-то пропадают все силы - причиной может быть плохая проветриваемость помещения, низкая влажность воздуха из-за включенного на обогрев кондиционера или обогревателя, жаждущих полива растений и т.п. Можно запрограммировать робота на выполнение периодического контроля качества и влажности воздуха в помещении, с последующем оповещением, например: "откройте окно и освободите помещение на Х минут для его проветривания";
  • Удаленный просмотр и мониторинг помещений (интернет через Wi-FI/3G + управление движением + веб-камера). Полезная штука если на некоторое время нужно куда-то уехать, а дома некому остаться, можно будет удаленно увидеть состояние комнат и всего дома, убедиться что все на своем месте;
  • Система интерактивной охраны для квартиры или дома (фото + видео + перемещение + звуковой оповещение, сигнализация). Динамические и статические маршруты перемещения с автокорректировкой + логирование событий и значений с датчиков, запись видео и фото, отправка информации на почту или личный удаленный сервер в интернете;
  • "Скайп на колесах" (камера + звук + микрофон + перемещение). Возможность общаться и при этом перемещать камеру, меняя позицию и угол обзора удаленно. Возможно вы видели как Эдвард Сноуден удаленно (без физического присутствия) выступал на конференциях TED 2014 (Ванкувер) и CES 2016 в Лас-Вегасе используя робота, которого в сети назвали как "Сноубот"? - в моем случае получится почти то же самое, за исключением наличия большого дисплея на котором смогут видеть того кто "за роботом". Тем не менее, к роботу можно подключить дисплей на 4-7 дюймов используя HDMI выход;
  • Подбор и воспроизведение музыки (голосовые команды + удаленное управление). Можно воспроизводить музыку под настроение, отдавая простые голосовые команды или же просто по хлопкам. Также запрограммировав робота можно включать музыку или какое-то звуковое приветствие при срабатывании пиродатчика если кто-то вошел в помещение;
  • Управление электроприборами в квартире или доме (через радиомодуль). Здесь нужна доработка: передатчик на 433МГц встраиваем в робот, приемники с "умными" электронными реле подключаем к каждому устройству для управления их питанием и/или режимами;
  • Развлечение для детишек (перемещение + камера + звук + свет + удаленное управление). В робота можно заложить какую-то программу и научить его реагировать на какие-то голосовые команды, а также самому управлять и разговаривать через него удаленно... детишки будут в восторге;
  • Источник питания с напряжением 12В и током 4А (стоит предохранитель). В тыловой части робота установлена панель управления питанием с двумя клеммами на которых постоянно присутствует напряжение +12В даже если робот выключен, также через них сейчас выполняется заряд аккумулятора. Вполне можно использовать как источник питания для каких-то самоделок и экспериментов не покупая при этом дополнительного аккумулятора или БП;
  • и т.д. и т.п. .... придумайте сами:) .

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

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

В заключение

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

Другие мои статьи по самодельному роботу Zer0:

  1. Изготовление платформы для самодельного робота (шасси, двигатели, акустика, УНЧ на TDA1517)

Желаю вам творческих успехов и побольше позитива во всех ваших начинаниях!

Raspberry Pi это одноплатный компьютер, сделанный для обучения базовым компьютерным навыкам для школьников. В последствии получивший намного более широкое применение и популярность, чем ожидали его авторы. Наша плата выглядит так: Данная версия платы оснащена процессором ARM11 фирмы Broadcom BCM2835 с тактовой частотой 700 МГц и модулем оперативной памяти на 256МБ/512МБ. Raspberry Pi работает под управлением операционной системы Linux. Мы, будем использовать плату версии «B» с установленной ОС Raspbian.

1. Сборка робота на базе гусеничной платформы

Raspberry Pi и камера будут установлены на гусеничную платформу. По сути это будет мобильная система видеонаблюдения.
Сама Raspberry Pi с драйвером моторов будет закреплена с помощью конструктора Lego, так как на данной плате отсутствуют необходимые крепежные элементы.
Электропитание платы и моторов раздельное. На моторы стоит 8 аккумуляторов по 1.2 вольта, на плату стоять 2 аккумулятора по 3.7 вольта. Все аккумуляторы включены последовательно. Моторы получают питание через драйвер моторов выполненный на L293D с помощью навесного монтажа.
Электропитание самой платы осуществляется через линейный стабилизатор, так как требуется фиксированное напряжение в 5 вольт. Что умеет данная платформа делать: 1. Сам перемещаться по площади (квартире и тд) используя датчик Ultrasonic HC-SR04 для обьезда препядствий. 2. Снимать через определенное время фото (видео кадр) снимок и отправлять его на яндекс или гугл диск. 3. Сам подъезжать на базу для подзарядки используя ИК-локатор. 4. Возможность ручного управления, используя браузер и интернет. Стабилизатор для питания самой платы raspberry. На макетной плате был собран драйвер управления моторами на L293 и установлен гироскоп mpu-6050, подключенный по шине I2C.
Общаться с интернетом будет за счет вот такого WiFi адаптера Tp-Link.
Завелся сразу из коробки, без установки дополнительного программного обеспечения. Так же установлена камера для raspberry pi с CSI интерфейсом.
Для поворота камеру использоваться будет вот такой механизм на двух сервоприводах.
Управлять им будет Raspberry напрямую с GPIO портов, как и моторами движения через микросхему L293D. Зарядка робота будет осуществляется с док станции к которой надо будет подъехать. Для этого на передней части шасси установлены контакты для подзарядки.
Была куплена в магазине вот такая макетная плата на которой все будет смонтировано. От деталей конструктора Lego для крепления Raspberry пришлось отказаться, так как не все умещается.
Прикрепив ее к шасси получаем. Далее на штырьки так крепим саму Raspberry Pi.
Теперь на шасси.
Примерно вот так будет ездить платформа:

2. Общая схема подключения


3. Подключение моторов

Подробно разберём схему подключения моторов с помощь L293D.
Порты GPIO Raspberry Pi к драйверу моторов подключаем следующим образом: Левый мотор: L293 IN1 on GPIO 9 L293 IN2 on GPIO 10 L293 EN1 on GPIO 11 Правый мотор: L293 IN3 on GPIO 23 L293 IN4 on GPIO 24 L293 EN2 on GPIO 25

4. Настройка Raspberry Pi

Для того чтобы управлять данным шасси удалено, нужен белый IP адрес (постоянный), который можно сделать с помощью роутера находящегося в помещении. Для удаленного управления и настройки нам понадобится программа PuTTY. Скачать ее можно на просторах интернета. На Raspberry нужно включить SSH сервер, если вы этого не сделано то в консоли нужно набрать команду sudo raspi-config В пункте SSH нажать на Enable. Далее перезагрузить плату, теперь мы можем удаленно подключится. Устанавливаем на нашем компьютере PuTTY и настраиваем ее. Для этого в вкладке «Сеанс» вводим IP адрес Raspberry Pi. IP адрес можно посмотреть в настройках роутера. Номер порта оставляем 22, тип соединения SSH. Нажимаем «Сохранить» введя при этом название сеанса. Теперь настройки сохранены. Далее выбираем пункт Соединение -> Данные и вводим наши имя и пароль для входа на Raspberry. Если не меняли, то имя и пароль те же: pi и raspberry. Вводим мы это для того, чтобы не вводить каждый раз имя и пароль при входе. Теперь выбираем пункт SSH ->X11 и ставим галочку напротив «Включить переадресацию X11», а в строчке «Отображение дисплея Х» необходимо написать localhost:0 Вернемся в вкладку «Сеанс» и сохраняем все настройки под тем именем, что уже записали. Всё, настройка завершена! Нажимаем «Соединить» и входим в командную строку Raspberry Pi. Теперь настраиваем картинку с камеры в браузер. Для этого в командной строке вводим: sudo apt-get update После завершения работы команды, пишем следующую: sudo apt-get upgrade Затем: sudo raspi-config и включаем поддержку камеры. Перезагружаемся, снова запускаем PuTTY и соединяемся с raspberry. Далее устанавливаем приложения нужные для правильной работы mjpg-streamer: sudo apt-get install libjpeg8-dev Затем: sudo apt-get install cmake Скачиваем исходники mjpg-streamer: wget github.com/jacksonliam/mjpg-streamer/archive/master.zip Потом распаковываем полученный архив: unzip ./master –d ./Valli (Vflli произвольное имя) Заходим в папку cd /Valli/mjpg-streamer-master/mjpg-streamer-experimental далее вводим make clean all Командой nano меняем файл start.sh sudo nano Valli/mjpg-streamer-master/mjpg-streamer-experimental/start.sh удаляем там две незакомментрованные строки и пишем вместо них cd etc/ms/mjpg-streamer-master/mjpg-streamer-experimental ./mjpg_streamer -o "./output_http.so -w ./www" -i "./input_raspicam.so -x 640 -y 480 -fps 10 -ex auto -awb auto -vs -ISO 100" Выходим из редактора командой Ctrl+X, затем Enter (соглашаемся с изменением) и Y (да). В папке mjpg-streamer-experimental запускаем наш скрипт: ./start.sh Должно запуститься и в консоли будет много букв на камере загорится светодиод. Команда Ctrl+C остановит скрипт и светодиод погаснет. Открываем браузер, заходим по такой ссылке: ip-address-raspberry:8080/?action=stream (где ip-address-raspberry – это IP нашей raspberry) и попадаем на вебсервер, нажимаем на Stream и видим:
Чтоб робот двигался необходимо установить веб-интерфейс, который будет управлять роботом. Устанавливаем. Для начала скачиваем WebIOPi wget webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz распаковываем tar xvzf WebIOPi-0.6.0.tar.gz Заходим в папку cd WebIOPi-0.6.0 и запускаем файл установки командой sudo ./setup.sh После установки, командой: update-rc.d webiopi defaults делаем автозапуск интерфейса с raspberry. Как всегда открываем браузер, заходим по такой ссылке: ip-address-raspberry:8000 и получаем
В итоге получаем: Всем удачи!

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

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

  1. Батарейки в корпус никак не влазили, поэтому приходилось их приматывать к корпусу изолентой:)
  2. Настройка параметров была вынесена на четыре потенциометра, которые оказались очень чувствительными к температуре. В помещении настраиваешь одни значения, выходишь на улицу - а они уже другие, уплыли.
  3. У Arduino Nano, которую я использовал в пульте, есть всего 8 аналоговых входов. Четыре были заняты настроечными потенциометрами. Один потенциометр служил газом. Два входа были подключены к джойстику. Оставался свободен только один выход, а параметров для настройки гораздо больше.
  4. Единственный джойстик был вовсе не пилотным. Управление газом с помощью потенциометра тоже весьма угнетало.
  5. А еще пульт не издавал никаких звуков, что иногда бывает крайне полезно.

Чтобы устранить все эти недостатки, я решил кардинально переделать пульт. И железную часть, и софт. Вот что мне захотелось сделать:

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

Новый корпус

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

Элементы управления и меню

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

Чтобы перемешаться по меню, и менять параметры обычно используют кнопки. Влево, вправо, вверх, вниз. Но мне захотелось использовать вместо кнопок энкодер. Эту идею я подсмотрел у контроллера 3D-принтера.


Разумеется, за счет добавления меню, код пульта распух в несколько раз. Для начала я добавил всего три пункта меню: "Telemetry", "Parameters" и "Store params". В первом окне отображается до восьми разных показателей. Пока я использую только три: заряд батареи, компас и высота.

Во втором окне доступны шесть параметров: коэффициенты PID регулятора для осей X/Y,Z и корректировочные углы акселерометра.

Третий пункт позволяет сохранять параметры в EEPROM.

Джойстики

Над выбором пилотных джойстиков я долго не размышлял. Так получилось, что первый джойстик Turnigy 9XR я добыл у коллеги по квадрокоптерному делу - Александра Васильева, хозяина небезызвестного сайта alex-exe.ru . Второй такой же заказал напрямую на Hobbyking.


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

Питание

В старом пульте я использовал простой регулятор напряжения LM7805, который кормил связкой из 8 батареек AA. Жутко неэффективный вариант, при котором 7 вольт уходили на нагрев регулятора. 8 батареек - потому что под рукой был только такой отсек, а LM7805 - потому что в то время этот вариант мне представлялся самым простым, и главное быстрым.

Теперь же я решил поступить мудрее, и поставил достаточной эффективный регулятор на LM2596S. А вместо 8-ми AA батареек, установил отсек на два LiIon аккумулятора 18650.


Результат

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


А вот с закрытой крышкой.


Не хватает колпачка на одном потенциометре и колпачков на джойстиках.

Наконец, видеоролик о том, как происходит настройка параметров через меню.


Итог

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

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