# How can I articulate spherical joint / D6 joint?

Hi, I’m trying to control spherical or D6 joint on the standalone application.

My robot is composed of revolute, spherical and D6 joint. But using below command, only the revolute joint works.

``````ac = my_robot.get_articulation_controller()
ac.apply_action(ArticulationAction(joint_positions=np.pi/180*np.array(hand.joint), # [0 for i in range(24)]
joint_efforts=None,
joint_velocities=None,
joint_indices=[1, 0, 2, 15, 20, 4, 5, 16, 21, 7, 8, 17, 22, 13, 14, 19, 24, 10, 11, 18, 23]))
``````

How can I move spherical and D6 joint on the code?

``````print("Num of degrees of freedom after first reset: " + str(hand_robot.num_dof))
> Num of degrees of freedom after first reset: 25

print("Joint Positions after first reset: " + str(hand_robot.get_joint_positions()))
> Joint Positions after first reset: [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0.]

print("joint sequence : " + str(hand_robot.dof_names))
> joint sequence : ['SphericalJoint_thumb_cmc:0', 'SphericalJoint_thumb_cmc:1', 'SphericalJoint_thumb_cmc:2', 'SphericalJoint_index_mcp:0', 'SphericalJoint_index_mcp:1', 'SphericalJoint_index_mcp:2', 'SphericalJoint_middle_mcp:0', 'SphericalJoint_middle_mcp:1', 'SphericalJoint_middle_mcp:2', 'SphericalJoint_pinky_mcp:0', 'SphericalJoint_pinky_mcp:1', 'SphericalJoint_pinky_mcp:2', 'SphericalJoint_ring_mcp:0', 'SphericalJoint_ring_mcp:1', 'SphericalJoint_ring_mcp:2', 'RevoluteJoint_thumb_mcp', 'RevoluteJoint_index_pip', 'RevoluteJoint_middle_pip', 'RevoluteJoint_pinky_pip', 'RevoluteJoint_ring_pip', 'RevoluteJoint_thumb_ip', 'RevoluteJoint_index_dip', 'RevoluteJoint_middle_dip', 'RevoluteJoint_pinky_dip', 'RevoluteJoint_ring_dip']
``````

One thing I think weird is, there are also D6 joints on my roobt, but when I enter `hand_robot.dof_names`, D6 joints are not indicated.

thanks!

1 Like

Thanks for the Feedback. We’ve assigned an internal Bug report to track this.