EMAR Mini: Een Compacte, Open-Source Noodhulp Robot
EMAR Mini is een verkleinde versie van de EMAR open-source noodhulp-robot, ontworpen om gezondheidsprofessionals te ondersteunen tijdens de COVID-19-pandemie. Gebouwd op een Raspberry Pi 4, integreert het Intel RealSense-camera's, neurale rekenhardware en servomotoren om realtime objectdetectie, dieptesensing en remote besturing te leveren.
Deze gids leidt je door elke stap van het opzetten van de EMAR Mini, van hardware-montage tot beveiligde softwareconfiguratie.
Veiligheidswaarschuwing
Wees altijd voorzichtig bij het hanteren van elektronica. We aanvaarden geen verantwoordelijkheid voor hardware- of persoonlijke letsel voortvloeiend uit deze tutorial. Gebruik de instructies op eigen risico.
Vereisten
HIAS Server
Voordat je begint, zorg dat je een volledig functionele HIAS-server hebt geïnstalleerd. Volg de HIAS-installatiegids om de server in te stellen.
STLs voor 3D-Printen
Print de EMAR Mini-behuizing en chassis met de STL-bestanden uit de STLs Voor 3D-Printen gids.
Raspberry Pi OS Lite
Download de Raspberry Pi OS Lite (Buster) image van de Raspberry Pi OS downloadpagina, pak het bestand uit, en flash het op een 64GB SD-kaart. Na het opstarten, voer uit:
sudo apt-get update && sudo apt-get upgrade sudo raspi-config
Gebruik het configuratietool om het bestandssysteem uit te breiden, toetsenbordinstellingen in te stellen, en verbinding te maken met je netwerk.
Installatie Overzicht
Het installatieproces omvat:
- Hardware-montage
- Apparaatbeveiliging versterken
- Python-afhankelijkheden installeren
- HIAS-serverconfiguratie
- Intel RealSense en OpenVINO setup
- Servo- en nek-montage
Apparaatbeveiliging
Het beveiligen van de Raspberry Pi is essentieel. Volg de onderstaande stappen om een toegeweigde remote-gebruiker te maken en SSH-sleutelauthenticatie in te schakelen.
Remote Gebruiker
Maak een nieuwe gebruiker met sudo-rechten:
sudo adduser YourUsername usermod -aG sudo YourUsername
Log in op het nieuwe account via SSH:
ssh [email protected]
SSH Toegang
Genereer een SSH-sleutelpaar op je lokale machine (niet op de Pi):
ssh-keygen
Kopieer de publieke sleutel naar de Pi:
ssh-copy-id [email protected]
Test wachtwoordloze login:
ssh [email protected]
Schakel wachtwoordauthenticatie uit door /etc/ssh/sshd_config te bewerken:
sudo nano /etc/ssh/sshd_config # Verander de volgende regel: #PasswordAuthentication yes PasswordAuthentication no
Herstart SSH:
sudo systemctl restart ssh
UFW Firewall
Activeer en configureer de Uncomplicated Firewall:
sudo ufw enable sudo ufw allow 22 sudo ufw allow OpenSSH sudo ufw status
Verwachte output:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 22 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 22 (v6) ALLOW Anywhere (v6)
Fail2Ban
Installeer en configureer Fail2Ban om met UFW te werken:
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 zou moeten bevatten:
Shutdown successful Server readyStatus |- Number of jail: 1 `- Jail list: sshd
Python Afhankelijkheden
sudo apt install python3-pip sudo pip3 install geolocation paho-mqtt psutil numpy requests zmq
EMAR Apparaat Maken in HIAS
In je HIAS-server, navigeer naar Robotica > EMAR > Maken. Configureer het apparaat door de juiste iotJumpWay-locatie te selecteren, een naam toe te wijzen, en het IP- en MAC-adres van de Pi in te voeren. Laat de Real-Time Objectdetectie & Diepte-instellingen op standaard tenzij aangepaste poorten vereist zijn.
HIAS Server Proxy
Pas de NGINX-proxy aan om verkeer naar de Pi te routeren. Bewerk /etc/nginx/sites-available/default:
sudo nano /etc/nginx/sites-available/default
Zoek het EMAR-blok en vervang de placeholder-IP door je Pi-adres:
location ~* ^/Robotics/EMAR/Live/(.*)$ { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/tass/htpasswd; proxy_pass https://###.###.#.##:8282/$1; }
Herlaad NGINX:
sudo systemctl reload nginx
Apparaatinstellingen Bijwerken
Gebruik de inloggegevens uit de HIAS UI om confs.json op de Pi te bewerken, zodat poorten en hostnames overeenkomen met je configuratie:
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
Installeer de RealSense SDK op de Pi. Zorg dat de camera losgekoppeld is tijdens installatie.
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
Voeg het bibliotheekpad toe aan ~/.bashrc:
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib' >> ~/.bashrc source ~/.bashrc
Verifieer het apparaat:
rs-enumerate-devices python3 -c "import pyrealsense; print('PyRealsense loaded')"
Intel® Distribution of OpenVINO™ Toolkit
Volg deze stappen om OpenVINO op de Pi te installeren:
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
Installeer de NCS2-afhankelijkheden:
sudo usermod -a -G users "$(whoami)" cd sh openvino/install_dependencies/install_NCS_udev_rules.sh
De Nek Verbinden
Bevestig de laatste servo door de bovenkant van Body-Middle.stl en bevestig het. Schroef de servo-arm in de nekbasis en verbind de servo. Gebruik een kleine hoeveelheid lijm indien nodig voor stabiliteit.
Bron: EMAR Mini – Noodhulp Robot
Productieproces
- Een Arduino-aangedreven Robot Bouwen met Raspberry Pi: Een Stap-voor-Stap Gids
- Bouw een Slimme Robot met de Bridge Shield – Raspberry Pi & Arduino Integratie
- DIY Wall-E Geïnspireerde Raspberry Pi CD-Doos Robot
- ANDY – De Multifunctionele Humanoïde Robot
- Rollende Alarmrobot: Een Slim, Mobiel Wakker-systeem Aangedreven door Raspberry Pi en Google Calendar
- Bouw een gemotoriseerde Minecraft Creeper-robot met Arduino
- JQR Vierpotige Autonome Robot: DIY Looprobot voor Autonome Navigatie en Redding
- Archimedes: De Emotie-Detecterende AI Robot Uil
- Nox: Een DIY SLAM-ingeschakelde Huis-Wandelende Robot Aangedreven door ROS
- Bouw een Wi-Fi-gecontroleerde Raspberry Pi Robot met Python – Stap-voor-stap Gids
- Bouw een Spraak-gestuurde Computer Vision Robot op Windows 10 IoT Core