工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

EMAR Mini –緊急支援ロボット

EMAR Miniは、COVID-19パンデミック時に医師を支援するオープンソースの緊急ロボットアシスタントであるEMARのミニチュアバージョンです。

次のガイドでは、EMARミニ緊急支援ロボットのセットアップとインストールについて説明します。

Raspberry Pi 4は、EMAR Miniソフトウェアを搭載し、Intelハードウェアに電力を供給します。

免責事項

電子機器を扱うときは、常に細心の注意を払う必要があります。このチュートリアルの全部または一部の使用によってハードウェアまたは自分自身に生じたいかなる損害についても、当社は責任を負いません。このチュートリアルは自己責任で使用し、自己の安全を確保するための対策を講じてください。

V1必要なハードウェア

前提条件

HIASサーバー

このシステムには、完全に機能するHIASサーバーが必要です。このチュートリアルを続行する前に、HIASサーバーのインストールガイドに従ってHIASサーバーをセットアップしてください。

3D印刷用のSTL

このチュートリアルでは、EMARMiniをすでに印刷しておく必要があります。 STLs For 3D Printingガイドに従って、このプロジェクトの3D印刷部分を完了してください。

Raspberry Pi OS Lite

このチュートリアルでは、Raspberry Pi OS Lite(バスター)を使用します。まず、Raspberry Pi OSのダウンロードページから画像をダウンロードし、画像ファイルを抽出して、SDKカードに書き込みます。私たちのプロジェクトでは、64GBのSDカードを使用しました。

これを行ったら、Raspberry Pi 4に挿入し、ログインしたら、次のコマンドを使用してデバイスを更新し、RaspberryPi構成アプリケーションを開きます。ファイルシステムを拡張し、キーボード設定をセットアップして、RPI4をネットワークに接続する必要があります。

  sudo apt-get update &&sudo apt-get upgrade 
sudo raspi-config
インストール

次に、EMAR Miniのハードウェア、ソフトウェア、および依存関係をインストールする必要があります。

デバイスのセキュリティ

まず、デバイスのセキュリティを強化します。

リモートユーザー

サーバーにリモートアクセスするための新しいユーザーを作成します。次のコマンドを使用して、マシンの新しいユーザーを設定します。提供された指示に従い、安全なパスワードを使用していることを確認してください。

  sudo adduser YourUsername  

次に、sudo特権をユーザーに付与します:

  usermod -aG sudo YourUsername  

次に、新しいターミナルを開き、設定した新しい資格情報を使用してサーバーにログインします。

  ssh [メール保護]  

SSHアクセス

それでは、サーバーのセキュリティを強化しましょう。次のコマンドを使用して、公開鍵と秘密鍵を設定します。 ではなく、開発マシンでこの手順を実行するようにしてください。 サーバー上で。

ヒント
  • Enterキーを押して、デフォルトのファイルを確認します。
  • Enterキーを2回押すと、パスワードがスキップされます(オプションで、必要に応じてパスワードを使用できます)。
  ssh-keygen  

次のような画面が表示されるはずです:

 公開/秘密rsaキーペアを生成しています。
キーを保存するファイルを入力してください(/home/genisys/.ssh/id_rsa):
パスフレーズを入力してください(パスフレーズがない場合は空):
同じパスフレーズをもう一度入力してください:
IDは/home/genisys/.ssh/id_rsaに保存されています。
公開鍵はに保存されています/home/genisys/.ssh/id_rsa.pub。
キーの指紋は次のとおりです。
SHA256:5BYJMomxATmanduT3 / d1CPKaFm + pGEIqpJJ5Z3zXCPM [メール保護]
キーのランダムアート画像は次のとおりです。
+ --- [RSA 2048] ---- +
| .oooo .. |
|o.oo。 。 |
|。+ .. + |
| o oo。 |
| .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

次のように表示されます。

 ステータス:アクティブ
アクションの開始元
---------- ----
OpenSSHはどこでも許可
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 "[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

