Install and Configure Husky Software

Note

If you are upgrading your Husky from an older version of ROS, please refer to our upgrade instructions here.

Installing Husky Software

Clearpath provides a lightly customized installation image of Ubuntu 20.04 “Focal” which automatically pulls in all necessary dependencies for Husky software.

  1. Download the appropriate Noetic Husky ISO image for your platform (32 bit - i386, 64 bit - amd64).

  2. Copy the image to a USB drive using unetbootin, rufus, balena etcher, or a similar program. For example:

sudo unetbootin isofile="clearpath-universal-noetic-amd64-0.4.17.iso"
  1. Connect your robot PC to wired internet access, a keyboard, and a monitor. Make sure that the PC is connected to shore power, or the Husky battery is either fully charged.

Warning

The next step wipe your robot’s hard drive, so make sure you have that image backed up on another system!

  1. Boot your robot PC from the USB drive, and let installer work its magic. If asked for a partitioning method choose Guided - use entire disk and set up LVM.

  2. The setup process will be automated, and may take a long time depending on the speed of your internet connection.

  3. Once the setup process is complete, the PC will turn off. Please unplug the USB drive and turn the PC back on.

  4. On first boot, the username will be administrator and the password will be clearpath. You may use passwd utility to change administrator account password.

  5. To setup a factory-standard Husky robot, ensure all your peripherals are plugged in, and run the following command:

rosrun husky_bringup install

The install script will configure a ros upstart service, that will bring up the base Husky launchfiles on boot. The script will also detect any standard peripherals (IMU, GPS, etc.) you have installed, and add them the service.

Testing base configuration

  1. To test your configuration, start the background service with the following command:

sudo systemctl start ros
  1. The COMM light on your Husky should go from red to green. You can check that the service has started correctly by checking the logs:

sudo journalctl -u ros
  1. Your husky should now be accepting commands from your joystick. The service will automatically start each time you boot your Husky’s PC.

Calibrating the Magnetometer

Warning

The Husky will rotate autonomously during calibration. Make sure all external cables are unplugged, and the Husky has unobstructed room to move in a 1 metre radius.

If your Husky has a UM6 IMU installed, you must calibrate the magnetometer for magnetic deviation before it will be used for pose estimation.

  1. Make sure the ros service is running.

  2. Execute the calibration script on the Husky computer remotely via ssh:

rosrun husky_bringup calibrate_compass

3. Follow the onscreen instructions.To drive Husky using the included game controller, you must hold down either the left or right shoulder buttons (L1 or R2 on a PS4 controller, LB or RB on the Logitech F710). Holding the left button will enable normal operation while holding the right button will enable turbo speed.

Warning

When familiarizing yourself with Husky operation, always hold the left button (L1). Once you are comfortable with how Husky operates, and you are in a large area with plenty of open room, then you can use the right button (R1) to enable turbo mode.

With either shoulder button held down, and the controller turned on and properly paired, you can use the left joystick on the controller to drive the robot. The vertical axis controls the robot’s forward/backward speed and the horizontal axis controls the robot’s rotation.

Controller Pairing

PS4 Controller

If your PS4 controller runs out of batteries, or you purchase a new one, you might want to re-pair your platform and controller. To do this, put the controller into pairing mode by pressing and holding the Share & PS buttons until the controller’s LED flashes rapidly in white. Then SSH into the robot and run

sudo ds4drv-pair

If ds4drv-pair fails to detect the controller, you can connect it manually by running sudo bluetoothctl and entering the following commands into the bluetooth control application:

agent on
scan on

The bluetooth scan will display the MAC addresses of nearby devices. Determine with MAC address corresponds to the controller and copy it. Then run the following commands in bluetoothctl:

scan off
pair <MAC Address>
trust <MAC Address>
connect <MAC Address>

The controller should now be correctly paired.

Logitech F710 Controller

Some Husky robots ship with a Logitech F710 controller instead of a PS4 controller. Pairing these controllers is very easy: simply plug the USB dongle into one of robot’s USB ports and turn the controller on.

By default Husky will use the PS4 controller for teleoperation and ignore the F710. To enable the F710 to control the robot, run sudo nano /etc/ros/setup.bash and add the following line to the middle of the file, under the six # characters:

######
export HUSKY_LOGITECH=1

Save the file and quit nano. Then restart ROS by running sudo systemctl restart ros or rebooting the robot. When ROS restarts it will now use the Logitech controller as its teleoperation input device.