Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

EMAR Mini – Robot d'assistance d'urgence

EMAR Mini est une version miniature d'EMAR, un assistant de robot d'urgence open source pour aider les médecins pendant la pandémie de COVID-19.

Le guide suivant vous guidera tout au long de la configuration et de l'installation du mini-robot d'assistance d'urgence EMAR.

Le Raspberry Pi 4 héberge le logiciel EMAR Mini et alimente le matériel Intel.

AVIS DE NON-RESPONSABILITÉ

Vous devez toujours être très prudent lorsque vous travaillez avec de l'électronique ! Nous n'accepterons aucune responsabilité pour les dommages causés au matériel ou à vous-même du fait de l'utilisation totale ou partielle de ce didacticiel. Utilisez ce didacticiel à vos risques et périls et prenez des mesures pour assurer votre propre sécurité.

Matériel requis V1

Prérequis

Serveur HIAS

Ce système nécessite un serveur HIAS entièrement fonctionnel. Suivez le guide d'installation du serveur HIAS pour configurer votre serveur HIAS avant de poursuivre ce didacticiel.

STL pour l'impression 3D

Pour ce tutoriel, vous devrez avoir déjà imprimé votre EMAR Mini. Suivez le guide STL pour l'impression 3D pour terminer la partie impression 3D de ce projet.

Raspberry Pi OS Lite

Dans ce tutoriel, nous utiliserons Raspberry Pi OS Lite (Buster). Tout d'abord, téléchargez l'image à partir de la page de téléchargement du système d'exploitation Raspberry Pi, extrayez le fichier image et écrivez-le sur une carte SDK. Dans notre projet, nous avons utilisé une carte SD de 64 Go.

Une fois cela fait, insérez-le dans votre Raspberry Pi 4, une fois connecté, utilisez la commande suivante pour mettre à jour votre appareil puis ouvrez l'application de configuration Raspberry Pi. Vous devez étendre votre système de fichiers, configurer vos préférences de clavier et connecter votre RPI4 à votre réseau.

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

Installation

Vous devez maintenant installer le matériel, le logiciel et les dépendances EMAR Mini.

Sécurité des appareils

Vous allez d'abord renforcer la sécurité de votre appareil.

Utilisateur distant

Vous allez créer un nouvel utilisateur pour accéder à votre serveur à distance. Utilisez les commandes suivantes pour configurer un nouvel utilisateur pour votre machine. Suivez les instructions fournies et assurez-vous d'utiliser un mot de passe sécurisé.

sudo adduser Votre nom d'utilisateur 

Accordez maintenant les privilèges sudo à l'utilisateur :

usermod -aG sudo YourUsername 

Ouvrez maintenant un nouveau terminal et connectez-vous à votre serveur en utilisant les nouvelles informations d'identification que vous avez configurées.

ssh [email protected] 

Accès SSH

Renforçons maintenant la sécurité du serveur. Utilisez la commande suivante pour configurer vos clés publiques et privées. Assurez-vous d'effectuer cette étape sur votre machine de développement, pas sur votre serveur.

Conseils

ssh-keygen 

Vous devriez vous retrouver avec un écran comme celui-ci :

Génération d'une paire de clés rsa publique/privée.
Entrez le fichier dans lequel enregistrer la clé (/home/genisys/.ssh/id_rsa) :
Entrez la phrase secrète (vide pour aucune phrase secrète) :
Entrez à nouveau la même phrase secrète :
Votre identification a été enregistrée dans /home/genisys/.ssh/id_rsa.
Votre clé publique a été enregistrée dans /home/genisys/.ssh/id_rsa.pub.
L'empreinte digitale de la clé est :
SHA256:5BYJMomxATmanduT3/d1CPKaFm+pGEIqpJJ5Z3zXCPM [email protected]
L'image aléatoire de la clé est :
+---[RSA 2048]----+
|.oooo.. |
|o .oo . . |
|.+.. + |
|o o o . |
| .o .+ S . . |
| =..+o =o.o . . |
|=o =oo.E .o..o .|
|.. + ..o.ooo+. . |
| .o++. |
+----[SHA256]-----+

