Skip to content

Deploy Erwhi on AWS RoboMaker

Giovanni Bruno edited this page May 3, 2019 · 8 revisions

1. Create Erwhi robot in RoboMaker

  1. Go to RoboMaker console and check that you are on right region
  2. Click on Robots and then press on Create robot
  3. Give a name (e.g. erwhi-robot), choose X86_64 as architecture.
  4. Choose create new as greengrass group and choose your IAM role (e.g. erwhi-robomaker-greengrass)
  5. Press Create
  6. Press on Download to save greengrass configurations and a file will be downloaded (e.g. erwhi-robot-setup.zip)
  7. Click on Download referencing x86_64 Amazon Linux, a file called greengrass-linux-x86_64-version.tar.gz is downloaded

2. Setup your real Erwhi robot

  1. Attach your Erwhi robot unit to a monitor, keyboard and mouse, then proceed.
  2. Use a USB pendrive and connect to your Erwhi unit and copy files in Downloads folder. NOTE: If you worked on a real Erwhi robot you would have got files in Downloads folder
  3. Uncompress files on Erwhi
  4. Open a terminal and type:
    sudo mv ~/Downloads/greengrass /
  5. Copy files from folder erwhi-robot-setup/certs into /greengrass/certs
  6. Using terminal type:
    cd /greengrass/certs
    sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    last command download a file called root.ca.pem, you can check if this file is not empty typing:
    cat root.ca.pem
  7. Create a gcc_user on Erwhi robot, so open terminal:
    sudo adduser --system ggc_user
    sudo addgroup --system ggc_group
    sudo usermod -a -G dialout ggc_user
    sudo usermod -a -G leds ggc_user
    sudo usermod -a -G video ggc_user
  8. Create udev rules:
    cd /etc/udev/rules.d
    then:
    sudo nano 50-myusb.rules
    and write:
    KERNEL=="ttyUSB[0-9]*",MODE="0666"
    KERNEL=="ttyACM[0-9]*",MODE="0666"
    save and close nano (CTRL+X and Y+ENTER)
  9. Reboot:
    sudo reboot

3. Start Greengrass

  1. When your Erwhi robot is turned on, open terminal:
    cd /greengrass/ggc/core
    sudo ./greengrassd start
    NOTE: if an error occur you can use greengrass checker
  2. Now you Erwhi robot is connected to AWS Greengrass.

4. Create a fleet

  1. Go back on AWS RoboMaker also on another device and check if your region is right.
  2. Click on Fleets and press on Create fleet
  3. Give a name (e.g. erwhi-fleet) and press Create
  4. Scroll down and press on Register new, check erwhi-robot and press Register robot

5. Create a robot application

  1. Click on Robot applications and press Create robot application
  2. Give a name (e.g. erwhi-app) and select ROS and Kinetic
  3. Add X86_64 source file like in simulation application:
    s3://bucket-source/erwhi.tar
    NOTE: change bucket-source with the name of your bucket.
  4. Press Create

6. Deploy your application

  1. Click on Deployments and press Create deployment
  2. Select erwhi-fleet and erwhi-app
  3. If you haven't got a version just create new
  4. Type in package name:
    erwhi_bringup
    and in launch file:
    bringup.launch
  5. Press Create

7. Your application is deployed

  • You will see inProgress status
  • If you go in Robots and click on erwhi you will see percentage of deployment