Computer-assisted Surgery

Algorithms for the precise localization of moving objects


Computer-Assisted Surgery (CAS)



Project goal

With computer-assisted surgery, the surgeon receives constant information about where exactly the surgical instruments are, even if he cannot see them directly. An important part of such systems is the actual localization of the instruments. For precise position determination, known points (so-called markers) on the instruments are measured by means of a camera system. In addition, inertial measurements of the object, such as accelerations and angular velocities, are given.


The aim of this project was to develop an algorithm which very precisely determines the position of the surgical instruments (consisting of position and angle) for such a measuring system. The most precise possible position estimation should be achieved, particularly during dynamic movements. In order to guarantee the reliability, it is necessary to recognize and compensate for noise and interference. Furthermore, the algorithm should be optimized so that it could be implemented on a microcontroller and meet the very high real-time requirements in such safety-critical applications.


From the point of view of data processing, the greatest challenge here is that the individual points on the object are measured one after the other. As a result, the orientation of the object in space is not clear for every measurement. Furthermore, the object moves during the measurement and thus the measurements of all points correspond to different positions. The algorithm to be developed should, however, very precisely determine the current position of the surgical instruments for each measured value and ensure that outliers are compensated.

Development approach

The overall project was implemented in five sub-projects.

Analysis of the problem and the measurement data and establishment of the mathematical model.

Modeling the dynamic movement of the object for translation and rotation.

Development of a state estimator for the calculation of the current situation.

Implementation of the algorithm development in a rapid prototyping language.

Implementation of software development in C ++.

Result and benefit

Calculation of the current pose in real time.

Detection and compensation of outliers in the measurements.

Increased robustness against partial obscuration of the object.

Reduction of susceptibility to failure.

Increase in the accuracy of the customer product.

In addition, a source of interference in the hardware could be identified and eliminated, which had led to inaccuracies.

Would you like to learn more?