Setting Up Husky’s Network

Husky is normally equipped with a combination Wifi + Bluetooth module, such as the Intel Centrino Advanced-N 6235. If this is your first unboxing, ensure that Husky’s wireless antennas are firmly screwed on to the chassis.

Some Husky robots may only be equipped with a single antenna, depending on the exact model of PC installed in the robot.

First Connection

In order to set Husky up to connect to your own wireless network, you will first need to access the Husky’s computer from you computer over ssh:

  1. Configure your computer to have a static IP address on the 192.168.131.x subnet, e.g. 192.168.131.100.

  2. Connect an ethernet cable between Husky’s computer and your computer.

  3. ssh into Husky’s computer from your computer. In terminal, run:

ssh administrator@192.168.131.1

The default password is clearpath. You should now be logged into Husky as the administrator user.

Changing the Default Password

Note

All Clearpath robots ship from the factory with their login password set to clearpath. Upon receipt of your robot we recommend changing the password.

To change the password to log into your robot, you can use the passwd command. In terminal, run:

passwd

This will prompt you to enter the current password, followed by the new password twice. While typing the passwords in the passwd prompt there will be no visual feedback (e.g. “*” characters).

To further restrict access to your robot you can reconfigure the robot’s ssh service to disallow logging in with a password and require ssh certificates to log in. This tutorial covers how to configure ssh to disable password-based login.

Connecting to Wifi Access Point

Husky uses netplan for configuring its wired and wireless interfaces. After accessing Husky’s computer from your computer, you can configure netplan so that Husky can connect to your own wireless network:

  1. Create the file /etc/netplan/60-wireless.yaml.

  2. Populate the file /etc/netplan/60-wireless.yaml with the following:

network:
  wifis:
    # Replace WIRELESS_INTERFACE with the name of the wireless network device, e.g. wlan0 or wlp3s0
    # Fill in the SSID and PASSWORD fields as appropriate.  The password may be included as plain-text
    # or as a password hash.  To generate the hashed password, run
    #   echo -n 'WIFI_PASSWORD' | iconv -t UTF-16LE | openssl md4 -binary | xxd -p
    # If you have multiple wireless cards you may include a block for each device.
    # For more options, see https://netplan.io/reference/
    WIRELESS_INTERFACE:
      optional: true
      access-points:
        SSID_GOES_HERE:
          password: PASSWORD_GOES_HERE
      dhcp4: true
      dhcp4-overrides:
        send-hostname: true
  1. Save the file /etc/netplan/60-wireless.yaml. You will then need to apply your new netplan configuration and bring up your wireless connection. In terminal, run:

sudo netplan apply
  1. Verify that Husky successfully connected to your wireless network. In terminal, run:

ip a

This will show all active connections and their IP addresses, including the connection to your wireless network, and the IP address assigned to Husky’s computer.

Remote ROS2 Connection

It is useful to connect your computer to the same ROS2 network as the Husky, particularly if you want to interface with the Husky through ROS2 topics, services, and actions:

  1. Ensure that your computer has ROS2 Foxy installed.

  2. Connect Husky’s computer and your computer to the same (wired or wireless) network.

  3. Verify that Husky’s computer can ping your computer. In terminal on Husky’s computer, run:

ping <YOUR_COMPUTER_IP>
  1. Verify that your computer can ping Husky’s computer. In terminal on your computer, run:

ping <HUSKY_COMPUTER_IP>
  1. You should be able to now be able to access Husky’s ROS2 data from your computer, such as viewing Husky’s ROS2 topics. In terminal on your computer, run:

source /opt/ros/foxy/setup.bash
ros2 topic list
  1. If you are unable to access Husky’s ROS2 data from your computer, make sure to set the ROS_DOMAIN_ID environment variable on your computer to the same value as on Husky’s computer. By default, ROS_DOMAIN_ID is set to 0 (in ROS2 and on Husky), so you will not need to do this step. However, if ROS_DOMAIN_ID is set to a different value on Husky, make sure to do the same on your computer. In terminal on your computer, run:

export ROS_DOMAIN_ID=<HUSKY_ROS_DOMAIN_ID>
source /opt/ros/foxy/setup.bash

You should now be able to access Husky’s ROS2 data (e.g. topics, services, and actions) from your computer.