Vous allez maintenant copier votre clé sur le serveur :

ssh-copy-id [email protected] 

Une fois que vous aurez entré votre mot de passe pour le nouveau compte utilisateur, votre clé sera enregistrée sur le serveur. Essayez maintenant de vous reconnecter au serveur dans un nouveau terminal, vous devez vous connecter directement sans avoir à saisir de mot de passe.

ssh [email protected] 

Enfin, vous désactiverez l'authentification par mot de passe pour la connexion. Utilisez la commande suivante pour modifier la configuration ssh.

sudo nano /etc/ssh/sshd_config 

Modifiez les éléments suivants :

#PasswordAuthentication oui 

À :

PasswordAuthentication no 

Puis redémarrez ssh :

sudo systemctl restart ssh 

Si vous utilisez ssh pour effectuer les étapes ci-dessus, gardez votre terminal actuel connecté. Ouvrez un nouveau terminal, essayez de vous connecter à votre serveur. Si vous pouvez vous connecter, les étapes ci-dessus ont réussi.

Le reste de ce didacticiel suppose que vous êtes connecté à votre appareil. Depuis votre machine de développement, connectez-vous à votre appareil en utilisant ssh ou ouvrez votre terminal local si vous travaillez directement sur la machine.

ssh [email protected] 

Pare-feu UFW

Vous allez maintenant configurer votre pare-feu :

sudo ufw activé
sudo ufw désactivé

Ouvrez maintenant les ports requis, ces ports seront ouverts sur votre serveur, mais ne sont pas ouverts au monde extérieur :

sudo ufw autoriser 22
sudo ufw autoriser OpenSSH

Lancez enfin et vérifiez le statut :

sudo ufw activer
sudo ufw status

Vous devriez voir ce qui suit :

Statut :actif
Vers l'action depuis
-- ------ ----
OpenSSH ALLOW Anywhere
22 AUTORISER n'importe où
OpenSSH (v6) AUTORISER n'importe où (v6)
22 (v6) AUTORISER n'importe où (v6)

Fail2Ban

Fail2Ban ajoute une couche de sécurité supplémentaire en analysant les journaux du serveur et en recherchant les activités inhabituelles. Fail2Ban est configuré pour fonctionner avec IPTables par défaut, nous allons donc procéder à une reconfiguration pour le faire fonctionner avec notre pare-feu, 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 "[Définition]" | 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

Vous devriez voir ce qui suit :

