资料介绍
描述
以下指南将引导您完成EMAR 迷你紧急救援机器人的设置和安装。
Raspberry Pi 4 包含 EMAR Mini 软件并为英特尔硬件提供动力。
免责声明
使用电子产品时,您应该始终非常小心!对于因全部或部分使用本教程而对硬件或您自己造成的任何损害,我们概不负责。使用本教程需要您自担风险,并采取措施确保您自己的安全。
V1 所需硬件
- 1 个树莓派 4
- 1 个英特尔® 实感™ D415
- 1 个英特尔® 神经计算棒 2
- 1 个面包板
- 4 x Tower Pro SG90 伺服系统
- 跳线
先决条件
HIAS 服务器
该系统需要一个功能齐全的HIAS 服务器。在继续本教程之前,请按照HIAS 服务器安装指南设置您的 HIAS 服务器。
用于 3D 打印的 STL
对于本教程,您需要已经打印了您的 EMAR Mini。按照STLs For 3D Printing指南完成该项目的 3D 打印部分。
树莓派操作系统精简版
在本教程中,我们将使用 Raspberry Pi OS Lite (Buster)。首先从树莓派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 YourUsername
现在授予用户 sudo 权限:
usermod -aG sudo YourUsername
现在打开一个新终端并使用您设置的新凭据登录到您的服务器。
ssh YourNewUser@YourServerIP
SSH 访问
现在让我们加强服务器安全。使用以下命令设置您的公钥和私钥。确保在您的开发机器上执行此步骤,而不是在您的服务器上。
提示
- 回车确认默认文件。
- 按两次回车跳过密码(可选,您可以根据需要使用密码)。
ssh-keygen
你应该最终得到这样的屏幕:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/genisys/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/genisys/.ssh/id_rsa.
Your public key has been saved in /home/genisys/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:5BYJMomxATmanduT3/d1CPKaFm+pGEIqpJJ5Z3zXCPM genisys@genisyslprt
The key's randomart image is:
+---[RSA 2048]----+
|.oooo.. |
|o .o.o . . |
|.+.. + |
|o o o . |
| .o .+ S . . |
| =..+o = o.o . . |
|= o =oo.E .o..o .|
|.. + ..o.ooo+. . |
| .o++. |
+----[SHA256]-----+
现在您要将密钥复制到服务器:
ssh-copy-id YourNewUser@YourServerIP
输入新用户帐户的密码后,您的密钥将保存在服务器上。现在尝试在新终端中再次登录服务器,您应该直接登录而无需输入密码。
ssh YourNewUser@YourServerIP
最后,您将关闭登录密码验证。使用以下命令编辑 ssh 配置。
sudo nano /etc/ssh/sshd_config
更改以下内容:
#PasswordAuthentication yes
至:
PasswordAuthentication no
然后重启ssh:
sudo systemctl restart ssh
如果您使用 ssh 执行上述步骤,请保持当前终端连接。打开一个新终端,尝试登录到您的服务器。如果您可以登录,则上述步骤成功。
本教程的其余部分假设您已登录到您的设备。从您的开发机器上,使用 ssh 连接到您的设备,或者如果直接在机器上工作,则打开您的本地终端。
ssh YourUser@YourServerIP
UFW防火墙
现在您将设置防火墙:
sudo ufw enable
sudo ufw disable
现在打开所需的端口,这些端口将在您的服务器上打开,但不对外开放:
sudo ufw allow 22
sudo ufw allow OpenSSH
最后启动并检查状态:
sudo ufw enable
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 通过扫描服务器日志和查找异常活动增加了额外的安全层。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 "[Definition]" | 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
您应该看到以下内容:
Shutdown successful
Server readyStatus
|- Number of jail: 1
`- Jail list: 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 中更改了 Stream Port、Stream Directory 或 Socket Port 设置,您还需要在此处更新这些设置。
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": [
"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"
}
}
英特尔® 实感™ D415
现在我们将为英特尔® 实感™ D415 安装软件。
确保您的真实感未插入
在按照英特尔的一些教程在 Raspberry Pi 3 和 Raspberry Pi 4 和多个操作系统上安装 Realsense 失败后,我终于被指向了LibUVC-backend 安装的方向。为了使我们的项目能够正常工作,您需要修改下载的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
并在保存和关闭之前将以下内容添加到文件末尾。
export 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
tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz
mv l_openvino_toolkit_runtime_raspbian_p_2020.1.023 openvino
nano ~/.bashrc
现在在保存和关闭之前将以下行添加到 bashrc 文件的底部。
source ~/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的顶部并将其拧入到位。接下来将伺服臂拧到颈部底部并连接到伺服器上。您可能需要一些胶水来保持这部分的安全。
组装头部
接下来让我们组装头部、Face.stl 、Head-Back.stl和Camera-Cover.stl 。在脸上你会看到 3 个孔。使用这些孔将脸部拧到后脑勺上,然后将相机盖放在脸部的大方形孔上。
将头部连接到颈部
现在您需要使用颈部侧面的两个螺钉来固定头部。首先拧紧螺钉,使其穿过另一侧,然后将头部放在颈部内并继续拧紧直到头部连接。
树莓派 4 支架
现在我们将设置您的 Raspberry Pi 4 支架,使 Raspberry Pi 在 EMAR Mini 内保持直立位置。
相关文件为RPI4-Base.stl和RPI4-Stand.stl 。首先将支架滑入底座。
现在将您的 Raspberry Pi 4 拧到支架上,端口朝上。
树莓派 4 引脚分配
面包板
我们将在电路中使用面包板。第一步是从 Raspberry Pi 4 的 PWM 引脚连接电线。使用 Raspberry Pi 引脚图,将 GPIO 18、13 和 12 连接到面包板。
舵机的 PWM 信号线是橙色的,在上图中,我们使用橙色公头->公头跳线将 PWM 引脚连接到面包板。
还要从 5v 电源引脚添加一根红线,从地线添加一根黑线。但不要连接它们。
添加英特尔® 神经计算棒 2
现在将您的神经计算棒 2 插入 Raspberry Pi 上的顶部 USB3。
将 Raspberry Pi 4 支架连接到 EMAR Mini
在Body-Bottom.stl的底部,您将看到两个用于将 Raspberry Pi 4 支架连接到 EMAR Mini 内部的螺钉孔。
首先拧入螺钉,直到它们刚好穿过另一侧,这将更容易拧入支架。然后将机身底部翻转到侧面并拧入 Raspberry Pi 4 支架。
将底部向右转,将面包板放在身体顶部。
连接手臂部分
EMAR Mini 的手臂有两个部分,Arm-Section-1.stl和Arm-Section-2.stl 。
使用您的一个伺服器将第二个臂部分连接到第一个部分,然后使用第二个伺服器将第一个臂部分连接到身体,然后将电线通过孔送入身体内部。
将伺服线连接到面包板
现在您将三个伺服器连接到面包板。将主体翻转到侧面并将其放置在靠近主体底部的位置,以便电线可以到达您留在顶部的面包板。
接下来,我们使用红色公头->公头跳线将伺服电源线连接到面包板上的电源轨,公头->公头棕色线将伺服地线连接到面包板上的地轨。
现在我们将 PWM 信号线(橙色)连接到面包板。您需要通过以下方式连接它们。
- 头部伺服 -> GPIO 18
- 第一臂部分伺服 -> GPIO 12
- 第二臂部分伺服 -> GPIO 13
接下来将 Raspberry Pi 4 的红色电源线连接到面包板上的电源轨,然后将接地线连接到接地轨。
安装面包板
现在您需要将面包板轻轻地放在 EMAR 的主体内,就在底部的 Raspberry Pi 前面。如果您在将面包板放入内部时使身体活跃起来,这样做会更容易。
安装实感摄像头
接下来,将来自 Realsense 摄像头的 USB C 型导线穿过颈部后部的孔插入机身,将其拉过并将其连接到 Raspberry Pi 上的第二个 USB3 端口。
整理起来
现在将 USB C 型电源线插入 Raspberry Pi,但暂时不要插入电源。
完成后,您需要将中间主体连接到底部主体。要非常小心,确保不要将任何电线从 Raspberry Pi 或面包板上拉出,并确保 Realsense 的 USB 电缆安装在机身顶部,否则可能会导致您无法能够移动头部。
最后将 Realsense 摄像头推入面部前部的孔中,并确保其牢固。在这个版本中,头部尺寸计算错误,可以将相机楔入头部,但我们正在为 V2 设计更大的头部设计。使用前确保相机牢固地嵌入头部。
继续
现在您可以继续返回RPI4教程以完成设置。
贡献
Peter Moss Acute COVID-19 AI 研究项目鼓励并欢迎来自 Github 的代码贡献、错误修复和增强功能。
请阅读CONTRIBUTING文档以获取有关分叉存储库和提交拉取请求的完整指南。您还可以在此页面上找到有关您的行为准则的信息。
贡献者
- Adam Milton-Barker - Asociacion De Investigation En Inteligencia Artificial Para La Leucemia Peter Moss西班牙萨瓦德尔总裁兼首席开发人员
- Jose Mario Garza - Asociacion De Investigation En Inteligencia Artificial Para La Leucemia Peter Moss 3D 设计师/打印机,墨西哥
版本控制
您使用 SemVer 进行版本控制。有关可用版本,请参阅版本。
执照
这个项目是在MIT 许可下获得许可的- 有关详细信息,请参阅LICENSE文件。
错误/问题
您使用repo 问题来跟踪与使用此项目相关的错误和一般请求。有关如何提交错误、功能请求和建议的更多信息,请参阅CONTRIBUTING 。
- Feather蓝牙迷你机器人
- 迷你自主机器人开源分享
- 迷你视频录制和流媒体机器人开源分享
- Arduino Uno迷你机器人开源分享
- 迷你平衡机器人
- 瞳步迎宾讲解机器人
- 库卡机器人Ethernet/IP通讯设置手册 18次下载
- 了解机器人电子教材下载 19次下载
- 机器人无线充电电路设计 47次下载
- 基于Matlab的机构与机器人分析资料下载 11次下载
- 基于DSP和PC的农业机器人控制系统 17次下载
- 基于DSP芯片的足球机器人实现与设计 26次下载
- 如何进行简易避障机器人的设计 27次下载
- 机器视觉的灾后救援机器人越障系统设计_王宇 4次下载
- 基于移动通信网定位技术的紧急救援服务 21次下载
- ABB机器人与西门子PLC的Profinet通讯设置 2465次阅读
- 上位机C#通过TCP/IP和机器人通讯 941次阅读
- VASS 标准机器人的附加功能 699次阅读
- 大众标准里机器人程序中P值的设置存在那里? 657次阅读
- 面对疫情 医疗机器人能帮上什么忙? 2126次阅读
- 常用的机器人编程方法有哪些 1.5w次阅读
- 协作机器人的起源_为什么需要协作机器人 8127次阅读
- 什么是柔性机器人?柔性机器人的材料和驱动 1.9w次阅读
- 工业机器人逻辑编程教程 5310次阅读
- 如何区分机器人、协作机器人和移动机器人? 6828次阅读
- 软体机器人 前所未见的机器人 3692次阅读
- 井下应急救援通信系统技术与解决方案 7399次阅读
- 对《工业机器人编程指令详解》的详细介绍 1.8w次阅读
- 机器人系统常用仿真软件介绍和效果 8377次阅读
- 智能救援机器人的设计解析 3294次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多