# Getting the final RMF destination (#581)

**URL:** <https://discourse.openrobotics.org/t/getting-the-final-rmf-destination-581/44619>\
**Category:** Open-RMF General\
**Tags:** rmf-github-discuss\
**Created:** [January 17, 2025, 3:45am UTC](https://discourse.openrobotics.org/t/getting-the-final-rmf-destination-581/44619 "2025-01-17T03:45:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Archive-o-matic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/archive-o-matic/32/26074_2.png) [@Archive-o-matic](https://discourse.openrobotics.org/u/Archive-o-matic)\
**Post date:** [January 17, 2025, 3:45am UTC](https://discourse.openrobotics.org/t/getting-the-final-rmf-destination-581/44619/1 "2025-01-17T03:45:45Z")

</div>

Posted by @MrOCW:

Hi, besides the api-server, is there any ways to obtain the final RMF destination? e.g. via a ROS2 topic  
Am trying to get the final goal on my EFC Fleet Adapter

* * *

Edited by @MrOCW at 2025-01-17T03:50:42Z

> **Chosen answer**
>
> Answer chosen by @MrOCW at 2025-01-22T02:53:37Z.  
> Answered by @xiyuoh:
> 
> That’s a pity. Yes, the only way is via the api-server if you’re unable to pull the latest changes for RMF. If possible I’d suggest updating at least the `rmf_ros2` (and `rmf_internal_msgs` if necessary) repo and rebasing any custom modifications on top of it, as we usually have meaningful fixes and features there, e.g. the new reservation system. Otherwise you can try cherry picking the task state update [commit](https://github.com/open-rmf/rmf_ros2/commit/e4e82e1f00f7167a94d7dc625d4f34252caea6e8) to your existing codebase.

---

<div class="post-metadata">

**Author:** ![Archive-o-matic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/archive-o-matic/32/26074_2.png) [@Archive-o-matic](https://discourse.openrobotics.org/u/Archive-o-matic)\
**Post date:** [January 17, 2025, 4:02am UTC](https://discourse.openrobotics.org/t/getting-the-final-rmf-destination-581/44619/2 "2025-01-17T04:02:41Z")

</div>

Posted by @xiyuoh:

Hello! Since [Publish fleet and task updates over ROS 2 if websocket is not provided by aaronchongth · Pull Request #383 · open-rmf/rmf\_ros2 · GitHub](https://github.com/open-rmf/rmf_ros2/pull/383), task states are being published over ROS 2 via the topic `/task_state_update` whether websocket is enabled or not. A sample state update for a robot in Office world being tasked to go to the `pantry`:

```auto
data: '{"data":{"active":1,"assigned_to":{"group":"tinyRobot","name":"tinyRobot2"},"booking":{"id":"patrol.dispatch-37a2e72cdc","requester":"rmf_demos_tasks","unix_millis_earliest_start_time":0,"unix_millis_request_time":0},"category":"Patrol","completed":[],"detail":"","estimate_millis":34361,"original_estimate_millis":0,"pending":[],"phases":{"1":{"category":"Go to [place:pantry]","detail":"Moving the robot from [graph-wp:10] to [place:pantry]","estimate_millis":34361,"events":{"0":{"deps":[2,3,1,7],"detail":"Moving the robot from [graph-wp:10] to [place:pantry]","id":0,"name":"Go to [place:pantry]","status":"standby"},"1":{"deps":[4,5,6],"detail":"","id":1,"name":"Pass through [door:hardware_door]","status":"standby"},"2":{"deps":[],"detail":"","id":2,"name":"Open [door:hardware_door]","status":"standby"},"3":{"deps":[],"detail":"","id":3,"name":"Move to ( 19.474 -10.3472) < 19.474 -10.3472 -3.10459> through 2 points","status":"standby"},"4":{"deps":[],"detail":"","id":4,"name":"Open [door:hardware_door]","status":"standby"},"5":{"deps":[],"detail":"","id":5,"name":"Move to [graph-wp:10] < 18.7944 -10.3724 -3.10458> through 2 points","status":"standby"},"6":{"deps":[],"detail":"","id":6,"name":"Close [door:hardware_door]","status":"standby"},"7":{"deps":[],"detail":"","id":7,"name":"Move to [place:pantry] < 16.8463 -5.40407 -1.56437> through 8 points","status":"standby"}},"final_event_id":0,"id":1,"original_estimate_millis":24414,"unix_millis_start_time":105020}},"status":"standby","unix_millis_finish_time":139441,"unix_millis_start_time":105020},"type":"task_state_update"}'

```

---

<div class="post-metadata">

**Author:** ![Archive-o-matic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/archive-o-matic/32/26074_2.png) [@Archive-o-matic](https://discourse.openrobotics.org/u/Archive-o-matic)\
**Post date:** [January 17, 2025, 4:10am UTC](https://discourse.openrobotics.org/t/getting-the-final-rmf-destination-581/44619/3 "2025-01-17T04:10:14Z")

</div>

Posted by @MrOCW:

unfortunately, we have frozen our version of rmf (due to customized lift taking process) and the commit is 1ab38d717283aece61050874b9827d111de66b29, hence we do not have access to this feature.  
I assume the only way is via api-server then?

* * *

Edited by @MrOCW at 2025-01-17T04:11:01Z

---

<div class="post-metadata">

**Author:** ![Archive-o-matic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/archive-o-matic/32/26074_2.png) [@Archive-o-matic](https://discourse.openrobotics.org/u/Archive-o-matic)\
**Post date:** [January 17, 2025, 4:55am UTC](https://discourse.openrobotics.org/t/getting-the-final-rmf-destination-581/44619/4 "2025-01-17T04:55:52Z")

</div>

Posted by @xiyuoh:

That’s a pity. Yes, the only way is via the api-server if you’re unable to pull the latest changes for RMF. If possible I’d suggest updating at least the `rmf_ros2` (and `rmf_internal_msgs` if necessary) repo and rebasing any custom modifications on top of it, as we usually have meaningful fixes and features there, e.g. the new reservation system. Otherwise you can try cherry picking the task state update [commit](https://github.com/open-rmf/rmf_ros2/commit/e4e82e1f00f7167a94d7dc625d4f34252caea6e8) to your existing codebase.

* * *

**This is the chosen answer.**
