Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

EMAR Mini - робот для экстренной помощи

EMAR Mini - это миниатюрная версия EMAR, робота-помощника с открытым исходным кодом для оказания помощи врачам во время пандемии COVID-19.

Следующее руководство проведет вас через настройку и установку мини-робота экстренной помощи EMAR.

Raspberry Pi 4 содержит программное обеспечение EMAR Mini и поддерживает оборудование Intel.

ОТКАЗ

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

Требуемое оборудование V1

Предварительные требования

Сервер HIAS

Эта система требует полностью работающего сервера HIAS. Следуйте руководству по установке сервера HIAS, чтобы настроить сервер HIAS, прежде чем продолжить работу с этим руководством.

STL для 3D-печати

Для этого урока вам нужно будет уже распечатать свой EMAR Mini. Следуйте инструкциям в руководстве STL для 3D-печати, чтобы завершить часть этого проекта по 3D-печати. ​​

Raspberry Pi OS Lite

В этом руководстве мы будем использовать Raspberry Pi OS Lite (Buster). Прежде всего, загрузите образ со страницы загрузки ОС Raspberry Pi, извлеките файл образа и запишите его на SDK-карту. В нашем проекте мы использовали SD-карту на 64 ГБ.

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

  sudo apt-get update &&sudo apt-get upgrade 
sudo raspi-config

Установка

Теперь вам нужно установить оборудование, программное обеспечение и зависимости EMAR Mini.

Безопасность устройства

Во-первых, вы повысите безопасность своего устройства.

Удаленный пользователь

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

  sudo adduser YourUsername  

Теперь предоставьте пользователю привилегии sudo:

  usermod -aG sudo YourUsername  

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

  ssh [защита электронной почты]  

Доступ по SSH

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

Советы

  ssh-keygen  

У вас должен получиться такой экран:

  Создание пары открытого / закрытого ключей rsa. 
Введите файл, в котором нужно сохранить ключ (/home/genisys/.ssh/id_rsa):
Введите кодовую фразу (пусто, если кодовая фраза отсутствует):
Введите ту же парольную фразу еще раз:
Ваш идентификатор был сохранен в /home/genisys/.ssh/id_rsa.
Ваш открытый ключ был сохранен в /home/genisys/.ssh/id_rsa.pub.
Отпечаток ключа:
SHA256:5BYJMomxATmanduT3 / d1CPKaFm + pGEIqpJJ5Z3zXCPM [электронная почта защищена]
Случайное изображение ключа:
+ --- [RSA 2048] ---- +
| .oooo .. |
| o .oo. . |
|. + .. + |
| o o o. |
| .o. + S. . |
| =.. + o =o.o. . |
| =o =oo.E .o..o. |
| .. + ..o.ooo +. . |
| .o ++. |
+ ---- [SHA256] ----- +

Теперь вы собираетесь скопировать свой ключ на сервер:

  ssh-copy-id [защита электронной почты]  

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

  ssh [защита электронной почты]  

Наконец, вы отключите аутентификацию по паролю для входа в систему. Используйте следующую команду для редактирования конфигурации ssh.

  sudo nano / etc / ssh / sshd_config  

Измените следующее:

  #PasswordAuthentication yes  

Кому:

  PasswordAuthentication no  

Затем перезапустите ssh:

  sudo systemctl restart ssh  

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

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

  ssh [защита электронной почты]  

Брандмауэр UFW

Теперь вы настроите брандмауэр:

  sudo ufw enable 
sudo ufw disable

Теперь откройте необходимые порты, эти порты будут открыты на вашем сервере, но не будут открыты для внешнего мира:

  sudo ufw allow 22 
sudo ufw allow OpenSSH

Наконец запустите и проверьте статус:

  sudo ufw enable 
sudo ufw status

Вы должны увидеть следующее:

  Статус:активен 
