Giter VIP home page Giter VIP logo

aws-robomaker-sample-application-delivery-challenge's Introduction

Create map and navigate robot to designated location in RoboMaker simulator

コンテスト参加者向け日本語のドキュメントが次にあります (初心者クラス, カスタマイズクラス, 詳細)

This is a sample application for AWS Robot Delivery Challenge.

This sample application can create word map using SLAM and navigate the word by by using the map. This sample application provides a web user interface to control the robot in simulation world.

Setup

You can setup the sample application on AWS RoboMaker development environment.

  1. Create RoboMaker development environment. Select Melodic as the Pre-installed ROS distribution.

  2. Download this sample application to the development environment by executing following command in the terminal window of the development environment.

    git clone https://github.com/aws-samples/aws-robomaker-sample-application-delivery-challenge.git
  3. On the same terminal window, execute following commands.

    cd ~/environment
    cd aws-robomaker-sample-application-delivery-challenge
    ./ws_setup.sh
  4. After all the setup process completed (it takes around 20-30 min), download the browser folder under aws-robomaker-sample-application-delivery-challenge directory to your local file system. You can do this by right click the browser folder and select [Download] from the context menu.

  5. Extract the file you just download. This is the web interface which you can control the robot running in simulation world.

How to use

This sample application provides two functionalities. One is creating map and the other is navigating the world. Let's create map first.

Create map

  1. A shell script to launch application in RoboMaker simulation is created when you executed set up shell script ws_setup.sh. In terminal window, execute following shell script to launch application in RoboMaker simulation with map creation mode.

    ./launch_slam.sh 

    (The shell script should exist under the same directory you executed ./ws_setup.sh)

  2. Go to RoboMaker simulation in AWS Management console. You will find a simulation job under Preparing or Running status, open the simulation job. Simulation job detail page will be displayed.

  3. CLick [Connect] button of [GZClient]. It shows the simulation world.

    gazebo

  4. Click [Connect] button of [Robot Application] panel. It will bring the visualize tool for the robot's sensing data.

    gazebo_rviz

    From browser folder you download, find fine named robot_controller.html. Open the file with your web browser, it shows remote controller interface.

    browser

    By moving the robot by pressing arrow buttons in the controller, you can build the map of the world. (The generated map is displayed in the terminal window)

    When you are fine for the map, press [Save Map] button in the remote controller interface. The map file will then be saved into Amazon S3 bucket. The bucket the map is stored is described in the robot_ws/src/delivery_robot_sample/settings/settings.yaml file.

  5. Cancel the simulation by selecting Actions -> Cancel from the detail page of the simulation job.

Navigate the world

  1. A shell script to launch application in RoboMaker simulation is created when you executed set up shell script ws_setup.sh. In terminal window, execute following shell script to launch application in RoboMaker simulation with navigation mode.

    ./launch_navigation.sh 

    (The shell script should exist under the same directory you executed ./ws_setup.sh)

  2. Go to RoboMaker simulation in AWS Management console. You will find a simulation job under Preparing or Running status, open the simulation job. Simulation job detail page will be displayed.

  3. CLick [Connect] button of [GZClient]. It shows the simulation world. This time moving objects are also apper.

    gazebo2

  4. Click [Connect] button of [Robot Application] in Robot application tools. It will bring the visualize tool for the robot's sensing data.

    rviz2

  5. Open the remote controller interface again. Set the designated location like x: 7.2, y: 2.3, heading: 0 in Goal section of the controller. Click [[G]o To] button, then. The robot will then create the navigation route to go to the location and the robot auto drive to the location.

    navigation

Robot may stuck in the middle to avoid to collide the obstacles. It's time for tuning. You can tune the navigation parameters. They are in robot_ws/src/turtlebot3/turtlebot3_navigation/param. About the tuning points, you can find them from http://emanual.robotis.com/docs/en/platform/turtlebot3/navigation/#tuning-guide When you make changes on your robot application, you should reflect the change to the application. You can do it by selecting, Run -> Workflow -> Delivery Challenge Robot app build -> bundle from the menu.

Clean up

  • Remove development environment RoboMaker development environment
  • Remote AWS resources, the setup script (ws_setup.sh) created. In CloudFormation stack You will find two stack names starting from deliverychallenge. They are the stacks this sample application created for creating the resources necessary for running this sample program. Delete them to remove the resources.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

aws-robomaker-sample-application-delivery-challenge's People

Contributors

amazon-auto avatar katakuji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-robomaker-sample-application-delivery-challenge's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.