Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

EMAR Mini: Kompakter Open-Source-Notfallhilfe-Roboter

EMAR Mini ist eine verkleinerte Version des EMAR Open-Source-Notfallroboters, entwickelt um medizinisches Personal während der COVID-19-Pandemie zu unterstützen. Basierend auf Raspberry Pi 4 integriert er Intel RealSense-Kameras, Neural-Compute-Hardware und Servomotoren für Echtzeit-Objekterkennung, Tiefensensing und Fernsteuerung.

Diese Anleitung führt durch jeden Schritt der EMAR-Mini-Einrichtung, von Hardwaremontage bis sicherer Softwarekonfiguration.

Sicherheitshinweis

Immer Vorsicht beim Umgang mit Elektronik. Wir übernehmen keine Verantwortung für Hardwareschäden oder Personenschäden aus diesem Tutorial. Nutzung auf eigenes Risiko.

Voraussetzungen

HIAS Server

Vor Beginn sicherstellen, dass ein voll funktionsfähiger HIAS Server installiert ist. HIAS-Installationsanleitung befolgen.

STLs für 3D-Druck

EMAR Mini Gehäuse und Chassis mit STL-Dateien aus STLs For 3D Printing Anleitung drucken.

Raspberry Pi OS Lite

Raspberry Pi OS Lite (Buster) Image von Raspberry Pi OS Downloadseite herunterladen, entpacken, auf 64-GB-SD-Karte flashen. Nach Boot:

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

Konfigurationstool nutzen für Dateisystemerweiterung, Tastatureinstellungen, Netzwerkverbindung.

Installationsübersicht

Installationsprozess umfasst:

Gerätesicherheit

Raspberry Pi absichern ist essenziell. Schritte unten für dedizierten Remote-User und SSH-Key-Auth.

Remote-User

Neuen User mit sudo-Rechten anlegen:

sudo adduser YourUsername usermod -aG sudo YourUsername 

Via SSH im neuen Account anmelden:

ssh [email protected] 

SSH-Zugang

SSH-Key-Paar auf lokaler Maschine (nicht auf Pi) generieren:

ssh-keygen 

Public Key auf Pi kopieren:

ssh-copy-id [email protected] 

Passwortlosen Login testen:

ssh [email protected] 

Passwortauthentifizierung deaktivieren via /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config # Zeile ändern: #PasswordAuthentication yes PasswordAuthentication no 

SSH neu starten:

sudo systemctl restart ssh 

UFW Firewall

Uncomplicated Firewall aktivieren & konfigurieren:

sudo ufw enable sudo ufw allow 22 sudo ufw allow OpenSSH sudo ufw status 

Erwartete Ausgabe:

Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 22 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 22 (v6) ALLOW Anywhere (v6) 

Fail2Ban

Fail2Ban installieren & für UFW konfigurieren:

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 sudo tee -a /etc/fail2ban/action.d/ufw.conf <<EOF [Definition] enabled = true actionstart = actionstop = actioncheck = actionban = ufw insert 1 deny from <ip> to any actionunban = ufw delete deny from <ip> to any EOF sudo sed -i "s#banaction = iptables-multiport#banaction = ufw#g" /etc/fail2ban/jail.local sudo fail2ban-client restart sudo fail2ban-client status 

Output sollte enthalten:

Shutdown successful Server readyStatus |- Number of jail: 1 `- Jail list: sshd 

Python-Abhängigkeiten

sudo apt install python3-pip sudo pip3 install geolocation paho-mqtt psutil numpy requests zmq 

EMAR-Gerät in HIAS anlegen

Im HIAS Server zu Robotics > EMAR > Create navigieren. Gerät konfigurieren: passenden iotJumpWay-Standort wählen, Namen vergeben, Pi-IP und MAC-Adresse eintragen. Echtzeit-Objekterkennung & Tiefen-Einstellungen auf Default lassen, falls keine Custom-Ports nötig.

HIAS Server Proxy

NGINX-Proxy anpassen, um Traffic an Pi zu routen. /etc/nginx/sites-available/default bearbeiten:

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

EMAR-Block finden, Platzhalter-IP durch Pi-Adresse ersetzen:

location ~* ^/Robotics/EMAR/Live/(.*)$ { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/tass/htpasswd; proxy_pass https://###.###.#.##:8282/$1; } 

NGINX neu laden:

sudo systemctl reload nginx 

Geräteeinstellungen aktualisieren

HIAS-UI-Credentials nutzen, um confs.json auf Pi zu editieren, Ports & Hostnames an Config anpassen:

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": {"port": 8383} }, "MobileNetSSD": { "bin": "Model/MobileNetSSD_deploy.bin", "classes": [ "background", "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor" ], "inScaleFactor": 0.007843, "meanVal": 127.53, "size": 300, "threshold": 0.6, "xml": "Model/MobileNetSSD_deploy.xml" } } 

Intel® RealSense™ D415

RealSense SDK auf Pi installieren. Kamera während Installation getrennt lassen.

wget https://github.com/IntelRealSense/librealsense/raw/master/scripts/libuvc_installation.sh chmod +x libuvc_installation.sh sed -i "s/cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release/cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release DBUILD_PYTHON_BINDINGS=bool:true/" libuvc_installation.sh ./libuvc_installation.sh 

Library-Pfad zu ~/.bashrc hinzufügen:

echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib' >> ~/.bashrc source ~/.bashrc 

Gerät verifizieren:

rs-enumerate-devices python3 -c "import pyrealsense; print('PyRealsense loaded')" 

Intel® Distribution of OpenVINO™ Toolkit

OpenVINO auf Pi installieren:

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 mv l_openvino_toolkit_runtime_raspbian_p_2020.1.023 openvino echo 'source ~/openvino/bin/setupvars.sh' >> ~/.bashrc source ~/.bashrc 

Intel® Neural Compute Stick 2

NCS2-Abhängigkeiten installieren:

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

Hals verbinden

Finalen Servo durch Oberseite von Body-Middle.stl führen und sichern. Servoarm in Halsbasis schrauben und Servo verbinden. Ggf. wenig Kleber für Stabilität.

Quelle: EMAR Mini – Emergency Assistance Robot

Herstellungsprozess

  1. Arduino-Roboter mit Raspberry Pi bauen: Schritt-für-Schritt-Anleitung
  2. Intelligenten Roboter mit Bridge Shield bauen – Raspberry Pi & Arduino Integration
  3. DIY Wall-E-inspirierter Raspberry Pi CD-Box-Roboter
  4. ANDY – Der vielseitige humanoide Roboter
  5. Rolling Alarm Robot: Intelligentes, mobiles Wecksystem mit Raspberry Pi und Google Kalender
  6. Einen motorisierten Minecraft-Creeper-Roboter mit Arduino bauen
  7. JQR Vierbein-Roboter: DIY-Laufroboter für autonome Navigation & Rettung
  8. Archimedes: Der emotionserkennende KI-Roboter-Eule
  9. Nox: DIY SLAM-fähiger Hauswander-Roboter mit ROS
  10. WLAN-gesteuerter Raspberry Pi Roboter mit Python bauen – Schritt-für-Schritt