К действию от
- ------ ----
OpenSSH ALLOW Anywhere
22 РАЗРЕШИТЬ в любом месте
OpenSSH (v6) РАЗРЕШИТЬ в любом месте (v6)
22 (v6) РАЗРЕШИТЬ в любом месте (v6)

Fail2Ban

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

  sudo apt install fail2ban 
sudo mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo rm / etc / fail2ban / action.d / ufw.conf
sudo touch /etc/fail2ban/action.d/ufw.conf
echo "[Определение]" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
echo "enabled =true" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
echo "actionstart =" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
echo "actionstop =" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
echo "actioncheck =" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
echo "actionban =ufw insert 1 deny from to any" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
echo "actionunban =ufw delete deny from to any" | sudo tee -a /etc/fail2ban/action.d/ufw.conf
sudo nano /etc/fail2ban/action.d/ufw.conf
sudo sed -i - "s # banaction =iptables -multiport # banaction =ufw # g "/etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
sudo fail2ban-client restart
sudo fail2ban-client status

Вы должны увидеть следующее:

  Завершение работы успешно 
Состояние готовности сервера
| - Количество тюрем:1
`- Список тюрем:sshd

Зависимости Python

  sudo apt install python3-pip 
sudo pip3 install geolocation
sudo pip3 install paho-mqtt
sudo pip3 install psutil
sudo pip3 install numpy
sudo pip3 install запросы
sudo pip3 install zmq

Создать устройство EMAR в HIAS

Перейдите на свой сервер HIAS и выберите Робототехника-> EMAR-> Создать . . На устройстве В настройках выберите желаемое местоположение и зону iotJumpWay, имя для вашего устройства EMAR, IP и MAC-адрес вашего Raspberry Pi. Обнаружение объектов и глубина в реальном времени настройки можно оставить с настройками по умолчанию. Если вы измените порты и имя каталога, вам необходимо изменить их при обновлении прокси-сервера HIAS . настройки ниже.

Прокси-сервер HIAS

Вам необходимо обновить настройки прокси-сервера HIAS, чтобы proxy_pass может правильно перенаправлять трафик на ваш Raspberry Pi.

Для этого вам необходимо отредактировать конфигурацию NGINX. Используйте следующую команду на сервере HIAS, чтобы отредактировать файл с помощью Nano:

  sudo nano / etc / nginx / sites-available / default  

Вверху файла вы найдете настройки, управляющие прокси для EMAR / EMAR Mini. Вам необходимо изменить ###. ###. #. ## на IP-адрес вашего Raspberry Pi.

Если вы изменили настройки Stream Port, Stream Directory или Socket Port в пользовательском интерфейсе HIAS EMAR, вам также необходимо обновить их здесь.

  расположение ~ * ^ / Robotics / EMAR / Live /(.*)$ {
auth_basic "Restricted";
auth_basic_user_file / etc / nginx / tass / htpasswd;
proxy_pass http://###.###.#.##:8282 / $ 1;
}

После сохранения и выхода из конфигурации вам необходимо перезагрузить сервер NGINX:

  sudo systemctl reload nginx  

Обновить настройки устройства

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

  sudo nano confs.json {
"iotJumpWay":{
"host":"",
"port":8883 ,
«ip»:«localhost»,
«lid»:0,
«zid»:0,
«did»:0,
«dn» :"",
"un":"",
"pw":""
},
"EMAR":{
"ip":""
},
"Realsense":{
"server":{
"port":8282
},
"socket":{
«порт»:8383
}
},
«MobileNetSSD»:{
«bin»:«Модель / MobileNetSSD_deploy.bin»,
«классы» :[
«фон»,
«самолет»,
«велосипед»,
«птица»,
«лодка»,
«бутылка»,
«автобус»,
«автомобиль»,
«кот»,
«стул»,
«корова»,
«обеденный стол»,
"собака",
"лошадь",
"мотоцикл",
"человек",
"растение в горшке",
"овца",
"диван",
"поезд",
"tvmonitor"
],
"inScaleFactor":0,007843,
"meanVal":127,53,
" size ":300,
" threshold ":0.6,
" xml ":" Model / MobileNetSSD_deploy.xml "
}
}

Intel® RealSense ™ D415

Теперь мы установим программное обеспечение для Intel® RealSense ™ D415.

УБЕДИТЕСЬ, ЧТО ВАША РЕАЛЬНОСТЬ НЕ ПОДКЛЮЧЕНА

После безуспешного выполнения ряда руководств Intel по установке Realsense на Raspberry Pi 3 и Raspberry Pi 4 и на несколько ОС, я, наконец, указал на установку бэкэнда LibUVC. Чтобы это работало для нашего проекта, вам необходимо изменить загруженный файл libuvc_installation.sh файл и выполните дополнительный шаг.

Согласно руководству, сначала загрузите файл с помощью:

  wget https://github.com/IntelRealSense/librealsense/raw/master/scripts/libuvc_installation.sh  

Затем измените:

  cmake ../ -DFORCE_LIBUVC =true -DCMAKE_BUILD_TYPE =release  

Кому:

  cmake ../ -DFORCE_LIBUVC =true -DCMAKE_BUILD_TYPE =выпуск DBUILD_PYTHON_BINDINGS =bool:true  

Это установит привязки Python, необходимые для запуска PyRealsense . . Теперь продолжайте:

  chmod + x ./libuvc_installation.sh 
./libuvc_installation.sh

И, наконец, откройте свой bashrc файл

  sudo nano ~ / .bashrc  

И добавьте следующее в конец файла перед сохранением и закрытием.

  export PYTHONPATH =$ PYTHONPATH:/ usr / local / lib  

Теперь вы можете подключить Realsense к Raspberry Pi и протестировать, используя следующее, чтобы проверить, распознается ли ваше устройство и успешно ли открывается:

  rs-enumerate-devices  

И, наконец, следующее, чтобы проверить, что PyRealsense работает:

  python3 
импортировать pyrealsense
exit ()

Если вы не получаете сообщений об ошибках import pyrealsense , все правильно настроено для вашего Realsense.

Распространение Intel® OpenVINO ™ Toolkit

Опять же, официальные руководства Intel так или иначе не увенчались успехом, я наконец наткнулся на очень хорошее руководство по PyImageSearch. В следующем руководстве используются части, относящиеся к нашему проекту, и вы можете быстро настроить OpenVINO на Raspberry 4.

  sudo apt-get install build-essential cmake unzip pkg-config 
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libcanberra-gtk *
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev
cd
wget https:// download.01.org/opencv/2020/openvinotoolkit/2020.1/l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz
tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz_pinobash_pinobash_lash_c_p20. / код>

Теперь добавьте следующую строку в конец файла bashrc перед сохранением и закрытием.

  исходный код ~ / openvino / bin / setupvars.sh  

Intel® Neural Compute Stick 2

Мы снова воспользуемся инструкциями, приведенными в руководстве PyImageSearch, для установки NCS2 на Raspberry Pi.

  sudo usermod -a -G users "$ (whoami)" 
cd
sh openvino / install_dependencies / install_NCS_udev_rules.sh

Соедините шею

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

Источник:EMAR Mini - робот для оказания экстренной помощи


Производственный процесс

  1. Как создать платформу для роботов Arduino + Raspberry Pi
  2. Робот, использующий Raspberry Pi и Bridge Shield
  3. Робот-бокс для компакт-дисков Raspberry Pi
  4. ЭНДИ:многоцелевой робот-гуманоид
  5. Робот с подвижной сигнализацией
  6. Создайте робота Minecraft Creeper
  7. Четвероногий автономный робот JQR
  8. Архимед:ИИ-робот-сова
  9. Nox - домашний бродячий робот (ROS)
  10. Робот, управляемый Wi-Fi и использующий Raspberry Pi