Version 3 (modified by bz, 16 months ago) (diff)


Ubuntu 20.04, low-latency, non-realtime

Start by installing Ubuntu 20.04.

Install Peak CAN card hardware:


NOTE: These cards are supported by the SocketCAN driver built into Linux, however we have found that the SocketCAN txbuffer can occasionally fail to send CAN frames without reporting an error, and this causes the WAM to E-Stop itself. This can happen a few seconds, a few minutes, or even a few hours after starting a WAM application. Fortunately, Peak offers an alternative driver (pcan) which is still socket-based but avoids this SocketCAN bug.

Then install git:

sudo apt install git

Download the libbarrett source code:

cd && git clone -b feature/ubuntu2004

Install the libbarrett software dependencies and scripts. This will replace the standard kernel with one compiled for low interrupt latency. This script also installs the Peak pcan driver and blacklists the SocketCAN driver:

cd ~/libbarrett/scripts && ./
sudo reboot

Compile libbarrett:

cd ~/libbarrett && cmake .
make -j$(nproc)

Install libbarrett:

sudo make install

Build the libbarrett example programs:

cd ~/libbarrett/examples && cmake .
make -j$(nproc)

Get the WAM ready:

  • Connect the WAM's CAN cable to the first port of your CAN device.
  • Turn on the WAM.
  • Ensure both E-Stop buttons are released by turning them a quarter-turn clockwise.

Then run an example program:


Press Shift+Idle on the WAM's Control Pendant to exit this application.

Installing ROS

If your application is based on ROS, you can continue by installing ROS Noetic.

Then install our barrett-ros-pkg.