RMF does not send a command to board the lift (#531)

Posted by @MrOCW:

RMF does not send the next command to my robot to board the lift

My lift adapter is modified to manage multiple lifts. The requested lift by /adapter_lift_requests will start publishing its lift state once the lift’s API is called.

The lift state on rmf web and /lift_states are reflecting correct values
LiftRequest:
rmf_lift_msgs.msg.LiftRequest(lift_name='lift_2', request_time=builtin_interfaces.msg.Time(sec=1726742232, nanosec=44125396), session_id='<MY ROBOT>', request_type=1, destination_floor='L03', door_state=2)
LiftState
rmf_lift_msgs.msg.LiftState(lift_time=builtin_interfaces.msg.Time(sec=1726742566, nanosec=950463708), lift_name='lift_2', available_floors=[xxxxxxxxxxxx], current_floor='L3', destination_floor='L3', door_state=<DoorState.OPEN: 2>, motion_state=<MotionState.STOPPED: 0>, available_modes=[1, 2], current_mode=2, session_id='<MY ROBOT>')

Is there a list of requirements that RMF needs to have for it to understand that the lift has arrived and send the next command into the lift accordingly? Any specific functions that is a must to have on lift adapter? (i.e. follow_new_path equivalent)


Edited by @MrOCW at 2024-09-19T11:26:01Z

Chosen answer

Answer chosen by @MrOCW at 2024-09-20T02:42:12Z.
Answered by @MrOCW:

after adding some logs into rmf_ros2 fleet adapter, the floor names are slightly different. modified it and it works now!

Posted by @xiyuoh:

Hello! The LiftRequest and LiftState seem correct so far, could we get a clearer picture of what’s happening with the robot fleet? It’d help to add some terminal logs from the fleet adapter, put them in a gist and link it here :grinning_face:

Posted by @MrOCW:

Hi @xiyuoh , the fleet adapter doesn’t seem to have any useful logs though. It’s a Temi robot with self implemented EFC from the jazzy python template.
Once it reaches the lift lobby, there’s pretty much no logs from the fleet adapter/command handle :frowning:
not sure if this affects anything but, I replaced all print statements with logger.info

May I know what information are you looking for from the robot fleet? I could try to add in some logging for those particular variables!

Are there any checks on the fleet adapter / command handle that is being done alongside the lift state matching the lift request, in order for a new navigation into the lift command to be sent to the FA?


Edited by @MrOCW at 2024-09-20T01:03:13Z

Posted by @MrOCW:

after adding some logs into rmf_ros2 fleet adapter, the floor names are slightly different. modified it and it works now!


This is the chosen answer.

Posted by @xiyuoh:

Glad to know it works!