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

EMAR Mini – Notfall-Assistenzroboter

EMAR Mini ist eine Miniaturversion von EMAR, einem Open-Source-Notfallroboterassistent, der Ärzte während der COVID-19-Pandemie unterstützt.

Die folgende Anleitung führt Sie durch die Einrichtung und Installation des EMAR Mini-Notfall-Assistenzroboters.

Der Raspberry Pi 4 beherbergt die EMAR Mini-Software und versorgt die Intel-Hardware mit Strom.

HAFTUNGSAUSSCHLUSS

Bei der Arbeit mit Elektronik sollte man immer sehr vorsichtig sein! Wir übernehmen keine Verantwortung für Schäden, die an Hardware oder Ihnen durch die vollständige oder teilweise Nutzung dieses Tutorials entstehen. Verwenden Sie dieses Tutorial auf eigene Gefahr und ergreifen Sie Maßnahmen zu Ihrer eigenen Sicherheit.

V1 Erforderliche Hardware

Voraussetzungen

HIAS-Sever

Dieses System erfordert einen voll funktionsfähigen HIAS-Server. Folgen Sie der HIAS-Server-Installationsanleitung, um Ihren HIAS-Server einzurichten, bevor Sie mit dieser Anleitung fortfahren.

STLs für den 3D-Druck

Für dieses Tutorial müssen Sie Ihr EMAR Mini bereits gedruckt haben. Folgen Sie der Anleitung zu STLs für den 3D-Druck, um den 3D-Druckteil dieses Projekts abzuschließen.

Raspberry Pi OS Lite

In diesem Tutorial verwenden wir Raspberry Pi OS Lite (Buster). Laden Sie zunächst das Image von der Downloadseite von Raspberry Pi OS herunter, extrahieren Sie die Image-Datei und schreiben Sie sie auf eine SDK-Karte. In unserem Projekt haben wir eine 64GB SD-Karte verwendet.

Sobald Sie dies getan haben, legen Sie es in Ihren Raspberry Pi 4 ein, verwenden Sie nach dem Anmelden den folgenden Befehl, um Ihr Gerät zu aktualisieren und öffnen Sie dann die Raspberry Pi-Konfigurationsanwendung. Sie müssen Ihr Dateisystem erweitern, Ihre Tastatureinstellungen einrichten und Ihren RPI4 mit Ihrem Netzwerk verbinden.

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

Installation

Jetzt müssen Sie die Hardware, Software und Abhängigkeiten von EMAR Mini installieren.

Gerätesicherheit

Zuerst werden Sie die Sicherheit Ihres Geräts erhöhen.

Remote-Benutzer

Sie erstellen einen neuen Benutzer für den Remote-Zugriff auf Ihren Server. Verwenden Sie die folgenden Befehle, um einen neuen Benutzer für Ihr Gerät einzurichten. Folgen Sie den Anweisungen und stellen Sie sicher, dass Sie ein sicheres Passwort verwenden.

sudo adduser IhrBenutzername 

Gewähren Sie dem Benutzer nun Sudo-Privilegien:

usermod -aG sudo DeinBenutzername 

Öffnen Sie nun ein neues Terminal und melden Sie sich mit den neu eingerichteten Zugangsdaten an Ihrem Server an.

ssh [email protected] 

SSH-Zugriff

Lassen Sie uns nun die Serversicherheit verbessern. Verwenden Sie den folgenden Befehl, um Ihre öffentlichen und privaten Schlüssel einzurichten. Stellen Sie sicher, dass Sie diesen Schritt auf Ihrem Entwicklungscomputer ausführen, nicht auf deinem Server.

Tipps

ssh-keygen 

Sie sollten einen Bildschirm wie diesen erhalten:

Erzeugen eines öffentlichen/privaten rsa-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/home/genisys/.ssh/id_rsa):
Passphrase eingeben (leer für keine Passphrase):
Gleiche Passphrase erneut eingeben:
Ihre Identifikation wurde in /home/genisys/.ssh/id_rsa gespeichert.
Ihr öffentlicher Schlüssel wurde gespeichert in /home/genisys/.ssh/id_rsa.pub.
Der Schlüssel-Fingerabdruck ist:
SHA256:5BYJMomxATmanduT3/d1CPKaFm+pGEIqpJJ5Z3zXCPM [email protected]
Das zufällige Bild des Schlüssels ist:
+---[RSA 2048]----+
|.oooo.. |
|o .oo . . |
|.+.. + |
|o o o . |
| .o .+ S . . |
| =..+o =o.o . . |
|=o =oo.E .o..o .|
|.. + ..o.ooo+. . |
| .o++. |
+----[SHA256]-----+

