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.
  • Charge the battery. Match the charger’s red/black wires and plug it in either one of the red/black ports on the battery. (Both of the ports seem to connect to the same side of the battery, so plugging it into either one of the port will work.)

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.
# https://raw.githubusercontent.com/clearpathrobotics/ros_computer_setup/main/install.sh
wget -c https://raw.githubusercontent.com/j3soon/ros_computer_setup/main/install.sh
bash install.sh
# 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/
catkin_make
source ./devel/setup.bash
# (1) Control with keyboard
rosrun teleop_twist_keyboard teleop_twist_keyboard.py

# (2) Control with Husky Joystick
export HUSKY_LOGITECH=1
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.

Troubleshooting

  • ROS Service Error on Jetson
  • JoyStick Configuration
  • If teleop_twist_keyboard.py 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.*)
    address 192.168.131.1
    netmask 255.255.255.0
    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
    

Tags:

Updated:

Posted: