Get Started Guide

  • 2022.3
  • 10/03/2022
  • Public Content

Step 4: Install the EI for AMR Server Complete Kit

Perform all of Step 4 on the control plane only, not the edge nodes.
  1. Log in as default user, not
    root
    .
  2. Download the latest release.
    1. Select
      Server Complete Kit
      or
      Robot and Server Complete Kit
      .
    2. Click
      Download
      .
  3. Copy the zip file to your target system.
    EI for AMR is delivered as a compressed
    .zip
    file that is compatible with the operating system you selected during the download. The
    .zip
    contains a binary executable file, a manifest file that lists the modules to be installed, and a configuration file (config.ini).
  4. Extract and install the software:
    unzip edge_insights_for_amr.zip cd edge_insights_for_amr chmod 775 edgesoftware export no_proxy="127.0.0.1/32,devtools.intel.com" sudo ./edgesoftware install sudo groupadd docker sudo usermod -aG docker $USER newgrp docker source /etc/environment
  5. Log in as
    root
    . Do all of the remaining actions, after this point, from Step 4 as
    root
    .
    sudo su -
  6. Disable swap:
    sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab swapoff -a
  7. Download zenoh images:
    docker pull eclipse/zenoh-bridge-dds:0.5.0-beta.9 docker pull eclipse/zenoh:0.5.0-beta.9
  8. Get all Intel® Smart Edge Open edge nodes:
    kubectl get nodes
  9. Delete Intel® Smart Edge Open node labels for all edge nodes:
    kubectl label nodes <node-name-from-the-previous-step> tier- kubectl label nodes <node-name-from-the-previous-step> environment-
  10. Set the node labels:
    cd <edge_insights_for_amr_path>/Edge_Insights_for_Autonomous_Mobile_Robots_* ansible-playbook AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/02_edge_server/smart_edge_open/seo_cluster_labeling.yaml
  11. Verify that the labels were correctly updated: the environment is
    production
    , and the tier is
    edge-server
    :
    kubectl get nodes -L environment kubectl get nodes -L tier
  12. For onboarding, copy seo_install.sh and k8s_apply_label.py to the SFTP server. If the SFTP server is not configured, see Step 2: SFTP Server Setup.
    1. Open an SFTP terminal:
      sftp fdo_sftp@<sftp_server_ip>
    2. Copy the scripts to the SFTP server:
      cd /fdo_sftp/ lcd <AMR_Server_Containers>/01_docker_sdk_env/docker_orchestration/ansible-playbooks/02_edge_server/smart_edge_open/ put seo_install.sh put k8s_apply_label.py
    3. Exit the SFTP terminal:
      exit
  13. Install the collaborative SLAM DDS router playbook:
    ansible-playbook AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/02_edge_server/collab_dds_router/collab_dds_router_install.yaml
  14. Install the collaborative SLAM server playbook:
    ansible-playbook AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/02_edge_server/collab_slam/collab_slam_install.yaml
  15. Install the onboarding playbook. There are two supported robots types:
    amr-aaeon
    and
    amr-pengo
    .
      1. Install the onboarding playbook. The number of
        pod_replicas
        is up to you. The number of
        ovms_host
        is the control plane hostname.
        ansible-playbook --extra-vars '{ "pod_replicas":5}' --extra-vars '{ "http_proxy":http://http_proxy:port}' --extra-vars '{ "https_proxy":https://https_proxy:port}' --extra-vars '{ "ovms_host":<CONTROL_PLANE_IP>}' AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/01_amr/onboarding/onboarding_install.yaml
      2. Verify that services, pods, and deployment are running:
        $ kubectl get all --output=wide --namespace onboarding NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/onboarding-deployment-7fff9ddc47-cqzgd 0/16 Pending 0 18s <none> <none> <none> <none> pod/onboarding-deployment-7fff9ddc47-fgc99 0/16 Pending 0 18s <none> <none> <none> <none> pod/onboarding-deployment-7fff9ddc47-kdn74 0/16 Pending 0 18s <none> <none> <none> <none> pod/onboarding-deployment-7fff9ddc47-s7slz 0/16 Pending 0 18s <none> <none> <none> <none> pod/onboarding-deployment-7fff9ddc47-ttgdg 0/16 Pending 0 18s <none> <none> <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/onboarding-service NodePort 10.108.200.30 <none> 8883:32759/TCP 18s app.kubernetes.io/instance=onboarding-abcxzy,app.kubernetes.io/name=onboarding NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/onboarding-deployment 0/5 5 0 18s dds-bridge,amr-fleet-management,vda5050-ros2-bridge,amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-battery-bridge,amr-object-detection,imu-madgwick-filter,robot-localization,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering,amr-vda-navigator 10.237.22.198:30003/intel/eclipse/zenoh-bridge-dds:0.5.0-beta.9,10.237.22.198:30003/intel/amr-fleet-management::0.5.0-beta.9,10.237.22.198:30003/intel/amr-vda5050-ros2-bridge:2022.3,10.237.22.198:30003/intel/amr-realsense:2022.3,10.237.22.198:30003/intel/amr-ros-base-camera-tf:2022.3,10.237.22.198:30003/intel/amr-aaeon-amr-interface:2022.3,10.237.22.198:30003/intel/amr-ros-base-teleop:2022.3,10.237.22.198:30003/intel/amr-battery-bridge:2022.3,10.237.22.198:30003/intel/amr-object-detection:2022.3,10.237.22.198:30003/intel/amr-imu-madgwick-filter:2022.3,10.237.22.198:30003/intel/amr-robot-localization:2022.3,10.237.22.198:30003/intel/amr-collab-slam:2022.3,10.237.22.198:30003/intel/amr-fastmapping:2022.3,10.237.22.198:30003/intel/amr-nav2:2022.3,10.237.22.198:30003/intel/amr-wandering:2022.3,10.237.22.198:30003/intel/amr-vda-navigator:2022.3 app.kubernetes.io/instance=onboarding-abcxzy,app.kubernetes.io/name=onboarding NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/onboarding-deployment-7fff9ddc47 5 5 0 18s dds-bridge,amr-fleet-management,vda5050-ros2-bridge,amr-realsense,amr-ros-base-camera-tf,amr-aaeon-amr-interface,amr-ros-base-teleop,amr-battery-bridge,amr-object-detection,imu-madgwick-filter,robot-localization,amr-collab-slam,amr-fastmapping,amr-nav2,amr-wandering,amr-vda-navigator 10.237.22.198:30003/intel/eclipse/zenoh-bridge-dds:0.5.0-beta.9,10.237.22.198:30003/intel/amr-fleet-management::0.5.0-beta.9,10.237.22.198:30003/intel/amr-vda5050-ros2-bridge:2022.3,10.237.22.198:30003/intel/amr-realsense:2022.3,10.237.22.198:30003/intel/amr-ros-base-camera-tf:2022.3,10.237.22.198:30003/intel/amr-aaeon-amr-interface:2022.3,10.237.22.198:30003/intel/amr-ros-base-teleop:2022.3,10.237.22.198:30003/intel/amr-battery-bridge:2022.3,10.237.22.198:30003/intel/amr-object-detection:2022.3,10.237.22.198:30003/intel/amr-imu-madgwick-filter:2022.3,10.237.22.198:30003/intel/amr-robot-localization:2022.3,10.237.22.198:30003/intel/amr-collab-slam:2022.3,10.237.22.198:30003/intel/amr-fastmapping:2022.3,10.237.22.198:30003/intel/amr-nav2:2022.3,10.237.22.198:30003/intel/amr-wandering:2022.3,10.237.22.198:30003/intel/amr-vda-navigator:2022.3 app.kubernetes.io/instance=onboarding-abcxzy,app.kubernetes.io/name=onboarding,pod-template-hash=7fff9ddc47
    • amr-pengo
      : Pengo
      1. Install the onboarding-pengo playbook. The number of
        pod_replicas
        is up to you. The number of
        ovms_host
        is the control plane hostname.
        ansible-playbook --extra-vars '{ "pod_replicas":5}' --extra-vars '{ "http_proxy":http://http_proxy:port}' --extra-vars '{ "https_proxy":https://https_proxy:port}' --extra-vars '{ "ovms_host":<CONTROL_PLANE_IP>}' AMR_server_containers/01_docker_sdk_env/docker_orchestration/ansible-playbooks/01_amr/onboarding_pengo/onboarding_pengo_install.yaml
      2. Verify that services, pods, and deployment are running:
        $ kubectl get all --output=wide --namespace onboarding-pengo NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/onboarding-pengo-deployment-557b496cf8-9j27c 0/10 Pending 0 5h21m <none> <none> <none> <none> pod/onboarding-pengo-deployment-557b496cf8-lfsgb 0/10 Pending 0 3h49m <none> <none> <none> <none> pod/onboarding-pengo-deployment-557b496cf8-ndwgs 0/10 Pending 0 5h21m <none> <none> <none> <none> pod/onboarding-pengo-deployment-557b496cf8-njppn 0/10 Pending 0 5h21m <none> <none> <none> <none> pod/onboarding-pengo-deployment-557b496cf8-pxz29 0/10 Pending 0 5h21m <none> <none> <none> <none> pod/onboarding-pengo-deployment-557b496cf8-twtlv 0/10 Pending 0 5h21m <none> <none> <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/onboarding-pengo-service NodePort 10.103.247.202 <none> 8883:32761/TCP 5h21m app.kubernetes.io/instance=onboarding-pengo-abcxzy,app.kubernetes.io/name=onboarding-pengo NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/onboarding-pengo-deployment 0/5 5 0 5h21m dds-bridge,amr-fleet-management,vda5050-ros2-bridge,amr-realsense,amr-kobuki,amr-ros-base-camera-tf,amr-collab-slam,amr-nav2,amr-wandering,amr-vda-navigator 10.237.22.198:30003/intel/eclipse/zenoh-bridge-dds:0.5.0-beta.9,10.237.22.198:30003/intel/amr-fleet-management:2022.3,10.237.22.198:30003/intel/amr-vda5050-ros2-bridge:2022.3,10.237.22.198:30003/intel/amr-realsense:2022.3,10.237.22.198:30003/intel/amr-kobuki:2022.3,10.237.22.198:30003/intel/amr-ros-base-camera-tf:2022.3,10.237.22.198:30003/intel/amr-collab-slam:2022.3,10.237.22.198:30003/intel/amr-nav2:2022.3,10.237.22.198:30003/intel/amr-wandering:2022.3,10.237.22.198:30003/intel/amr-vda-navigator:2022.3 app.kubernetes.io/instance=onboarding-pengo-abcxzy,app.kubernetes.io/name=onboarding-pengo NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/onboarding-pengo-deployment-557b496cf8 5 5 0 5h21m dds-bridge,amr-fleet-management,vda5050-ros2-bridge,amr-realsense,amr-kobuki,amr-ros-base-camera-tf,amr-collab-slam,amr-nav2,amr-wandering,amr-vda-navigator 10.237.22.198:30003/intel/eclipse/zenoh-bridge-dds:0.5.0-beta.9,10.237.22.198:30003/intel/amr-fleet-management:2022.3,10.237.22.198:30003/intel/amr-vda5050-ros2-bridge:2022.3,10.237.22.198:30003/intel/amr-realsense:2022.3,10.237.22.198:30003/intel/amr-kobuki:2022.3,10.237.22.198:30003/intel/amr-ros-base-camera-tf:2022.3,10.237.22.198:30003/intel/amr-collab-slam:2022.3,10.237.22.198:30003/intel/amr-nav2:2022.3,10.237.22.198:30003/intel/amr-wandering:2022.3,10.237.22.198:30003/intel/amr-vda-navigator:2022.3 app.kubernetes.io/instance=onboarding-pengo-abcxzy,app.kubernetes.io/name=onboarding-pengo,pod-template-hash=557b496cf8
    These steps prepare the control plane to deploy and control edge nodes and robots. After the device is onboarded, the pods are installed on the EI for AMR device.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.