Arrêt réussi
Statut serveur prêt
|- Nombre de prison :1
`- Liste de prison :sshd

Dépendances Python

sudo apt install python3-pip
sudo pip3 install la géolocalisation
sudo pip3 install paho-mqtt
sudo pip3 install psutil
sudo pip3 install numpy
demandes d'installation sudo pip3
sudo pip3 install zmq

Créer un appareil EMAR dans HIAS

Dirigez-vous vers votre serveur HIAS et accédez à Robotique->EMAR->Créer . Dans l'Appareil paramètres, sélectionnez l'emplacement et la zone iotJumpWay souhaités, un nom pour votre appareil EMAR, l'adresse IP et MAC de votre Raspberry Pi. La Détection et profondeur d'objets en temps réel les paramètres peuvent être laissés avec les paramètres par défaut. Si vous modifiez les ports et le nom du répertoire, vous devez les modifier lors de la mise à jour du proxy du serveur HIAS paramètres ci-dessous.

Proxy serveur HIAS

Vous devez mettre à jour les paramètres du proxy du serveur HIAS afin que le proxy_pass peut correctement rediriger le trafic vers votre Raspberry Pi.

Pour ce faire, vous devez modifier la configuration NGINX. Utilisez la commande suivante sur votre serveur HIAS pour modifier le fichier avec Nano :

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

Vers le haut du fichier, vous trouverez les paramètres qui contrôlent le proxy pour EMAR/EMAR Mini. Vous devez modifier ###.###.#.## à l'adresse IP de votre Raspberry Pi.

Si vous avez modifié les paramètres du port de flux, du répertoire de flux ou du port de socket dans l'interface utilisateur HIAS EMAR, vous devez également les mettre à jour ici.

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

Une fois que vous avez enregistré et quitté la configuration, vous devez recharger le serveur NGINX :

sudo systemctl reload nginx 

Mettre à jour les paramètres de l'appareil

Vous devez maintenant mettre à jour les paramètres de l'appareil à l'aide des informations d'identification fournies dans l'interface utilisateur HIAS. Si vous avez modifié les paramètres du port de flux et du port de socket, vous devez également les mettre à jour dans ce fichier de configuration.

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" :[
"arrière-plan",
"avion",
"vélo",
"oiseau",
"bateau",
"bouteille",
"bus",
"voiture",
"chat",
"chaise",
"vache",
"table à manger",
"chien",
"cheval",
"moto",
"personne",
"plante en pot",
"mouton",
"sofa",
"train",
"tvmonitor"
],
"inScaleFactor":0.007843,
"meanVal":127.53,
" size":300,
"threshold":0.6,
"xml":"Model/MobileNetSSD_deploy.xml"
}
}

Intel® RealSense™ D415

Nous allons maintenant installer le logiciel pour Intel® RealSense™ D415.

ASSUREZ-VOUS QUE VOTRE REALSENSE N'EST PAS BRANCHÉ

Après avoir suivi sans succès un certain nombre de didacticiels d'Intel pour installer Realsense sur un Raspberry Pi 3 et Raspberry Pi 4 et plusieurs systèmes d'exploitation, j'ai finalement été dirigé vers l'installation du backend LibUVC. Pour que cela fonctionne pour notre projet, vous devez modifier le fichier libuvc_installation.sh téléchargé. fichier et effectuez une étape supplémentaire.

Conformément au guide, téléchargez d'abord le fichier avec :

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

Puis modifiez :

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

À :

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

Cela installera les liaisons Python dont nous avons besoin pour exécuter PyRealsense . Continuez maintenant avec :

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

Et enfin, ouvrez votre bashrc fichier

sudo nano ~/.bashrc 

Et ajoutez ce qui suit à la fin du fichier avant d'enregistrer et de fermer.

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

Vous pouvez maintenant brancher votre Realsense au Raspberry Pi et tester en utilisant ce qui suit pour vérifier si votre appareil est reconnu et s'ouvre avec succès :

rs-enumerate-devices 

Et enfin ce qui suit pour tester que PyRealsense fonctionne :

python3
importer pyrealsense
exit()

Si vous n'obtenez aucune erreur d'import pyrealsense , tout est configuré correctement pour votre Realsense.

Distribution Intel® de la boîte à outils OpenVINO™

Encore une fois les tutoriels officiels d'Intel ont échoué d'une manière ou d'une autre, je suis finalement tombé sur un très bon tutoriel sur PyImageSearch. Le guide suivant utilise les pièces pertinentes pour notre projet et vous permet de configurer rapidement OpenVINO sur votre 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
open20.1.023.tgz. /code>

Ajoutez maintenant la ligne suivante au bas de votre fichier bashrc avant d'enregistrer et de fermer.

source ~/openvino/bin/setupvars.sh 

Intel® Neural Compute Stick 2

Encore une fois, nous utilisons les instructions fournies dans le tutoriel PyImageSearch pour installer NCS2 sur le Raspberry Pi.

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

Connectez le cou

Tout d'abord, poussez votre dernier servo par le haut de Body-Middle.stl et vissez-le en place. Vissez ensuite le bras du servo au bas du cou et fixez-le au servo. Vous aurez peut-être besoin de colle pour sécuriser cette partie.

Source :EMAR Mini – Robot d'Assistance d'Urgence


Processus de fabrication

  1. Comment créer une plate-forme robotique Arduino+Raspberry Pi
  2. Robot utilisant Raspberry Pi &Bridge Shield
  3. Robot boîtier CD Raspberry Pi
  4. ANDY :un robot « humanoïde » polyvalent
  5. Robot d'alarme roulante
  6. Créer un robot Minecraft Creeper
  7. Robot autonome quadrupède JQR
  8. Archimedes :The AI ​​Robot Owl
  9. Nox – Un robot errant dans la maison (ROS)