Jetzt kopieren Sie Ihren Schlüssel auf den Server:

ssh-copy-id [email protected] 

Sobald Sie Ihr Passwort für das neue Benutzerkonto eingeben, wird Ihr Schlüssel auf dem Server gespeichert. Versuchen Sie nun, sich in einem neuen Terminal erneut am Server anzumelden, Sie sollten sich direkt anmelden, ohne ein Passwort eingeben zu müssen.

ssh [email protected] 

Schließlich deaktivieren Sie die Kennwortauthentifizierung für die Anmeldung. Verwenden Sie den folgenden Befehl, um die ssh-Konfiguration zu bearbeiten.

sudo nano /etc/ssh/sshd_config 

Ändern Sie Folgendes:

#PasswordAuthentifizierung ja 

An:

Passwort-Authentifizierungsnr. 

Dann ssh neu starten:

sudo systemctl restart ssh 

Wenn Sie ssh verwenden, um die obigen Schritte auszuführen, lassen Sie Ihr aktuelles Terminal verbunden. Öffnen Sie ein neues Terminal und versuchen Sie, sich bei Ihrem Server anzumelden. Wenn Sie sich anmelden können, waren die obigen Schritte erfolgreich.

Für den Rest dieses Tutorials wird davon ausgegangen, dass Sie bei Ihrem Gerät angemeldet sind. Stellen Sie von Ihrem Entwicklungscomputer aus über ssh eine Verbindung zu Ihrem Gerät her oder öffnen Sie Ihr lokales Terminal, wenn Sie direkt auf dem Computer arbeiten.

ssh [email protected] 

UFW-Firewall

Jetzt richten Sie Ihre Firewall ein:

sudo ufw aktivieren
sudo ufw deaktivieren

Öffnen Sie nun die erforderlichen Ports, diese Ports sind auf Ihrem Server geöffnet, jedoch nicht für die Außenwelt:

sudo ufw erlauben 22
sudo ufw erlauben OpenSSH

Endlich starten und den Status prüfen:

sudo ufw enable
sudo ufw status

Sie sollten Folgendes sehen:

Status:aktiv
Zu Aktion von
-- ------ ----
OpenSSH ALLOW Anywhere
22 überall zulassen
OpenSSH (v6) überall zulassen (v6)
22 (v6) überall zulassen (v6)

Fail2Ban

Fail2Ban fügt eine zusätzliche Sicherheitsebene hinzu, indem es Serverprotokolle scannt und nach ungewöhnlichen Aktivitäten sucht. Fail2Ban ist standardmäßig so konfiguriert, dass es mit IPTables funktioniert, daher werden wir einige Neukonfigurationen vornehmen, damit es mit unserer Firewall UFW funktioniert.

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 "[Definition]" | 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 1 deny from to any einfügen" | 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

Sie sollten Folgendes sehen:

