def plan_joints_collision_free(self, joint_state, starting_state=None, ordered_collisions=None, timeout=15.0,
                                   bounds=None, planner_id='', ntries=3):
        '''
        **Deprecated.**  

        Use plan_collision_free.
        '''
        starting_state = self.get_closest_state_in_limits(robot_state=starting_state)
        goal = conv.joint_state_to_motion_plan_request(joint_state, self.hand.hand_frame, self.arm_name,
                                                       starting_state, timeout=timeout,
                                                       bounds=bounds, planner_id=planner_id)
        goal_state = tt.set_joint_state_in_robot_state(joint_state, copy.deepcopy(starting_state))
        rospy.loginfo('Position of wrist is\n'+str(self._transformer.get_transform
                                                   ('l_wrist_roll_link', self._psi.robot_frame, goal_state)))
        rospy.loginfo('Position of fingertip is\n'+str(self._transformer.get_transform('l_gripper_r_finger_tip_link',
                                                                                       self._psi.robot_frame,
                                                                                       goal_state)))
        rospy.loginfo('Collision objects are\n')
        cos = self._psi.collision_objects()
        for co in cos: 
            if 'table' not in co.id:
                rospy.loginfo(str(co))
        rospy.loginfo('Attached collision objects are\n')
        aos = self._psi.attached_collision_objects()
        for ao in aos:
            rospy.loginfo(ao)

        return self.plan_collision_free(goal, ordered_collisions=ordered_collisions, ntries=ntries)