Home

Awesome

lci_rmf_adapter (RMF Lift and Door Adapter for LCI)

This package is an implementation of RMF Lift Adapter1 and Door Adapter2 for LCI.

LCI is the cloud-based service provided by Octa Robotics, Inc3 .

It supports,

The base protocol of LCI is RFA4 on MQTT.

This package bridges ROS2 (RMF Lift and Door Adapter) to LCI.

System requirements

The more detail is exemplified in Dockerfile.

Topics

Message TypesROS2 TopicDescription
rmf_lift_msgs/LiftState/lift_statesState of the lift published by the lift node
rmf_lift_msgs/LiftRequest/adapter_lift_requestsRequests to be sent to the lift supervisor to request operation of lifts
rmf_door_msgs/DoorState/door_statesState of the door published by the door node
rmf_door_msgs/DoorRequest/adapter_door_requestsRequests to be sent to the door supervisor to request operation of doors

Limitation

For example, if the robot wants to use the lift from B1 of the front door to 8F of the rear door, LiftRequest.destination_floor can be,

At the origination floorAfter entering the car
Example 1B18F_r
Example 2B1:8F_r8F_r
Example 3B1:8F_r8F_r:8F_r

LCI files

To configure lci_rmf_adapter, the following files are needed.

All of them will be provided by Octa Robotics.

server_config_simulator.yaml is the config file for the simulator provided by Octa Robotics.

Please contact lci@octa8.jp to obtain the LCI Robot Account for development, which is only allowed to access the simulator.

Docker

To use lci_rmf_adapter quickly, it is recommended to use Docker.

container_manager.sh provides an utility for Docker.

Client examples

For Lift

ROS2 Node example is found in the test code for lift.

Its entry point is test_client_lift.sh

Please edit LIFT_NAME, ORIGINATION and DESTINATION in test_client_lift.sh for trial.

LIFT_NAME is of the format /lci/<bldg_id>/<bank_id>/<elevator_id>.

For Door

ROS2 Node example is found in the test code for door.

Its entry point is test_client_door.sh

Please edit DOOR_NAME in test_client_door.sh for trial

DOOR_NAME is of the format /lci/<bldg_id>/<floor_id>/<door_id>.

Use LCI directly

LCI does not only support the elevators (lifts) and the doors but also,

To use full functionaly of LCI, please use MQTT.

lci_client.py is an implementation of LCI client without ROS2.

Footnotes

  1. https://osrf.github.io/ros2multirobotbook/integration_lifts.html

  2. https://osrf.github.io/ros2multirobotbook/integration_doors.html

  3. https://www.octa8.jp/service/

  4. RFA is the acronym of the Robot Friendly Asset Promotion Association of Japan. RFA publishes the standards for the interfaces between robots and elevators/doors. RFA standards are available for purchase from their homepage. English version is also available.