{"id":21599369,"url":"https://github.com/t04glovern/aws-robomaker-docker","last_synced_at":"2025-04-11T01:10:45.613Z","repository":{"id":54981467,"uuid":"207312367","full_name":"t04glovern/aws-robomaker-docker","owner":"t04glovern","description":"AWS RoboMaker is a development, deployment and simulation platform for ROS (Robot Operating System). We explore why Simulating robots on AWS is a big deal, and how you can do it too!","archived":false,"fork":false,"pushed_at":"2021-01-18T06:00:55.000Z","size":41182,"stargazers_count":1,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T10:50:29.864Z","etag":null,"topics":["aws-robomaker","robomaker","robot-application","ros"],"latest_commit_sha":null,"homepage":"https://devopstar.com/2019/09/12/aws-robomaker-beginners-guide-to-robot-simulation/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t04glovern.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-09T13:12:55.000Z","updated_at":"2024-08-09T01:03:53.000Z","dependencies_parsed_at":"2022-08-14T08:01:12.425Z","dependency_job_id":null,"html_url":"https://github.com/t04glovern/aws-robomaker-docker","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t04glovern%2Faws-robomaker-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t04glovern%2Faws-robomaker-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t04glovern%2Faws-robomaker-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t04glovern%2Faws-robomaker-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t04glovern","download_url":"https://codeload.github.com/t04glovern/aws-robomaker-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322600,"owners_count":21084337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-robomaker","robomaker","robot-application","ros"],"created_at":"2024-11-24T18:15:06.004Z","updated_at":"2025-04-11T01:10:45.596Z","avatar_url":"https://github.com/t04glovern.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS RoboMaker Dockerized Simulations\n\nMonitor health and operational metrics for a fleet of robots in a simulated home using AWS CloudWatch Metrics and AWS CloudWatch Logs. Streamed metrics include speed, distance to nearest obstacle, distance to current goal, robot CPU utilization, and RAM usage.\n\nIt demonstrates how to emit metrics and logs to AWS CloudWatch to monitor your robots.\n\n## Requirements\n\n- [ROS Kinetic](http://wiki.ros.org/kinetic/Installation/Ubuntu) / [ROS Melodic](http://wiki.ros.org/melodic/Installation/Ubuntu) - Other versions may work, however they have not been tested\n- [Colcon](https://colcon.readthedocs.io/en/released/user/installation.html) - Used for building and bundling the application.\n\n## Build\n\n### Pre-build commands\n\n```bash\nsudo apt-get update\nrosdep update\n```\n\n### Robot\n\n```bash\nsudo apt-get update\nrosdep update\ncd robot_ws\nrosws update\nrosdep install --from-paths src --ignore-src -r -y\ncolcon build\n```\n\n### Simulation\n\n```bash\ncd simulation_ws\nrosws update\nrosdep install --from-paths src --ignore-src -r -y\ncolcon build\n```\n\n## Run\n\nThe `TURTLEBOT3_MODEL` environment variable must be set when running the simulation application (not needed for robot application). Valid values are `burger`, `waffle`, and `waffle_pi`.\n\nLaunch the application with the following commands:\n\n- **Running Robot Application on a Robot**\n\n  ```bash\n  source robot_ws/install/local_setup.sh\n  roslaunch cloudwatch_robot deploy_rotate.launch\n  ```\n\n- **Running Robot Application Elsewhere**\n\n  ```bash\n  source robot_ws/install/local_setup.sh\n  roslaunch cloudwatch_robot [command]\n  ```\n\n  There are two robot launch commands:\n\n  - `rotate.launch` - The robot starts rotating\n  - `await_commands.launch` - The robot is idle waiting movement commands, use this for teleop and navigation\n\n- **Running Simulation Application**\n\n    ```bash\n    export TURTLEBOT3_MODEL=waffle_pi\n    source simulation_ws/install/local_setup.sh\n    roslaunch cloudwatch_simulation [command]\n    ```\n\n  There are two simulation launch commands for two different worlds:\n\n  - `empty_world.launch` - Empty world with some balls surrounding the turtlebot at (0,0)\n  - `bookstore_turtlebot_navigation.launch` - A retail space where the robot navigates to random goals\n\n### Monitoring with CloudWatch Logs\n\nRobot logs from ROS nodes are streamed into CloudWatch Logs to Log Group `robomaker_cloudwatch_monitoring_example`. See `cloudwatch_robot/config/cloudwatch_logs_config.yaml`.\n\n### Monitoring with CloudWatch Metrics\n\nRobot metrics from ROS nodes are reported into CloudWatch Metrics `robomaker_cloudwatch_monitoring_example`. Metric resolution is configured at 10 seconds. See `cloudwatch_robot/config/cloudwatch_metrics_config.yaml`.\n\nOperational metrics include:\n\n- linear speed\n- angular speed\n- distance to nearest obstacle (closest lidar scan return)\n- distance to planned goal (bookstore only, requires its navigation system)\n\nHealth metrics include CPU and RAM usage.\n\n## Using this sample with RoboMaker\n\nYou first need to install colcon-ros-bundle. Python 3.5 or above is required.\n\n```bash\npip3 install colcon-ros-bundle\n```\n\nAfter colcon-ros-bundle is installed you need to build your robot or simulation, then you can bundle with:\n\n```bash\n# Bundling Robot Application\ncd robot_ws\nsource install/local_setup.sh\ncolcon bundle\n\n# Bundling Simulation Application\ncd simulation_ws\nsource install/local_setup.sh\ncolcon bundle\n```\n\nThis produces the artifacts `robot_ws/bundle/output.tar` and `simulation_ws/bundle/output.tar` respectively.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft04glovern%2Faws-robomaker-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft04glovern%2Faws-robomaker-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft04glovern%2Faws-robomaker-docker/lists"}