## AWS Robomaker Small House World on Gzweb
Visit the AWS RoboMaker website to learn more about building intelligent robotic applications with Amazon Web Services.
rosws update
<launch>
<!-- Launch World -->
<include file="$(find aws_robomaker_small_house_world)/launch/small_house.launch"/>
...
</launch>
export GAZEBO_MODEL_PATH=`pwd`/models
gazebo worlds/small_house.world
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
Install GzWeb by following the official documentation:
Important:
Deploy GzWeb
-m local
cd aws-robomaker-small-house-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
Note: For Portrait Images put the required images mentioned in each visual.DAE file to each materials/textures folder because gzweb could only use the assets mentioned in gzweb/http/client/assets folder for each model.
# 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
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
Picture frames use two textures for the model:
aws_portraitA_01.png
- Frame textureaws_portraitA_02.png
- Picture textureTo 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 |
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.