Clearpath Husky
Provides quick access and useful resources for Clearpath Husky.
Quick Access
- Husky UGV on YouTube
- Husky UGV | Robot Setup & Configuration
- Husky UGV User Manual
- Husky Tutorial for ROS Kinetic
- Husky Tutorial for ROS Melodic
- Husky Tutorial for ROS Noetic
- Husky Examples on GitHub
- Husky ROS
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 runsystemctl restart ros.service
. - May need to run
systemctl restart ros.service
when Husky hasCOMM
error. jstest
andjstest-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