Version 21 (modified by bz, 10 years ago) (diff)

--

Building a Control PC for Barrett products

Building a PC capable of realtime control is difficult. Success depends largely on how the motherboard manufacturer routed the four IRQ lines (A, B, C, D) as well as the degree of Linux device driver support for the specific chips on your motherboard. At least one PCI slot must be addressable by an IRQ that does not conflict with any other important on-board peripherals for the realtime CAN communication to function. Motherboard manufacturers do not publish this type of information. Historically, we have purchased 3-4 motherboards from various manufacturers in order to find one model that can support realtime CAN communication.

Also, while realtime kernel patches (Adeos/Xenomai) are becoming easier to install, there is still a high likelihood of needing to debug arcane Linux kernel hardware incompatibilities in order to make the system stable for realtime control. This requires either a lot of skill in Linux kernel development, a lot of tenacity and time to poke around trying to fix problems, or a lot of luck.

Barrett sells a pre-configured WAM PC for about $3000. We have built 10 generations of WAM PCs over the past 8 years. It takes us an average of 100 hours to get a new set of hardware/software operational (we have rarely been lucky). While we kindly provide the fruits of our labor to you at no cost (see below), this does not guarantee that the process will be easy if you decide to build your own computer.

Update: If realtime performance is not critical to your application - if you can accept occasional motion stuttering and reduced safety - then you can try compiling our libbarrett control library to run in non-realtime mode on any Linux PC (including laptops). This feature is at a "beta" stage of development. We have performed very little non-realtime testing at this time. If you would like to be a beta tester, please contact us for more information.

General Configuration

You should choose an operating system based on the type of PC hardware you have. The Shuttle PC and the Travla C137 PC shipped with either a Janz or esd CAN card. Newer WAMs with embedded PCs ship with a Peak CAN card. If you are ambitious, you can use your own PC and CAN card.

  • Install Kernel 2.6.31.4 + Xenomai 2.5.2 (Ubuntu 9.10, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 9.10 Karmic Koala CF- Includes from-scratch and simple instructions, primarily for CompactFlash installation
  • Install Kernel 2.6.31.4 + Xenomai 2.5.5.2 (Ubuntu 9.10, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 9.10 Karmic Koala PC- Simple instructions, primarily for PC hard drive installation
  • Install Kernel 2.6.32 + Xenomai 2.5.5.2 (Ubuntu 10.04, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 10.04 32-bit Lucid Lynx PC - Simple instructions for 32-bit PC hard drive installation
  • Install Kernel 2.6.32 + Xenomai 2.5.5.2 (Ubuntu 10.04, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 10.04 64-bit Lucid Lynx PC - Simple instructions for 64-bit PC hard drive installation
  • Install Kernel 3.2.21 + Xenomai 2.6.1 (Ubuntu 12.04, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 12.04 32-bit Precise Pangolin PC - Simple instructions for 32-bit PC hard drive installation - Supported only on Barrett Technology supplied external PCs
  • Install Kernel 3.2.21 + Xenomai 2.6.1 (Ubuntu 12.04, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 12.04 64-bit Precise Pangolin PC - Simple instructions for 64-bit PC hard drive installation - Supported only on Barrett Technology supplied external PCs
  • Install Kernel 3.2.21 + Xenomai 2.6.1 (Ubuntu 12.04, Peak PCI CAN card, Xenomai SocketCAN driver) - Ubuntu 12.04 32-bit Precise Pangolin CF - Includes from-scratch and simple instructions, primarily for CompactFlash installation