Shutdown erfolgreich
Server readyStatus
|- Anzahl der Gefängnisse:1
`- Gefängnisliste:sshd

Python-Abhängigkeiten

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-Anfragen
sudo pip3 install zmq

EMAR-Gerät in HIAS erstellen

Gehen Sie zu Ihrem HIAS-Server und navigieren Sie zu Robotics->EMAR->Create . Auf dem Gerät Einstellungen, wählen Sie Ihren gewünschten iotJumpWay-Standort und -Zone, einen Namen für Ihr EMAR-Gerät, die IP- und MAC-Adresse Ihres Raspberry Pi. Die Objekterkennung und -tiefe in Echtzeit Einstellungen können mit den Standardeinstellungen belassen werden. Wenn Sie die Ports und den Verzeichnisnamen ändern, müssen Sie diese beim Aktualisieren des HIAS-Server-Proxys . ändern Einstellungen unten.

HIAS-Server-Proxy

Sie müssen die HIAS-Server-Proxy-Einstellungen aktualisieren, damit der proxy_pass kann den Datenverkehr korrekt auf Ihren Raspberry Pi umleiten.

Dazu müssen Sie die NGINX-Konfiguration bearbeiten. Verwenden Sie den folgenden Befehl auf Ihrem HIAS-Server, um die Datei mit Nano zu bearbeiten:

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

Ganz oben in der Datei finden Sie die Einstellungen, die den Proxy für EMAR/EMAR Mini steuern. Sie müssen ###.###.#.## . ändern an die IP-Adresse Ihres Raspberry Pi.

Wenn Sie die Einstellungen für Stream Port, Stream Directory oder Socket Port in der HIAS EMAR-Benutzeroberfläche geändert haben, müssen Sie diese auch hier aktualisieren.

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

Nachdem Sie die Konfiguration gespeichert und verlassen haben, müssen Sie den NGINX-Server neu laden:

sudo systemctl reload nginx 

Geräteeinstellungen aktualisieren

Jetzt müssen Sie die Geräteeinstellungen mit den in der HIAS-Benutzeroberfläche bereitgestellten Anmeldeinformationen aktualisieren. Wenn Sie die Stream-Port- und Socket-Port-Einstellungen geändert haben, sollten Sie diese auch in dieser Konfigurationsdatei aktualisieren.

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",
"Klassen" :[
"Hintergrund",
"Flugzeug",
"Fahrrad",
"Vogel",
"Boot",
"Flasche",
"Bus",
"Auto",
"Katze",
"Stuhl",
"Kuh",
"Esstisch",
"Hund",
"Pferd",
"Motorrad",
"Person",
"Topfpflanze",
"Schaf",
"sofa",
"train",
"tvmonitor"
],
"inScaleFactor":0.007843,
"meanVal":127.53,
" size":300,
"threshold":0.6,
"xml":"Model/MobileNetSSD_deploy.xml"
}
}

Intel® RealSense™ D415

Jetzt installieren wir die Software für den Intel® RealSense™ D415.

STELLEN SIE SICHER, DASS IHR REALSSE NICHT ANGESCHLOSSEN IST

Nachdem ich eine Reihe von Intel-Tutorials zur Installation von Realsense auf einem Raspberry Pi 3 und Raspberry Pi 4 und mehreren Betriebssystemen erfolglos befolgt hatte, wurde ich schließlich auf die LibUVC-Backend-Installation verwiesen. Damit dies für unser Projekt funktioniert, müssen Sie die heruntergeladene libuvc_installation.sh . ändern Datei und führen Sie einen zusätzlichen Schritt aus.

Laden Sie die Datei gemäß der Anleitung zuerst herunter mit:

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

Dann ändern Sie:

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

An:

cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release DBUILD_PYTHON_BINDINGS=bool:true 

Dadurch werden die Python-Bindungen installiert, die wir zum Ausführen von PyRealsense benötigen . Fahren Sie nun fort mit:

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

Und öffne endlich deine bashrc Datei

sudo nano ~/.bashrc 

Und fügen Sie vor dem Speichern und Schließen Folgendes am Ende der Datei hinzu.

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

Sie können Ihren Realsense jetzt an den Raspberry Pi anschließen und testen, indem Sie Folgendes verwenden, um zu überprüfen, ob Ihr Gerät erkannt und erfolgreich geöffnet wird:

rs-enumerate-devices 

Und zum Schluss das Folgende, um zu testen, ob PyRealsense funktioniert:

python3
pyrealsense importieren
exit()

Wenn Sie keine Fehler beim Import von Pyralsense erhalten , alles ist richtig für deinen Realsense eingerichtet.

Intel® Distribution des OpenVINO™ Toolkit

Wieder sind die offiziellen Intel-Tutorials auf die eine oder andere Weise gescheitert, ich bin schließlich auf ein sehr gutes Tutorial zu PyImageSearch gestoßen. Die folgende Anleitung verwendet die für unser Projekt relevanten Teile und ermöglicht Ihnen eine schnelle Einrichtung von OpenVINO auf Ihrem 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
mv l_openvino_ /code>

Fügen Sie nun die folgende Zeile am Ende Ihrer bashrc-Datei hinzu, bevor Sie sie speichern und schließen.

Quelle ~/openvino/bin/setupvars.sh 

Intel® Neural Compute Stick 2

Auch hier verwenden wir die Anweisungen in der PyImageSearch-Anleitung, um NCS2 auf dem Raspberry Pi zu installieren.

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

Verbinde den Hals

Schieben Sie zuerst Ihr letztes Servo durch die Oberseite von Body-Middle.stl und schrauben Sie es fest. Schrauben Sie als nächstes den Servoarm an die Unterseite des Halses und befestigen Sie ihn am Servo. Möglicherweise benötigen Sie etwas Kleber, um dieses Teil sicher zu halten.

Quelle:EMAR Mini – Notfall-Assistenzroboter


Herstellungsprozess

  1. So erstellen Sie eine Arduino+Raspberry Pi-Roboterplattform
  2. Roboter mit Raspberry Pi und Bridge Shield
  3. Raspberry Pi CD-Box-Roboter
  4. ANDY:Ein "humanoider" Mehrzweckroboter
  5. Rollender Alarmroboter
  6. Baue einen Minecraft-Creeper-Roboter
  7. JQR vierbeiniger autonomer Roboter
  8. Archimedes:Die KI-Roboter-Eule
  9. Nox – Ein Hauswanderroboter (ROS)
  10. WLAN-gesteuerter Roboter mit Raspberry Pi