Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

EMAR Mini - Robot de asistencia de emergencia

EMAR Mini es una versión en miniatura de EMAR, un asistente de robot de emergencia de código abierto para ayudar a los médicos durante la pandemia de COVID-19.

La siguiente guía lo guiará a través de la configuración e instalación del Mini Robot de Asistencia de Emergencia EMAR.

La Raspberry Pi 4 aloja el software EMAR Mini y alimenta el hardware Intel.

DESCARGO DE RESPONSABILIDAD

¡Siempre debe tener mucho cuidado al trabajar con productos electrónicos! No aceptaremos responsabilidad por ningún daño causado al hardware oa usted mismo a través del uso total o parcial de este tutorial. Utilice este tutorial bajo su propio riesgo y tome las medidas necesarias para garantizar su propia seguridad.

Hardware requerido V1

Requisitos previos

Servidor HIAS

Este sistema requiere un servidor HIAS en pleno funcionamiento. Siga la guía de instalación del servidor HIAS para configurar su servidor HIAS antes de continuar con este tutorial.

STL para impresión 3D

Para este tutorial, necesitará haber impreso ya su EMAR Mini. Siga la guía de STL para impresión 3D para completar la parte de impresión 3D de este proyecto.

Raspberry Pi OS Lite

En este tutorial usaremos Raspberry Pi OS Lite (Buster). En primer lugar, descargue la imagen de la página de descarga del sistema operativo Raspberry Pi, extraiga el archivo de imagen y escríbalo en una tarjeta SDK. En nuestro proyecto hemos utilizado una tarjeta SD de 64 GB.

Una vez que haya hecho esto, insértelo en su Raspberry Pi 4, cuando haya iniciado sesión, use el siguiente comando para actualizar su dispositivo y luego abra la aplicación de configuración de Raspberry Pi. Necesita expandir su sistema de archivos, configurar sus preferencias de teclado y conectar su RPI4 a su red.

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

Instalación

Ahora necesita instalar el hardware, el software y las dependencias de EMAR Mini.

Seguridad del dispositivo

Primero, reforzará la seguridad de su dispositivo.

Usuario remoto

Creará un nuevo usuario para acceder a su servidor de forma remota. Utilice los siguientes comandos para configurar un nuevo usuario para su máquina. Siga las instrucciones proporcionadas y asegúrese de utilizar una contraseña segura.

  sudo adduser YourUsername  

Ahora conceda privilegios de sudo al usuario:

  usermod -aG sudo YourUsername  

Ahora abra una nueva terminal e inicie sesión en su servidor con las nuevas credenciales que configuró.

  ssh [correo electrónico protegido]  

Acceso SSH

Ahora mejoremos la seguridad del servidor. Utilice el siguiente comando para configurar sus claves públicas y privadas. Asegúrese de realizar este paso en su máquina de desarrollo, no en su servidor.

Sugerencias

  ssh-keygen  

Deberías terminar con una pantalla como esta:

  Generando par de claves rsa pública / privada. 
Ingrese el archivo en el que guardar la clave (/home/genisys/.ssh/id_rsa):
Ingrese la frase de contraseña (vacío si no hay frase de contraseña):
Ingrese la misma frase de contraseña nuevamente:
Su identificación se ha guardado en /home/genisys/.ssh/id_rsa.
Su clave pública se ha guardado en /home/genisys/.ssh/id_rsa.pub.
La huella digital de la clave es:
SHA256:5BYJMomxATmanduT3 / d1CPKaFm + pGEIqpJJ5Z3zXCPM [correo electrónico protegido]
La imagen aleatoria de la clave es:
+ --- [RSA 2048] ---- +
| .oooo .. |
| o .oo. . |
|. + .. + |
| o o o. |
| .o. + S. . |
| =.. + o =o.o. . |
| =o =oo.E .o..o. |
| .. + ..o.ooo +. . |
| .o ++. |
+ ---- [SHA256] ----- +

Ahora va a copiar su clave al servidor:

  ssh-copy-id [correo electrónico protegido]  

