<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _goto(self, pose, duration, wait, accurate):
 """ Goes to a given cartesian pose. :param matrix pose: homogeneous matrix representing the target position :param float duration: move duration :param bool wait: whether to wait for the end of the move :param bool accurate: trade-off between accurate solution and computation time. By default, use the not so accurate but fast version. """


        kwargs = {}
        if not accurate:
            kwargs['max_iter'] = 3

        q0 = self.convert_to_ik_angles(self.joints_position)
        q = self.inverse_kinematics(pose, initial_position=q0, **kwargs)

        joints = self.convert_from_ik_angles(q)

        last = self.motors[-1]
        for m, pos in list(zip(self.motors, joints)):
            m.goto_position(pos, duration,
                            wait=False if m != last else wait)