A motion control system that can position patients to within 0.5mm is being commissioned at the Rinecker Proton Therapy Centre in Munich. Its eight-axis control system has been designed by IPG of Switzerland, based on motion control components from Baldor . Baldor's Mint-language motion commands have been ported to run under Linux for the project.
The proton beam machine consists of a large steel cylinder weighing 100t, housing a gantry with very large magnets that guide the accelerated proton beam. The patient is driven into the cylinder and positioned in the path of the beam to within a 0.5mm by means of a table with control of X, Y, Z, rotation, pitch and roll axes based on closed-loop servo motors. The table itself weighs 4.5t, to provide the stiffness required for accurate and repeatable positioning of the long load.
At the heart of the control system is a PC fitted with Baldor's PCIbus-based multi-axis motion controller, NextMove-PCI. Control is provided by a Linux-based application written in C. This issues motion commands to NextMove-PCI using Baldor's library of C-compatible Mint functions.
IPG wanted to use Linux for the project in order to obtain open access to the source code for maintainability and a long lifetime. In order to do this a new Linux driver for Baldor's Mint-compatible C library had to be written. Baldor commissioned IPG to do this and provided training and technical support to aid the project.
The result gave IPG a flexible motion software environment with a library of high-level commands providing sophisticated movement functions. Among the Mint features that IPG employs in the control system are the blend, contouring and S-ramp commands. These allow moves to be overlapped with no jerky transitions.
Behind this smooth motion is a highly complex control program that converts polar coordinates into the Cartesian coordinates required for the three-dimensional patient positioning. The system also corrects for the non-linearities of the table and the slight flexing that occurs depending on the extension from its mountings. IPG simplified this problem by dividing movements down into sequences of smaller steps. IPG also uses Mint's feedrate override commands, a facility that allows users to set high and low velocity rates and then switch the entire motion system between them with a single command.
As the proton beam machine has the potential to do damage if a patient is positioned incorrectly, IPG designed safeguards into the motion system. Each axis has at least two absolute position sensors, one of which is connected to a security monitoring application program running on a separate PC. The movement commands issued by the control system are monitored by the security PC. At the end of a movement the two must agree that the system is in the right place before the proton beam can be switched on.
The motion subsystem consists of a NextMove-PCI bus card plugged into the PC, connected to six Baldor FlexDrives and BSM servo motors. Two further axes on the card are also used by IPG to control the linear extension of the proton beam nozzle as it is set up for a treatment session, and a heavy-duty industrial motor that adjusts the magnet gantry.