Una vez que ingrese su contraseña para la nueva cuenta de usuario, su clave se guardará en el servidor. Ahora intente iniciar sesión en el servidor nuevamente en una nueva terminal, debe iniciar sesión directamente sin tener que ingresar una contraseña.

  ssh [correo electrónico protegido]  

Finalmente, desactivará la autenticación de contraseña para iniciar sesión. Utilice el siguiente comando para editar la configuración de ssh.

  sudo nano / etc / ssh / sshd_config  

Cambie lo siguiente:

  #PasswordAuthentication sí  

Para:

  No de autenticación de contraseña  

Luego reinicia ssh:

  sudo systemctl restart ssh  

Si está utilizando ssh para realizar los pasos anteriores, mantenga su terminal actual conectado. Abra una nueva terminal, intente iniciar sesión en su servidor. Si puede iniciar sesión, los pasos anteriores se realizaron correctamente.

El resto de este tutorial asume que ha iniciado sesión en su dispositivo. Desde su máquina de desarrollo, conéctese a su dispositivo usando ssh o abra su terminal local si trabaja directamente en la máquina.

  ssh [correo electrónico protegido]  

Cortafuegos UFW

Ahora configurará su firewall:

  sudo ufw habilitar 
sudo ufw deshabilitar

Ahora abra los puertos requeridos, estos puertos estarán abiertos en su servidor, pero no estarán abiertos al mundo exterior:

  sudo ufw permite 22 
sudo ufw permite OpenSSH

Finalmente comience y verifique el estado:

  sudo ufw enable 
sudo ufw status

Debería ver lo siguiente:

  Estado:activo 
A Acción desde
- ------ ----
OpenSSH ALLOW Anywhere
22 PERMITIR en cualquier lugar
OpenSSH (v6) PERMITIR en cualquier lugar (v6)
22 (v6) PERMITIR en cualquier lugar (v6)

Fail2Ban

Fail2Ban agrega una capa adicional de seguridad al escanear los registros del servidor y buscar actividad inusual. Fail2Ban está configurado para funcionar con IPTables de forma predeterminada, por lo que haremos algunas reconfiguraciones para que funcione con nuestro firewall, 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 "[Definición]" | 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 eliminar denegar de a cualquier" | 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

Debería ver lo siguiente:

  Apagado exitoso 
