I want to have F/T sensor at my end effector and publish it via ros2. I’ve checked the available force sensors in the doc, such as contact sensor, but this one just provides nominal force values. The Articulation sensor seems to have a function to retrieve force/torque from the fixed joint like the end effector, but I’m not sure how can I publish that in ros2 msg, unless I create custom omnigraph for that.
I tried to check this tutorial ROS 2 Python Custom OmniGraph Node, but the content appears to be broken.
The robot I’m currently using is my custom robot model, and other information like joint_state
is published by implementing Omnigraph via the UI. In this case, only revolute joints state are accessible. So, in the case of end-effector, I would appreciate if someone has ideas how I can solve this.
I’m using Isaac Sim 4.2.0 and ros2 humble
Hi @TharitSinsunthorn!
I tried to check this tutorial ROS 2 Python Custom OmniGraph Node, but the content appears to be broken.
Could you please explain what you mean by the content is broken? Does the page not loading for you or you followed the tutorial but the node you created doesn’t work?
The Articulation sensor seems to have a function to retrieve force/torque from the fixed joint like the end effector
I think you are on the right track. Have you also tried using script editor and only retrieve force/torque data using articulation API?
Thank you for your reply! There is the warning mentioning that “The content of this tutorial is currently broken” due to the removal of the Node Description Editor dependency in Omniverse Kit. An alternative solution will be proposed in future releases. And I also cannot find the Node Description.
Have you also tried using script editor and only retrieve force/torque data using articulation API?
Yes! I’ve tried using the API and it looks fine, I can get force information. However, I would like to try in a simple way like making omnigraph with UI. I’ve tried to use Articulation State node, but it cannot retrieve the force from the fixed joint.
If I apply everything via API, I think it’s possible to get the F/T sensors at the fixed joint of the end effector and published via ros2, but I want to know if there is a way in the UI workflow.
Let me reach out to our internal team to see if there is any UI workflow
Hi @TharitSinsunthorn Please check out this tutorial ROS2 Joint Control: Extension Python Scripting — Isaac Sim Documentation
The action graph node the joint_state published ROS2 Publish Joint State should include force/torque information.
Thank you for your feedback @zhengwang. Could you please confirm my understanding: as I tried to follow the attached documentation, it provides the joint effort for the revolute joints, right? But the force/torque information acting like an F/T sensor at the end-effector of the robot (which is a fixed joint) is not published. Or am I missing something?
@TharitSinsunthorn sorry my bad, the ROS2 Publish Joint State doesn’t provide info for fixed joint.
Maybe you can try isaacsim.core.api articulation class’s get_measured_joint_forces function. This API internally uses get_link_incoming_joint_force.
1 Like
@zhengwang Thank you for your guidance! I’ll try to integrate that to my simulation.