Provides quick access and useful resources for Clearpath Husky.

Quick Access

Before Installing

Install ROS Melodic.

Check if you have a on-board MINI-ITX computer.

Quick Start

  • If you want to control Husky through the on-board computer, follow this YouTube guide.
  • If you want to control Husky directly by a Jetson board / PC (i.e. without using the on-board computer), follow the steps here.

The following step is required if the on-board computer is not used.

mkdir -p ~/husky_ws/src
cd ~/husky_ws/src

cd ~/husky_ws
# The original script below will mess up the network configuration, so we use a modified version instead.
wget -c
# Select the corresponding options, and reboot when finished
rostopic echo /status # to confirm the installation (may encounter issue on Jetson, mentioned in the troubleshooting section)

sudo apt install -y "ros-melodic-husky*"
sudo apt install -y ros-melodic-joy
sudo apt install -y ros-melodic-teleop-twist-joy
sudo apt install -y ros-melodic-teleop-twist-joystick-drivers
sudo apt install -y ros-melodic-teleop-twist-keyboard

cd ~/husky_ws/
source ./devel/setup.bash
# (1) Control with keyboard
rosrun teleop_twist_keyboard

# (2) Control with Husky Joystick
roslaunch husky_control teleop.launch
# Control with Joy Stick (Logitech, State X (not D), Mode light off. Hold L1/L2 and Left Thumb for Direction)

# (3.1) Control with Default Joystick
rosrun joy joy_node
# (3.2) Open another terminal
cd ~/husky_ws/
source ./devel/setup.bash
rosrun teleop_twist_joy teleop_node
# Control with Joy Stick (Logitech, State X (not D), Mode light off. Hold A and Left Thumb for Direction)

More package sources are provided in this repo.


  • ROS Service Error on Jetson
  • JoyStick Configuration
  • If suddenly does not work, you may need to reboot Husky and run systemctl restart ros.service.
  • May need to run systemctl restart ros.service when Husky has COMM error.
  • jstest and jstest-gtk for testing JoyStick.
  • See ROS Troubleshooting document.
  • If you accidentally messed up the network configuration by the default Husky script. Follow the following steps to fix it:

    The script changes /etc/network/interfaces to below:

    auto lo br0 br0:0
    iface lo inet loopback
    # Bridge together physical ports on machine, assign standard Clearpath Robot IP.
    iface br0 inet static
    bridge_ports regex (eth.*)|(en.*)
    bridge_maxwait 0
    # Also seek out DHCP IP on those ports, for the sake of easily getting online,
    # maintenance, ethernet radio support, etc.
    # For Raspberry Pi 4, you may need to disable allow-hotplug br0:0
    allow-hotplug br0:0
    iface br0:0 inet dhcp

    You can change it back by restoring the file.

    mv /etc/network/interfaces /etc/network/interfaces.bak
    ls /etc/network/interfaces
    cp /etc/network/interfaces.bkup.<YOUT_DATE> /etc/network/interfaces.bak

    Or simply edit /etc/network/interfaces to the following:

    # interfaces(5) file used by ifup(8) and ifdown(8)
    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

    and reboot.

    You may need to reinstall network manager to enable the desktop toolbar GUI: (Unverified)

    sudo apt install -y network-manager