Server readyStatus
| - Número de cárcel:1
`- Lista de cárcel:sshd

Dependencias de Python

  sudo apt install python3-pip 
sudo pip3 install geolocation
sudo pip3 install paho-mqtt
sudo pip3 install psutil
sudo pip3 install numpy
solicitudes de instalación sudo pip3
sudo pip3 install zmq

Crear dispositivo EMAR en HIAS

Dirígete a tu servidor HIAS y navega a Robótica-> EMAR-> Crear . En el Dispositivo configuración, seleccione la ubicación y zona de iotJumpWay que desee, un nombre para su dispositivo EMAR, la dirección IP y MAC de su Raspberry Pi. Detección y profundidad de objetos en tiempo real La configuración se puede dejar con la configuración predeterminada. Si modifica los puertos y el nombre del directorio, debe cambiarlos cuando actualice el servidor proxy HIAS configuración a continuación.

Proxy del servidor HIAS

Debe actualizar la configuración del proxy del servidor HIAS para que proxy_pass puede redirigir correctamente el tráfico a su Raspberry Pi.

Para hacer esto, necesita editar la configuración de NGINX. Utilice el siguiente comando en su servidor HIAS para editar el archivo con Nano:

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

Hacia la parte superior del archivo encontrará la configuración que controla el proxy para EMAR / EMAR Mini. Necesita cambiar ###. ###. #. ## a la dirección IP de su Raspberry Pi.

Si cambió la configuración del puerto de transmisión, el directorio de transmisión o el puerto de conexión en la interfaz de usuario de HIAS EMAR, también debe actualizarlos aquí.

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

Una vez que haya guardado y salido de la configuración, debe volver a cargar el servidor NGINX:

  sudo systemctl recargar nginx  

Actualizar la configuración del dispositivo

Ahora debe actualizar la configuración del dispositivo con las credenciales proporcionadas en la interfaz de usuario de HIAS. Si cambió la configuración de Stream Port y Socket Port, también debe actualizarlos en este archivo de configuración.

  sudo nano confs.json {
"iotJumpWay":{
"host":"",
"puerto":8883 ,
"ip":"localhost",
"lid":0,
"zid":0,
"did":0,
"dn" :"",
"un":"",
"pw":""
},
"EMAR":{
"ip":""
},
"Realsense":{
"servidor":{
"puerto":8282
},
"socket":{
"puerto":8383
}
},
"MobileNetSSD":{
"bin":"Modelo / MobileNetSSD_deploy.bin",
"clases" :[
"fondo",
"avión",
"bicicleta",
"pájaro",
"barco",
"botella",
"autobús",
"coche",
"gato",
"silla",
"vaca",
"mesa de comedor",
"perro",
"caballo",
"moto",
"persona",
"maceta",
"oveja",
"sofá",
"tren",
"tvmonitor"
],
"inScaleFactor":0.007843,
"meanVal":127.53,
" tamaño ":300,
" umbral ":0.6,
" xml ":" Modelo / MobileNetSSD_deploy.xml "
}
}

Intel® RealSense ™ D415

Ahora instalaremos el software para Intel® RealSense ™ D415.

ASEGÚRESE DE QUE SU REALSENSE NO ESTÁ CONECTADO

Después de seguir sin éxito una serie de tutoriales de Intel para instalar Realsense en una Raspberry Pi 3 y Raspberry Pi 4 y varios sistemas operativos, finalmente me señalaron en la dirección de la instalación del backend de LibUVC. Para que esto funcione para nuestro proyecto, debe modificar el libuvc_installation.sh descargado. archivar y realizar un paso adicional.

Según la guía, descargue el archivo primero con:

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

Luego modifique:

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

Para:

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

Esto instalará los enlaces de Python que necesitamos para ejecutar PyRealsense . Ahora continúe con:

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

Y finalmente abra su bashrc archivo

  sudo nano ~ / .bashrc  

Y agregue lo siguiente al final del archivo antes de guardar y cerrar.

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

Ahora puede conectar su Realsense a la Raspberry Pi y probar usando lo siguiente para verificar si su dispositivo es reconocido y se abre correctamente:

  rs-enumerate-devices  

Y finalmente lo siguiente para probar que PyRealsense está funcionando:

  python3 
importar pyrealsense
exit ()

Si no recibe ningún error de importar pyrealsense , todo está configurado correctamente para su Realsense.

Distribución Intel® de OpenVINO ™ Toolkit

Una vez más, los tutoriales oficiales de Intel fallaron de una forma u otra, finalmente encontré un muy buen tutorial sobre PyImageSearch. La siguiente guía utiliza las partes relevantes para nuestro proyecto y le permite configurar rápidamente OpenVINO en su 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.tgzol_opbian_p_2020.1.023. / código>

Ahora agregue la siguiente línea al final de su archivo bashrc antes de guardar y cerrar.

  fuente ~ / openvino / bin / setupvars.sh  

Intel® Neural Compute Stick 2

Nuevamente usamos las instrucciones proporcionadas en el tutorial de PyImageSearch para instalar NCS2 en la Raspberry Pi.

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

Conecta el cuello

En primer lugar, empuja tu servo final a través de la parte superior de Body-Middle.stl y atorníllelo en su lugar. A continuación, atornille el brazo del servo a la parte inferior del cuello y fíjelo al servo. Es posible que necesite un poco de pegamento para mantener esta parte segura.

Fuente:EMAR Mini - Robot de asistencia de emergencia


Proceso de manufactura

  1. Cómo hacer una plataforma de robot Arduino + Raspberry Pi
  2. Robot que usa Raspberry Pi y Bridge Shield
  3. Robot de caja de CD Raspberry Pi
  4. ANDY:Un robot “humanoide” multiusos
  5. Robot de alarma rodante
  6. Crea un robot Creeper de Minecraft
  7. Robot autónomo cuadrúpedo JQR
  8. Arquímedes:El búho robot con IA
  9. Nox - Un robot errante de la casa (ROS)
  10. Robot controlado por Wifi usando Raspberry Pi
  11. Abrir CV Robot