def set_arm_action()

in src/rosbridge/fetch_proxy.py [0:0]


    def set_arm_action(self, action):
        arm_joints = [
            ('shoulder_pan_joint', 1.57, 33.82),
            ('shoulder_lift_joint', 1.57, 131.76),
            ('upperarm_roll_joint', 1.57, 76.94),
            ('elbow_flex_joint', 1.57, 66.18),
            ('forearm_roll_joint', 1.57, 29.35),
            ('wrist_flex_joint', 2.26, 25.70),
            ('wrist_roll_joint', 2.26, 7.36),
        ]
        arm_efforts = [min(1.0, max(-1.0, action[self.joint_name_map.get(name)])) * torque_scale * 0.75 for name, vel_scale, torque_scale in arm_joints]
        arm_joint_names = [name for name, vel_scale, torque_scale in arm_joints]
        if 1:
            arm_joint_names.append('gravity_compensation')
            arm_efforts.append(1.0)
        arm_msg = JointTrajectory(joint_names=arm_joint_names, points=[JointTrajectoryPoint(effort = arm_efforts)])
        self.arm_effort_pub.publish(arm_msg)

        with self.timeseq_mutex:
            if self.timeseq:
                state = dict([(jn, {
                    '__type': 'WeightlessTorqueAction',
                    'action': action[self.joint_name_map.get(jn)],
                    'effort': arm_efforts[i],
                    }) for i, jn in enumerate(arm_joint_names)])
                state['__type'] = 'FetchArmWeightlessTorqueAction'
                self.timeseq.add(time.time(), 'arm_action', state)