亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

EMAR Mini – 紧急救援机器人

EMAR Mini 是 EMAR 的微型版本,它是一种开源紧急机器人助手,可在 COVID-19 大流行期间协助医生。

以下指南将引导您设置和安装 EMAR 迷你紧急救援机器人。

Raspberry Pi 4 搭载 EMAR Mini 软件并为英特尔硬件提供动力。

免责声明

在使用电子产品时,您应该始终非常小心!对于因完全或部分使用本教程而对硬件或您自己造成的任何损害,我们概不负责。使用本教程的风险由您自己承担,并采取措施确保您自己的安全。

V1 所需硬件

先决条件

HIAS 服务器

该系统需要功能齐全的 HIAS 服务器。在继续本教程之前,请按照 HIAS 服务器安装指南设置您的 HIAS 服务器。

用于 3D 打印的 STL

对于本教程,您需要已经打印了 EMAR Mini。按照 3D 打印 STL 指南完成此项目的 3D 打印部分。

树莓派操作系统精简版

在本教程中,我们将使用 Raspberry Pi OS Lite (Buster)。首先从 Raspberry Pi OS 下载页面下载映像,解压缩映像文件,并将其写入 SDK 卡。在我们的项目中,我们使用了 64GB 的 SD 卡。

完成此操作后,将其插入您的 Raspberry Pi 4,登录后,使用以下命令更新您的设备,然后打开 Raspberry Pi 配置应用程序。您需要扩展文件系统、设置键盘首选项并将 RPI4 连接到网络。

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

安装

现在您需要安装 EMAR Mini 硬件、软件和依赖项。

设备安全

首先,您将加强设备安全性。

远程用户

您将创建一个新用户来远程访问您的服务器。使用以下命令为您的机器设置一个新用户。按照提供的说明进行操作,并确保使用安全的密码。

sudo adduser 你的用户名 

现在授予用户 sudo 权限:

usermod -aG sudo 你的用户名 

现在打开一个新终端并使用您设置的新凭据登录到您的服务器。

ssh [电子邮件保护] 

SSH 访问

现在让我们加强服务器安全性。使用以下命令设置您的公钥和私钥。确保在开发机器上执行此步骤,不要 在您的服务器上。

提示

ssh-keygen 

你应该得到这样的屏幕:

生成公钥/私钥对。
输入保存密钥的文件(/home/genisys/.ssh/id_rsa):
输入密码(无密码为空):
再次输入相同密码:
您的身份信息已保存在/home/genisys/.ssh/id_rsa。
您的公钥已保存在/home/genisys/.ssh/id_rsa.pub.
密钥指纹为:
SHA256:5BYJMomxATmanduT3/d1CPKaFm+pGEIqpJJ5Z3zXCPM [电子邮件保护]
密钥的随机图像为:
+---[RSA 2048]----+
|.oooo.. |
|o .oo . . |
|.+.. + |
|o o o . |
| .o .+ S . . |
| =..+o =o.o 。 . |
|=o =oo.E .o..o .|
|.. + ..o.ooo+。 . |
| .o++。 |
+----[SHA256]-----+

现在您要将密钥复制到服务器:

ssh-copy-id [电子邮件保护] 

为新用户帐户输入密码后,您的密钥将保存在服务器上。现在尝试在新终端中再次登录服务器,您应该无需输入密码即可直接登录。

ssh [电子邮件保护] 

最后,您将关闭登录密码验证。使用以下命令编辑 ssh 配置。

sudo nano /etc/ssh/sshd_config 

更改以下内容:

#PasswordAuthentication yes 

致:

PasswordAuthentication no 

然后重启ssh:

sudo systemctl restart ssh 

如果您使用 ssh 执行上述步骤,请保持当前终端连接。 打开一个新终端,尝试登录到您的服务器。如果可以登录,那么以上步骤就成功了。

本教程的其余部分假设您已登录到您的设备。从您的开发机器上,使用 ssh 连接到您的设备,或者如果直接在机器上工作,则打开您的本地终端。

ssh [电子邮件保护] 

UFW 防火墙

现在您将设置防火墙:

sudo ufw enable
sudo ufw disable

现在打开所需的端口,这些端口将在您的服务器上打开,但不对外开放:

sudo ufw allow 22
sudo ufw allow OpenSSH

最后启动并查看状态:

sudo ufw enable
sudo ufw status

您应该看到以下内容:

状态:active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
22 允许任何地方
OpenSSH (v6) 允许任何地方 (v6)
22 (v6) 允许任何地方 (v6)

Fail2Ban

Fail2Ban 通过扫描服务器日志和查找异常活动增加了额外的安全层。默认情况下,Fail2Ban 配置为与 IPTables 一起使用,因此我们将进行一些重新配置以使其与我们的防火墙 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 "[定义]" | 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

您应该看到以下内容:

关闭成功
Server readyStatus
|- 监狱数量:1
`- 监狱列表:sshd

Python 依赖

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

在 HIAS 中创建 EMAR 设备

前往您的 HIAS 服务器并导航至 Robotics->EMAR->Create .在设备 设置,选择所需的 iotJumpWay 位置和区域、EMAR 设备的名称、Raspberry Pi 的 IP 和 MAC 地址。 实时对象检测和深度 设置可以保留默认设置。如果您修改了端口和目录名称,则需要在更新 HIAS 服务器代理时更改这些内容 下面的设置。

HIAS 服务器代理

您需要更新 HIAS 服务器代理设置,以便 proxy_pass 可以正确地将流量重定向到您的 Raspberry Pi。

为此,您需要编辑 NGINX 配置。在 HIAS 服务器上使用以下命令通过 Nano 编辑文件:

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

在文件顶部,您将找到控制 EMAR/EMAR Mini 代理的设置。您需要更改###.###.#.## 到您的 Raspberry Pi 的 IP 地址。

如果您在 HIAS EMAR UI 中更改了流端口、流目录或套接字端口设置,您也需要在此处更新这些设置。

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

保存并退出配置后,您需要重新加载 NGINX 服务器:

sudo systemctl reload nginx 

更新设备设置

现在您需要使用 HIAS UI 中提供的凭据更新设备设置。如果您更改了 Stream Port 和 Socket Port 设置,您也应该在此配置文件中更新它们。

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" :[
"背景",
"飞机",
"自行车",
"鸟",
"船",
"瓶子",
“公共汽车”、
“汽车”、
“猫”、
“椅子”、
“牛”、
“餐桌”、
/> “狗”、
“马”、
“摩托车”、
“人”、
“盆栽”、
“羊”、
"沙发",
"火车",
"电视监视器"
],
"inScaleFactor":0.007843,
"meanVal":127.53,
" size":300,
"threshold":0.6,
"xml":"Model/MobileNetSSD_deploy.xml"
}
}

英特尔® 实感™ D415

现在我们将为英特尔® 实感™ D415 安装软件。

确保您的真实感没有被插入

在按照英特尔的一些教程在 Raspberry Pi 3 和 Raspberry Pi 4 以及多个操作系统上安装 Realsense 失败后,我终于指向了 LibUVC 后端安装的方向。为了使我们的项目能够正常工作,您需要修改下载的 libuvc_installation.sh 文件并执行一个额外的步骤。

根据指南,首先下载文件:

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

然后修改:

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

致:

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

这将安装我们运行 PyRealsense 所需的 Python 绑定 .现在继续:

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

最后打开您的 bashrc 文件

sudo nano ~/.bashrc 

并在保存和关闭之前将以下内容添加到文件末尾。

导出 PYTHONPATH=$PYTHONPATH:/usr/local/lib 

您现在可以将 Realsense 插入 Raspberry Pi 并使用以下命令进行测试,以检查您的设备是否被识别并成功打开:

rs-enumerate-devices 

最后,测试 PyRealsense 是否正常工作的以下内容:

python3
import pyrealsense
exit()

如果 import pyrealsense 没有出现任何错误 ,一切都为您的 Realsense 设置正确。

英特尔® OpenVINO™ 工具包分发版

英特尔官方教程再次以某种方式失败,我终于在 PyImageSearch 上找到了一个非常好的教程。以下指南使用了与我们项目相关的部分,让您可以在您的 Raspberry 4 上快速设置 OpenVINO。

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
焦油-xf l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz
MV l_openvino_toolkit_runtime_raspbian_p_2020.1.023 openvino
纳米〜/ .bashrc中

现在,在保存和关闭之前,将以下行添加到 bashrc 文件的底部。

源代码 ~/openvino/bin/setupvars.sh 

英特尔® 神经计算棒 2

我们再次使用 PyImageSearch 教程中提供的说明在 Raspberry Pi 上安装 NCS2。

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

连接脖子

首先,将您的最终伺服推入 Body-Middle.stl 的顶部 并将其拧到位。接下来将伺服臂拧到颈部底部并连接到伺服。您可能需要一些胶水来确保这部分安全。

来源:EMAR Mini – 紧急救援机器人


制造工艺

  1. 如何制作 Arduino+Raspberry Pi 机器人平台
  2. 使用 Raspberry Pi 和 Bridge Shield 的机器人
  3. Raspberry Pi CD Box Robot
  4. ANDY:多功能“类人”机器人
  5. 滚动报警机器人
  6. 制作 Minecraft Creeper Robot
  7. JQR Quadruped Autonomous Robot
  8. 阿基米德:人工智能机器人猫头鹰
  9. Nox – 房屋漫游机器人 (ROS)
  10. 使用 Raspberry Pi 的 Wifi 控制机器人
  11. 打开简历机器人
  12. ROS 机器人