次のように表示されます。

 シャットダウンに成功しました
サーバー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
sudopip3インストールリクエスト
sudo pip3 install zmq

HIASでEMARデバイスを作成

HIASサーバーに移動し、ロボット工学-> EMAR->作成に移動します 。 デバイス 設定で、目的のiotJumpWayの場所とゾーン、EMARデバイスの名前、RaspberryPiのIPアドレスとMACアドレスを選択します。 リアルタイムのオブジェクト検出と深度 設定はデフォルト設定のままにしておくことができます。ポートとディレクトリ名を変更する場合は、 HIASサーバープロキシを更新するときにこれらを変更する必要があります 以下の設定。

HIASサーバープロキシ

proxy_pass になるように、HIASサーバーのプロキシ設定を更新する必要があります トラフィックをRaspberryPiに正しくリダイレ​​クトできます。

これを行うには、NGINX構成を編集する必要があります。 Nanoでファイルを編集するには、HIASサーバーで次のコマンドを使用します。

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

ファイルの先頭に、EMAR / EMARMiniのプロキシを制御する設定があります。 ###。###。#。## を変更する必要があります RaspberryPiの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  
デバイス設定の更新

次に、HIASUIで提供される資格情報を使用してデバイス設定を更新する必要があります。ストリームポートとソケットポートの設定を変更した場合は、この構成ファイルでもそれらを更新する必要があります。

  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"、
「犬」、
「馬」、
「バイク」、
「人」、
「鉢植え」、
「羊」、
"sofa"、
"train"、
"tvmonitor"
]、
"inScaleFactor":0.007843、
"meanVal":127.53、
"サイズ ":300、
"しきい値 ":0.6、
" xml ":" Model / MobileNetSSD_deploy.xml "
}
}
Intel®RealSense™D415

次に、Intel®RealSense™D415用のソフトウェアをインストールします。

REALSENSEが差し込まれていないことを確認してください

Raspberry Pi3とRaspberryPi 4および複数のOSにRealsenseをインストールするための多くのIntelのチュートリアルに失敗した後、私はついに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  

これにより、実行する必要のあるPythonバインディングがインストールされます。 PyRealsense 。次に進みます:

  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()

インポートpyrealsense からエラーが発生しない場合 、Realsense用にすべてが正しく設定されています。

Intel®DistributionofOpenVINO™Toolkit

繰り返しになりますが、公式のIntelチュートリアルは何らかの形で失敗しましたが、ついにPyImageSearchに関する非常に優れたチュートリアルに出くわしました。次のガイドでは、プロジェクトに関連する部分を使用しており、Raspberry4で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_run / code>

保存して閉じる前に、bashrcファイルの最後に次の行を追加します。

  source〜 / openvino / bin / setupvars.sh  
Intel®NeuralComputeStick2

ここでも、PyImageSearchチュートリアルで提供されている手順を使用して、NCS2をRaspberryPiにインストールします。

  sudo usermod -a -G users "$(whoami)" 
cd
sh openvino / install_dependencies / install_NCS_udev_rules.sh
首を接続する

まず、最後のサーボを Body-Middle.stl の上部に押し込みます 所定の位置にねじ込みます。次に、サーボアームをネックの下部にねじ込み、サーボに取り付けます。この部分を安全に保つために接着剤が必要になる場合があります。

出典:EMAR Mini –緊急支援ロボット


製造プロセス

  1. Arduino + RaspberryPiロボットプラットフォームの作り方
  2. ラズベリーパイとブリッジシールドを使用したロボット
  3. ラズベリーパイCDボックスロボット
  4. ANDY:多目的「ヒューマノイド」ロボット
  5. ローリングアラームロボット
  6. Minecraftクリーパーロボットを作成する
  7. JQR Quadruped Autonomous Robot
  8. アルキメデス:AIロボットフクロウ
  9. Nox –ハウスワンダリングロボット(ROS)
  10. RaspberryPiを使用したWifi制御ロボット
  11. Open CV Robot