Understanding JointHandle

asked 2021-03-07 05:49:04 -0600

xman236 gravatar image

updated 2021-03-11 04:09:33 -0600

Hi all,

currently, I am trying to write a hardware_interface.cpp for my robot, more specifically, the write() part. According to this tutorial link, the below JointHandle writes the desired command into the cmd variable, which is the output of my "position_controllers/JointTrajectoryController".

hardware_interface::JointHandle pos_handle_jnt1(jnt_state_interface.getHandle("my_jnt1"), &cmd[1]);

My question is if the cmd value is the result of my JointTrajectoryController. Then, it should correspond to the control points of my arm_controller/follow_joint_trajectory/goal, however as you can see from the below outputs, it seems like the cmd[1] value only considers the last value -0.3561511482429065. Is my assumption correct? If yes, how could I change the cmd values so that they sequentially follow the control points?

cmd[1] output:

data: 0.0
---
data: 0.0
---
data: -3.98925667212e-15
---
data: -0.0247069448233
---
data: -0.0914327800274
---
data: -0.204322084785
---
data: -0.299599915743
---
data: -0.347527623177
---
data: -0.356151133776
---
data: -0.356151133776

arm_controller/follow_joint_trajectory/goal output:

goal:    trajectory: 
    header: 
      seq: 0
      stamp: 
        secs: 0
        nsecs:         0
      frame_id: "world"
    joint_names: 
      - my_jnt0
      - my_jnt1
      - my_jnt2
      - my_jnt3
      - my_jnt4
    points: 
      - 
        positions: [0.0, 0.0, 0.0, 0.0, 0.0]
        velocities: [0.0, 0.0, 0.0, 0.0, 0.0]
        accelerations: [0.0, 0.0, 0.0, 0.0, 0.0]
        effort: []
        time_from_start: 
          secs: 0
          nsecs:         0
      - 
        positions: [0.0, -0.05878427698533184, 0.052137219402668085, 0.01525140182758336, -0.008604344244919617]
        velocities: [0.0, -0.25354584381866674, 0.21981604582029537, 0.0684385954630451, -0.03470879746467376]
        accelerations: [0.0, -0.7591462700998434, 0.6374586363274559, 0.2157806286696093, -0.09409299489722199]
        effort: []
        time_from_start: 
          secs: 0
          nsecs: 401565155
      - 
        positions: [0.0, -0.11760003078838882, 0.10265220884352354, 0.03137742873451792, -0.01642960678965265]
        velocities: [0.0, -0.4111519142259137, 0.34665203354962104, 0.11616224268468915, -0.05166236200839654]
        accelerations: [0.0, -0.6937200222775882, 0.5067983550049543, 0.23741297594133587, -0.05049130866870113]
        effort: []
        time_from_start: 
          secs: 0
          nsecs: 564623473
      - 
        positions: [0.0, -0.17660465200207817, 0.1516744862678577, 0.04843293156577636, -0.023502765831555902]
        velocities: [0.0, -0.46552335392135913, 0.38017464952978736, 0.1381194904499298, -0.052770786058357985]
        accelerations: [0.0, -0.06172943703754964, -0.05243103983785829, 0.07382859050259587, 0.04033188637281179]
        effort: []
        time_from_start: 
          secs: 0
          nsecs: 692449766
      - 
        positions: [0.0, -0.23594297332022304, 0.19930756371414443, 0.06648442181566575, -0.029849012209587134]
        velocities: [0.0, -0.41515666971470355, 0.3281799281944251, 0.12910905650802884, -0.04213231498775033]
        accelerations: [0.0, 0.7433632579075067, -0.6663072406196392, -0.18762405610758165, 0.11056803881971504]
        effort: []
        time_from_start: 
          secs: 0
          nsecs: 818850323
      - 
        positions: [0.0, -0.29574983988306314, 0.24563234375109627, 0.08561085006591221, -0.035493353933945315]
        velocities: [0.0, -0.2548766998411054, 0.19531459272193535, 0.08271469381554367, -0.0231525866963735]
        accelerations: [0.0, 0.7419441302240752, -0.5894321277847724, -0.22884581633389578, 0.07633381389459255]
        effort: []
        time_from_start: 
          secs: 0
          nsecs: 984581526
      - 
        positions: [0.0, -0.3561511482429065, 0.2907088114687755, 0.10590452327134249, -0.04046218649721141]
        velocities: [0.0, 0.0, 0.0, 0.0, 0.0]
        accelerations: [0.0, 0.7339993202908858, -0.5477711917890713, -0.24660959743206826, 0.06038146893025332]
        effort: []
        time_from_start: 
          secs: 1
          nsecs: 390267826   path_tolerance: []   goal_tolerance: []   goal_time_tolerance: 
    secs: 0
    nsecs:         0
edit retag flag offensive close merge delete