aws-robotics / aws-robomaker-small-house-world

A house world with multiple rooms and furniture for AWS RoboMaker and Gazebo simulations.
MIT No Attribution
201 stars 70 forks source link
gazebo ros

AWS RoboMaker Small House World ROS package

Gazebo01

AWS Robomaker Small House World on Gzweb

Gzweb01## AWS Robomaker Small House World on Gzweb

Visit the AWS RoboMaker website to learn more about building intelligent robotic applications with Amazon Web Services.

Include the world from another package

Load directly into Gazebo (without ROS)

export GAZEBO_MODEL_PATH=`pwd`/models
gazebo worlds/small_house.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,

1) In a terminal, change to your ROS workspace root folder and run gzserver with the small warehouse world:

cd aws-robomaker-small-house-world
export GAZEBO_MODEL_PATH=`pwd`/models
gzserver worlds/small_house.world --verbose

2) In another terminal, setup and run GzWeb

ROS Launch with Gazebo viewer (without a robot)

# build for ROS
rosdep install --from-paths . --ignore-src -r -y
colcon build

# run in ROS
source install/setup.sh
roslaunch aws_robomaker_small_house_world view_small_house.launch

Building

Include this as a .rosinstall dependency in your SampleApplication simulation workspace. colcon build will build this repository.

To build it outside an application, note there is no robot workspace. It is a simulation workspace only.

$ rosws update
$ rosdep install --from-paths . --ignore-src -r -y
$ colcon build

How to Replace Photos in Picture Frames

Picture frames use two textures for the model:

To change a picture, one has to replace the aws_portraitA_02.png file. The new image will look best with same aspect ratio as the replaced image.

Below is a table showing portrait type to picture resolution data and custom images from photos/.

Portrait Model Resolution Photo
DeskPortraitA_01 650x1024
DeskPortraitA_02 650x1024 doug
DeskPortraitB_01 650x1024
DeskPortraitB_02 650x1024
DeskPortraitC_01 1024x1024
DeskPortraitC_02 1024x1024
DeskPortraitD_01 1024x1024
DeskPortraitD_02 1024x1024
DeskPortraitD_03 1024x1024
DeskPortraitD_04 1024x1024 ray
PortraitA_01 700x1024 tim
PortraitA_02 700x1024 anamika
PortraitB_01 700x1024 renato
PortraitB_02 700x1024 brandon
PortraitB_03 700x1024 miaofei
PortraitC_01 650x1024 sean
PortraitD_01 1024x450
PortraitD_02 1024x450
PortraitE_01 700x1024 maggie
PortraitE_02 700x1024 iftach

Disclaimer

All objects in the scene should be static objects as intended for this sample app. If there is a need for some of objects to be non-static, change their 'static' flag in the world file to 'false', and make sure they have correct mass and inertia values in their model.sdf Link: http://gazebosim.org/tutorials?tut=inertia&cat=build_robot

Currently, objects in scene have inconsistent mass and inertia values, they will be fixed in the future change. Inconsistent mass and inertia should not affect static object simulation.