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

EMAR Mini:紧凑型开源紧急救援辅助机器人

EMAR Mini 是 EMAR 开源紧急救援机器人的缩小版,旨在协助医护人员应对 COVID-19 大流行。基于树莓派 4,集成 Intel RealSense 摄像头、神经计算硬件和舵机,实现实时物体检测、深度感知和远程控制。

本指南详述 EMAR Mini 每一步搭建,从硬件组装到安全软件配置。

安全须知

操作电子设备务必谨慎。我们不对因本教程导致的任何硬件损坏或人身伤害负责。使用说明风险自担。

前置条件

HIAS 服务器

开始前确保已安装功能完善的 HIAS 服务器。按 HIAS 安装指南搭建服务器。

3D 打印 STL 文件

使用 3D 打印 STL 指南 提供的文件打印 EMAR Mini 外壳和底盘。

树莓派 OS Lite

从 树莓派 OS 下载页 下载 Raspberry Pi OS Lite (Buster) 镜像,解压并刷入 64GB SD 卡。启动后运行:

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

用配置工具扩展文件系统、设置键盘偏好、连接网络。

安装概览

安装过程包括:

设备安全

保护树莓派至关重要。按以下步骤创建专用远程用户并启用 SSH 密钥认证。

远程用户

创建拥有 sudo 权限的新用户:

sudo adduser YourUsername
usermod -aG sudo YourUsername

通过 SSH 登录新账户:

ssh [email protected]

SSH 访问

在本地机器(而非 Pi 上)生成 SSH 密钥对:

ssh-keygen

将公钥复制到 Pi:

ssh-copy-id [email protected]

测试免密登录:

ssh [email protected]

编辑 /etc/ssh/sshd_config 禁用密码认证:

sudo nano /etc/ssh/sshd_config
# 修改以下行:
#PasswordAuthentication yes
PasswordAuthentication no

重启 SSH:

sudo systemctl restart ssh

UFW 防火墙

启用并配置简易防火墙:

sudo ufw enable
sudo ufw allow 22
sudo ufw allow OpenSSH
sudo ufw status

预期输出:

Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
22 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)

Fail2Ban

安装并配置 Fail2Ban 配合 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
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

输出应含:

Shutdown successful
Server ready
Status
|- Number of jail: 1
`- Jail list: sshd

Python 依赖

sudo apt install python3-pip
sudo pip3 install geolocation paho-mqtt psutil numpy requests zmq

在 HIAS 中创建 EMAR 设备

在 HIAS 服务器导航至 Robotics > EMAR > Create。选择合适的 iotJumpWay 位置、命名、填入 Pi 的 IP 和 MAC 地址。除非需要自定义端口,Real-Time Object Detection & Depth 设置保持默认。

HIAS 服务器代理

调整 NGINX 代理将流量路由到 Pi。编辑 /etc/nginx/sites-available/default:

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

找到 EMAR 块,将占位 IP 替换为 Pi 地址:

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

重载 NGINX:

sudo systemctl reload nginx

更新设备设置

用 HIAS UI 的凭据编辑 Pi 上的 confs.json,确保端口和主机名匹配配置:

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

在 Pi 上安装 RealSense SDK。安装期间确保摄像头断开。

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

将库路径加入 ~/.bashrc:

echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib' >> ~/.bashrc
source ~/.bashrc

验证设备:

rs-enumerate-devices
python3 -c "import pyrealsense; print('PyRealsense loaded')"

Intel® Distribution of OpenVINO™ Toolkit

按以下步骤在 Pi 上安装 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
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

安装 NCS2 依赖:

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

连接颈部

将最后一个舵机穿过 Body-Middle.stl 顶部并固定。将舵机臂拧入颈部底座并连接舵机。如需稳定性可用少量胶水。

来源:EMAR Mini – Emergency Assistance Robot

制造工艺

  1. 树莓派与Arduino协作构建机器人:分步指南
  2. Bridge Shield扩展板:树莓派与Arduino集成打造智能机器人
  3. DIY仿Wall-E树莓派CD盒机器人
  4. ANDY:多功能人形机器人
  5. 滚动闹钟机器人:树莓派+Google Calendar智能移动唤醒系统
  6. 用 Arduino 打造电动《我的世界》苦力怕机器人
  7. JQR 四足自主机器人:DIY 腿足机器人用于自主导航与救援
  8. Archimedes:情感感知 AI 机器猫头鹰
  9. Nox:基于 ROS 的 DIY SLAM 家用巡航机器人
  10. 用 Python 构建 Wi-Fi 控制的树莓派机器人:分步指南
  11. 在 Windows 10 IoT Core 上构建语音驱动的计算机视觉机器人
  12. ROS 机器人:树莓派终端控制导航