I am able to move a 2 arm ABB YuMi robot arm (7 joints and a gripper per arm) using the following function as intended (http://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/JointState.html)
def go_joint(self, position, arm, reuse_controller=False):
if not reuse_controller:
self.request_controller(arm)
state = JointState()
state.header = Header()
state.header.stamp = rospy.Time.now()
if arm == LEFT:
state.name = ['yumi_robl_joint_1','yumi_robl_joint_2','yumi_robl_joint_3','yumi_robl_joint_4','yumi_robl_joint_5','yumi_robl_joint_6','yumi_robl_joint_7','gripper_l_joint']
else:
state.name = ['yumi_robr_joint_1','yumi_robr_joint_2','yumi_robr_joint_3','yumi_robr_joint_4','yumi_robr_joint_5','yumi_robr_joint_6','yumi_robr_joint_7','gripper_r_joint']
state.position = position
state.velocity = [10]*8
state.effort = []
self.cur_arm.go(state, wait=True)
print(state)
However, despite the fact that the velocity is being registered (here is an print of the state)
header:
seq: 0
stamp:
secs: 1672929166
nsecs: 529814243
frame_id: ''
name:
- yumi_robl_joint_1
- yumi_robl_joint_2
- yumi_robl_joint_3
- yumi_robl_joint_4
- yumi_robl_joint_5
- yumi_robl_joint_6
- yumi_robl_joint_7
- gripper_l_joint
position: [0.25920000672340393, -1.1437000036239624, 1.0319000482559204, 0.2806999981403351, -0.002400000113993883, 0.9562000036239624, -0.2125999927520752, 0.0]
velocity: [10, 10, 10, 10, 10, 10, 10, 10]
effort: []
The speed of the movement is not changing. Any idea why this is happening ?
Originally posted by ramyun on ROS Answers with karma: 3 on 2023-01-05
Post score: 0