Posts AWS RoboMaker-Day 1
Post
Cancel

AWS RoboMaker-Day 1

Overview

This was the first day ‘learning’ about AWS and robotics. Below you will find the set of videos that I worked through and my notes from those videos. These notes are not intended to necessarily be consumed by others, but I thought that they might be useful for someone that is looking for good tutorial videos. I will continue to document my journey and in a month, provide an overall summary and recommendations for a learning path.

I still have not found a good collection of tutorials that walks you from ‘getting started’ in AWS to ‘fleet management’. Might be out there but I just haven’t found it yet. My hope is that by going through these I might be able to create a set of these types of tutorial. This is the start.

Videos

  • Using AWS RoboMaker Simulation for Real World Applications
    • REVIEW: Not a great video. Very high-level with no real meat in the video. Would only recommend if you don’t know anything about RoboMaker, AWS or programming. Most of the videos start with a high-level review of the AWS technology so you will get this overview over time.
  • Build Your First Cloud-Connected Robot
    • REVIEW: Fun video. On the right track. Cool things that have been made, but there was not a lot of ‘digging in’. They promised digging in, but never really did. Looked for the follow-up videos but I could not find them (see Todo Items)
  • Getting Started with Robots & AWS RoboMaker
    • REVIEW: Great starter video for where I am at. I know how to program. Know a bit about AWS full-stack development. Went through an example with ‘Paired Programming’ approach. Things learned: How to leverage Cloud9, writing python code to define a ROS node, how to bundle a robot package and a simulation package (well sort of, see Todo Items), import bundles into S3 for use with RoboMaker and how to configure those bundles.

Items learned on this Day

  1. AWS Cloud9 has integrated RoboMaker dev tools to make developing, testing and deploying easier.
  2. How to build and integrate a ROS defined robot into RoboMaker.
  3. Learned a little about servos

ToDo Items

  1. Need to learn more about how to do two-way interactions with the Dynamixel servos.
  2. Learn how to bundle ROS robot and simulation packages.
  3. Find if there are more videos for the Build Cloud-Connected Robots

Videos

Using AWS RoboMaker Simulation for Real World Applications

  • Video Link
  • Overview video with not a lot of depth.
  • Just walks through the services with statements of ‘You can do this…’ without showing you how to do anything.
  • Speed video up to at least 1.5. Speaker, speaks very slowly.
  • Learned: Cloud9 has ROS tooling

Build Your First Cloud-Connected Robot

  • Video Link
  • A build video.
  • Show-and-tell with multiple robots.
  • No ‘getting your hands dirty’
  • Cool application using Leap Motion Tracker and robots.
  • Learned about the benefits of Dynamixel servos.
    • Small on-board computers that not only receive, but also sends information about the status of the serve (NOTE: Need to learn more about how to do two-way interactions with the Dynamixel servos.)
  • Promised to show in future episodes but unable to find those episodes.

Getting Started with Robots & AWS RoboMaker

  • Video Link
  • Starting to get hands dirty.
  • Cloned a ‘Hello world’ repository.
  • Under src folder there is a package.xml
    • All of the information on the packages that need to be installed to get your robot to run.
  • CMakeLists.txt: Makefile. Describes how the applications are built. What files are needed, etc.
  • ROS programming is based on noeds.
  • Point in video where they begin RosPy Programming of the robot node.
  • Nodes are small micro-functions that can be assigned to parts of the robot (e.g., rotate.py)

    Video Point. Build Your Robot: launch file (rotate.launch)

    Video Point. Build Your Robot: build the robot packages.

    1
    2
    3
    4
    5
    6
    
    cd robot_ws
    colcon build #Builds all of the code
    source install/local_setup.sh # Run in Cloud9 with messages
    # roslaunch <nameOfPackage> <NameofFileToLaunch>: 
    # to launch the program in the Cloud9 environment
    roslaunch hello_world_robot rotate.lauch  
    

    Video Point. Build Your Robot: Start integrating RoboMaker

  • You need to bundle the packages but they don’t describe how to do that. Pre-baked because it takes a few minutes to get done.
    • NOTE: Learn how to bundle the packages.
      1
      2
      3
      4
      5
      
      cd robot_ws
      # File called output.tar
      # Copy the bundle file to an S3 bucket
      # aws s3 cp bundle/ouput.tar s3://<bucketName>/<fileName.tar>
      aws s3 cp bundle/ouput.tar s3://aws-tutorial/robot_ws.tar
      

      Setup RoboMaker Robot Definition.

      RoboMaker Robot Definition

Setup RoboMaker Simulation Environment.

  • NOTE: They do not describe how to make the simulation_ws.tar file. Not sure if it is built with the colcon build command or another command. RoboMaker Simulation Definition

    Video Point. Build Your Robot: Simulation Job.

  • Pre-baked so don’t go into the details of how to connect the Robot and environment into the simulation job.