AWS RoboMaker Small Warehouse World
AWS Robomaker Small Warehouse World on Gzweb
This Gazebo world is well suited for organizations who are building and testing robot applications for warehouse and logistics use cases.
3D Models included in this Gazebo World
Building and Launching the Gazebo World with your ROS Applications
-
Create or update a .rosinstall file in the root directory of your ROS workspace. Add the following line to .rosintall:
- git: {local-name: src/aws-robomaker-small-warehouse-world, uri: 'https://github.com/aws-robotics/aws-robomaker-small-warehouse-world.git', version: master}
-
Change the directory to your ROS workspace and run
rosws update
-
Add the following include to the ROS launch file you are using:
<launch> <!-- Launch World --> <include file="$(find aws_robomaker_small_warehouse_world)/launch/small_warehouse.launch"/> ... </launch>
-
Build your application using
colcon
rosws update rosdep install --from-paths . --ignore-src -r -y colcon build
Example: Running this world directly in Gazebo without a ROS application
To open this world in Gazebo, change the directory to your ROS workspace root folder and run:
cd aws-robomaker-small-warehouse-world
export GAZEBO_MODEL_PATH=`pwd`/models
gazebo worlds/small_warehouse.world
Example: Running this world on Gazebo headless and running the UI on Gzweb
Tested in ROS Kinetic/Melodic, Gazebo 7/9 with node version 8.11.3/10.22.1
To open this world in Gzweb, There are two steps,
- In a terminal, change to your ROS workspace root folder and run gzserver with the small warehouse world:
cd aws-robomaker-small-warehouse-world
export GAZEBO_MODEL_PATH=`pwd`/models
gzserver worlds/small_warehouse.world
- In another terminal, setup and run GzWeb
-
Install GzWeb by following the official documentation:
Important:
- The recommended NodeJS versions are 4 up to version 8.
- Watch out for conflicting installations of Node/NodeJS
- See Troubleshooting section for other issues
-
Deploy GzWeb
- Approach 1: Copy all the Gazebo models from small-warehouse world to gzweb/http/client/assets/, and run the deploy script
cp -r ~/aws-robomaker-small-warehouse-world/models/. ~/gzweb/http/client/assets cd ~/gzweb export GAZEBO_MASTER_URI="http://localhost:11345" # change localhost to IP address of the gzserver machine npm run deploy npm start
- Approach 2: without copying the Gazebo models, export Gazebo model path and run the deploy script with
-m local
cd aws-robomaker-small-warehouse-world export GAZEBO_MODEL_PATH=`pwd`/models cd ~/gzweb export GAZEBO_MASTER_URI="http://localhost:11345" # change localhost to IP address of the gzserver machine npm run deploy --- -m local npm start
Example: Running this world directly using ROS without a simulated robot
To launch this base Gazebo world without a robot, clone this repository and run the following commands. Note: ROS and gazebo must already be installed on the host.
# build for ROS
rosdep install --from-paths . --ignore-src -r -y
colcon build
# run in ROS
source install/setup.sh
roslaunch aws_robomaker_small_warehouse_world view_small_warehouse.launch
Visit the AWS RoboMaker website to learn more about building intelligent robotic applications with Amazon Web Services.
Notes
- Lighting might vary on different system(s) (e.g brighter on system without CPU and darker on system with GPU)
- Adjust lighting parameters in .world file as you need