You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the robot is not in active write state which call writeKeepalive in write function, the read function will not update the robot to current robot joint state.
Versions
ROS Driver version: 2.1.2
Affected Robot Software Version(s): 5.13
Affected Robot Hardware Version(s): ur3e
URCaps Software version(s): 1.0.5
Impact
Blocker to integrate with new URCL freedrive function
Issue details
I've been testing to integrate with UniversalRobots/Universal_Robots_Client_Library#138 to switch to freedrive mode using the built in functionality. It works by adding a in_freedrive_ flag which calls ur_driver_->writeKeepalive() instead of writing cmds in the drivers write function.
However, during freedrive, it does not update to current joint angles in the read function which causes the robot to suddenly swing back to the joint state before freedrive enabled.
I've tried to manually call a read before switching back from freedrive but it results the same.
read function will return current joint state and when we reenable write using position_controller joint_position_command_ will reflect current joint state.
Work Around
Set controller_reset_necessary_ = true to update.
The text was updated successfully, but these errors were encountered:
shuobh
changed the title
Failed to get update current joints in read function
Failed to get update current joints in read function when disabling controller and use writeKeepalive
Apr 7, 2023
shuobh
changed the title
Failed to get update current joints in read function when disabling controller and use writeKeepalive
Failed to update current joints in read function when disabling controller and use writeKeepalive
Apr 7, 2023
Summary
When the robot is not in active
write
state which call writeKeepalive inwrite
function, theread
function will not update the robot to current robot joint state.Versions
Impact
Blocker to integrate with new URCL freedrive function
Issue details
I've been testing to integrate with UniversalRobots/Universal_Robots_Client_Library#138 to switch to freedrive mode using the built in functionality. It works by adding a
in_freedrive_
flag which callsur_driver_->writeKeepalive()
instead of writing cmds in the driverswrite
function.However, during freedrive, it does not update to current joint angles in the
read
function which causes the robot to suddenly swing back to the joint state before freedrive enabled.I've tried to manually call a
read
before switching back from freedrive but it results the same.Use Case and Setup
Integrating with UniversalRobots/Universal_Robots_Client_Library#138 freedrive (with modifications on URCL and This driver).
Expected Behavior
read
function will return current joint state and when we reenablewrite
usingposition_controller joint_position_command_
will reflect current joint state.Work Around
Set
controller_reset_necessary_ = true
to update.The text was updated successfully, but these errors were encountered: