Skip to content

Commit

Permalink
Merge branch 'main' into xiyu/robot_idle_task
Browse files Browse the repository at this point in the history
  • Loading branch information
xiyuoh committed Sep 27, 2024
2 parents 5bc0099 + 2c4dc55 commit ff0457e
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 10 deletions.
30 changes: 25 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,34 @@ Answers to frequently asked questions can be found [here](docs/faq.md).

A near-term roadmap of the Open-RMF project can be found in the user manual [here](https://osrf.github.io/ros2multirobotbook/roadmap.html).

## RMF-Web
## RMF-Web quick start

Full web application of Open-RMF: [rmf-web](https://github.com/open-rmf/rmf-web).

Start the backend API server via `docker` with host network access, using the default configuration. The API server will be accessible at `localhost:8000` by default.

```bash
docker run \
--network host \
-it \
-e ROS_DOMAIN_ID=<ROS_DOMAIN_ID> \
-e RMW_IMPLEMENTATION=<RMW_IMPLEMENTATION> \
ghcr.io/open-rmf/rmf-web/api-server:latest
```

> Note: The API server is also configurable by mounting the configuration file and setting the environment variable `RMF_API_SERVER_CONFIG`. In the default configuration, the API serer will use an internal non-persistent database.
Start the frontend dashboard via `docker` with host network access, using the default configuration. The dashboard will be accessible at `localhost:3000` by default.

```bash
docker run \
--network host \
-it \
ghcr.io/open-rmf/rmf-web/dashboard:latest
```

> Note: The dashboard via `docker` is not runtime-configurable and is best used for quick integrations and testing. To configure the dashboard, check out [rmf-web-dashboard-resources](https://github.com/open-rmf/rmf_demos/tree/rmf-web-dashboard-resources/rmf_demos_dashboard_resources) and the [dashboard configuration section](https://github.com/open-rmf/rmf-web/tree/main/packages/dashboard#configuration).
In order to interact with the default configuration of the web application, the `server_uri` launch parameter will need to be changed to `ws://localhost:8000/_internal`, for example,

```bash
Expand Down Expand Up @@ -85,10 +109,6 @@ Robots running Clean and Loop Task:

![](../media/hotel_scenarios.gif)


To submit a list of scheduled tasks via rmf web panel, load [hotel_tasks.json](https://github.com/open-rmf/rmf_demos/blob/main/rmf_demos_panel/task_lists/hotel_tasks.json),
or paste the json list to the _Submit a List of Tasks_ section. Next, click on submit.

---

### Office World
Expand Down
2 changes: 2 additions & 0 deletions rmf_demos_assets/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ project(rmf_demos_assets)

find_package(ament_cmake REQUIRED)

ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.dsv.in")

install(
DIRECTORY models
DESTINATION share/${PROJECT_NAME}
Expand Down
1 change: 1 addition & 0 deletions rmf_demos_assets/hooks/rmf_demos_assets.dsv.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
prepend-non-duplicate;GZ_SIM_RESOURCE_PATH;share/rmf_demos_assets/models
8 changes: 3 additions & 5 deletions rmf_demos_gz/launch/simulation.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
<arg name="gazebo_version" default='8'/>

<let name="world_path" value="$(find-pkg-share $(var map_package))/maps/$(var map_name)/$(var map_name).world" />
<let name="model_path" value="$(find-pkg-share $(var map_package))/maps/$(var map_name)/models:$(find-pkg-share $(var map_package))/maps/$(var map_name)/models:$(find-pkg-share rmf_demos_assets)/models:$(env HOME)/.gazebo/models" />
<let name="plugin_path" value="$(find-pkg-prefix rmf_robot_sim_gz_plugins)/lib/rmf_robot_sim_gz_plugins:$(find-pkg-prefix rmf_building_sim_gz_plugins)/lib/rmf_building_sim_gz_plugins" />
<let name="model_path" value="$(find-pkg-share $(var map_package))/maps/$(var map_name)/models:$(env HOME)/.gazebo/models" />

<!-- Use crowd sim if `use_crowdsim` is true-->
<let name="menge_resource_path" if="$(var use_crowdsim)" value="$(find-pkg-share $(var map_package))/maps/$(var map_name)/config_resource"/>
Expand All @@ -17,10 +16,9 @@
<let name="gz_headless" if="$(var headless)" value="-s"/>
<let name="gz_headless" unless="$(var headless)" value="" />

<!-- TODO(luca) Remove the manual concatenation of GZ_SIM_RESOURCE_PATH and just use environment hooks -->
<executable cmd="gz sim --force-version $(var gazebo_version) $(var gz_headless) -r -v 3 $(var world_path)" output="both">
<env name="GZ_SIM_RESOURCE_PATH" value="$(var model_path):$(var world_path)" />
<env name="GZ_SIM_SYSTEM_PLUGIN_PATH" value="$(var plugin_path)"/>
<env name="GZ_GUI_PLUGIN_PATH" value="$(var plugin_path)"/>
<env name="GZ_SIM_RESOURCE_PATH" value="$(env GZ_SIM_RESOURCE_PATH):$(var model_path)" />
<env name="MENGE_RESOURCE_PATH" value="$(var menge_resource_path)"/>
</executable>

Expand Down

0 comments on commit ff0457e

Please sign in to comment.