A system for teleoperation of a machine having at least one actuated mechanism and a predetermined number of degrees of freedom, said system comprising: a control station remotely located from a location of said machine, said machine controlled from said control station to perform a predetermined function; a two way real-time communication link between said machine and said remotely located control station; and a controller for said machine at said machine location, said controller having therein program code for operating said machine, characterized in that said program code includes an instruction which when executed transfers control of said machine from said controller to said control station, wherein this transfer of control occurs when a teleoperation instruction is reached in the program controlling the machine, the control being transferred back to the controller when the teleoperation instruction has been fully executed, wherein said program code in said controller is configured to use said two way real-time communication link to signal said control station when said instruction which transfers control of said machine from said controller to said control station is executed that said machine is ready to be operated by said control station, wherein said control station uses said two way real-time communication link to acknowledge to said machine location said signal from said controller that said machine is ready to be operated by said control station and then operates said machine from said control station, wherein said control station uses said two way real-time communication link to signal said machine location when said control station has finished operation of said machine, wherein said controller acknowledges receipt of said signal from said control station that said control station has finished operation of said machine and said controller resumes using said program code for operating said machine to operate said machine. a control station remotely located from a location of said machine, said machine controlled from said control station to perform a predetermined function; a two way real-time communication link between said machine and said remotely located control station; and a controller for said machine at said machine location, said controller having therein program code for operating said machine, characterized in that said program code includes an instruction which when executed transfers control of said machine from said controller to said control station, wherein this transfer of control occurs when a teleoperation instruction is reached in the program controlling the machine, the control being transferred back to the controller when the teleoperation instruction has been fully executed, wherein said program code in said controller is configured to use said two way real-time communication link to signal said control station when said instruction which transfers control of said machine from said controller to said control station is executed that said machine is ready to be operated by said control station, wherein said control station uses said two way real-time communication link to acknowledge to said machine location said signal from said controller that said machine is ready to be operated by said control station and then operates said machine from said control station, wherein said control station uses said two way real-time communication link to signal said machine location when said control station has finished operation of said machine, wherein said controller acknowledges receipt of said signal from said control station that said control station has finished operation of said machine and said controller resumes using said program code for operating said machine to operate said machine.