# Concurrent joint state reading during motion and motion planning via RobotStudio

**URL:** https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026
**Category:** compas\_rrc
**Created:** [April 30, 2025, 10:44am UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026 "2025-04-30T10:44:12Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![L2CH](https://avatars.discourse-cdn.com/v4/letter/l/f17d59/32.png) [@L2CH](https://forum.compas-framework.org/u/L2CH)
#### Post date: [April 30, 2025, 10:44am UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026/1 "2025-04-30T10:44:12Z")

</div>

Hi all,  
I’ve been working with `compas_rrc` and had two related questions:

1. Is it possible to achieve some form of concurrency or parallelism with `compas_rrc`?  
More specifically, I would like to record the trajectory my robot follows while it’s moving. However, whenever I try to use `getJoints()` during a motion, the request only seems to be processed after the motion has completed. This is problematic because if I’m commanding the robot to move to a specified frame or joint configuration, I already know the start and end states, what I really want is the path it takes in between.  
Is there any way to access joint states (or TCP poses) in real time during motion?
2. Collision-free planning in RobotStudio via `compas_rrc`  
For motion planning, I’ve been using MoveIt via `compas_fab` to build the collision scene and generate paths. However, I’ve noticed that the paths from MoveIt can sometimes be overly complex or inefficient. Is there any way to access or trigger RobotStudio’s built-in collision-free path planner directly through `compas_rrc`?  
Any guidance or ideas would be very much appreciated!

---

<div class="post-metadata">

### Author: ![gonzalocasas](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.compas-framework.org/gonzalocasas/32/127_2.png) [@gonzalocasas](https://forum.compas-framework.org/u/gonzalocasas)
#### Post date: [April 30, 2025, 12:24pm UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026/2 "2025-04-30T12:24:08Z")

</div>

Hi!

1. Yes, there’s a few options. a) use the webservice branch of compas\_rrc that adds a new “channel” to the robot controller, with it, you can retrieve info like current joints (and many more things) independently of the RAPID execution pointer. b) accessing the webservices directly might be an alternative if you don’t want to use non-released compas\_rrc versions from a branch, c) maybe @fleischp has other ideas, perhaps using the Execution Level?
2. Unfortunately, not that I know of.  
Cheers  
Gonzalo

---

<div class="post-metadata">

### Author: ![L2CH](https://avatars.discourse-cdn.com/v4/letter/l/f17d59/32.png) [@L2CH](https://forum.compas-framework.org/u/L2CH)
#### Post date: [April 30, 2025, 1:04pm UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026/3 "2025-04-30T13:04:34Z")

</div>

Thanks for the quick reply!  
I wasn’t aware of the web services interface, that’s really helpful to know. I’ll look into using it directly, since I assume the branch of `compas_rrc` might be subject to changes and the API may not be stable long term.

---

<div class="post-metadata">

### Author: ![fleischp](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.compas-framework.org/fleischp/32/312_2.png) [@fleischp](https://forum.compas-framework.org/u/fleischp)
#### Post date: [May 1, 2025, 12:21pm UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026/4 "2025-05-01T12:21:44Z")

</div>

Hi.

1. Yes, using the **Execution Level** _in combination_ could definitely be a viable option — but only together with a **custom instruction** and the **`send_and_subscribe`** method. However, this would need to be tested internally first. Could you explain your application in a bit more detail? That would help me better understand whether and how this could be implemented.
2. Currently, I don’t see a direct solution, but I’m in close contact with **ABB** , and as soon as I understand the situation better, we’ll consider whether and how this could be helpful for our users.

**In general, we aim to further develop the integration of RWS (Robot Web Services)** so that it is easily accessible to all our users. We’re doing our best to push this forward as quickly as possible — but we also need to prioritize in order to support our users effectively.

**Right now, our main focus is on user support and documentation (Priority 1)**. In parallel, we’re actively working on the new `compas_rrc_abb` repository, which we plan to release soon.

Best,  
Philippe

---

<div class="post-metadata">

### Author: ![L2CH](https://avatars.discourse-cdn.com/v4/letter/l/f17d59/32.png) [@L2CH](https://forum.compas-framework.org/u/L2CH)
#### Post date: [May 2, 2025, 8:43am UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026/5 "2025-05-02T08:43:33Z")

</div>

Hi,  
Thanks for the reply, I will also look into `send_and_subscribe` then.  
Regarding my application: I want the robot to operate in an environment where a human operator might be present. For safety, I need to monitor the robot’s position continuously during movement, which currently isn’t possible. With real-time position data and external cameras, I could detect when the end effector gets too close to the operator and trigger a stop and reset. In general, I think being able to also monitor the state of the other signals while a motion is being executed would be a very useful feature.

---

<div class="post-metadata">

### Author: ![gonzalocasas](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.compas-framework.org/gonzalocasas/32/127_2.png) [@gonzalocasas](https://forum.compas-framework.org/u/gonzalocasas)
#### Post date: [May 2, 2025, 9:34am UTC](https://forum.compas-framework.org/t/concurrent-joint-state-reading-during-motion-and-motion-planning-via-robotstudio/1026/6 "2025-05-02T09:34:37Z")

</div>

Hi,  
I have to bring up an important issue here: it is not really safe to ensure human safety at the application layer, this should be enforced at a lower level. For example, directly hooking up your proximity sensing to emergency interruptions at the controller level itself.

Cheers  
Gonzalo
