Skip to main content
Version: ROS 1 Noetic

Jetson Software

Software Installation

note

This page outlines the steps for installing the Jetson software for a Husky, Jackal, or Dingo. See also the instructions for installing the Jetson hardware.

Step 1: Put Jetson in Recovery Mode (TX2 and Xavier AGX only)

caution

This step is not required for Jetson Nano

Put the Jetson into recovery mode by following these steps:

  1. Connect the Jetson to the computer onto which SDK Manager will be installed (see next step) using the provided microUSB cable.
  2. Make sure the Jetson is powered off.
  3. Connect a monitor, mouse, and keyboard to the Jetson. (The mouse is optional, but recommended. If you do not have an all-in-one mouse+keyboard you will need to use a small USB hub, as the Jetson only has a single USB port.)
  4. Press and hold the REC button.
  5. Press the power button.

Step 2A: Download and Install Nvidia's SDK Manager (TX2 and Xavier AGX only)

caution

This step is not required for Jetson Nano

  1. Download the appropriate version of Nvidia's SDK Manager onto the computer connected to the Jetson.

    note

    SDK Manager is used for installing software on the Jetson from the host computer. If using Jetson TX2, only JetPack 4.x is supported and the host computer will need to have Ubuntu 16.04 or Ubuntu 18.04 installed. If using Jetson Xavier Nano/AGX, JetPack 5.x is supported and the host computer will need to have Ubuntu 18.04 or Ubuntu 20.04 installed.

  2. Install the SDK Manager by running the following commands:

    cd <folder where you downloaded SDK manager>
    sudo dpkg -i sdkmanager_<version>_amd64.deb
    note

    If your system is missing dependencies you may see error messages in the output of the dpkg command. To resolve these, run sudo apt-get -f install.

  3. Login the the SDK Manager using your Nvidia developer credentials.

    Nvidia developer login
  4. Specify the Hardware Configuration. You do not need to setup your Host Machine unless you are planning on doing Cuda work on your local computer. This can usually be disabled. Under the Target Hardware, make sure to choose TX2 or Xavier AGX to match your hardware. Once complete, click "Continue to Step 02".

    Selecting Target Hardware (TX2 shown)
  5. Accept the terms. Make sure the Download and Target directories are in locations that you have write-access to and that your hard drive has enough space for the files. Click "Continue to Step 03".

    Selecting Target Hardware
  6. Enter your sudo password and wait for the SDK manager will download the necessary files and install the image on the Jetson.

    Entering sudo password
    Download in progress

Step 2B: Install Image on SD Card (Nano only)

caution

This step is not required for Jetson Xavier AGX or TX2

  1. Download the latest version of the Nano SD Image.

  2. Download the latest version of Balena Etcher.

    Download in progress
  3. Use Etcher to flash the image onto your SD card.

  4. Install the SD card into the Nano and power up the Nano.

Step 3: Configure the Installation

  1. Make sure to plug a keyboard and monitor into the Jetson. On first boot, it will go through the usual Ubuntu setup steps. Accept the Licenses.

    Accepting licenses
  2. Choose your language.

    Choosing your language
  3. Choose your keyboard layout.

    Choosing your keyboard layout
  4. Set your location.

    Setting your location
  5. Specify a hostname, username, and password for the machine.

    note

    For compatibility with older versions of the Jetson software, set the username and password to nvidia. To standardize with other Clearpath Robotics products, set the username to administrator and the password to clearpath.

    Specifying your hostname, username, and password
  6. (Nano only): If prompted for a partition size, use the default size, which should fill the whole SD card. Make sure it matches the maximum possible size, unless you have other plans for that space.

    Specifying partition size (Nano only)
  7. Wait for the installation to install the remaining standard packages.

    Waiting for remaining packages
  8. Once the OS is setup, you will be brought to the desktop.

    Post-install desktop
  9. Open a terminal and run ifconfig or ip a to see the IP address it is using. You will need to connect it to network through wireless or ethernet.

    Finding the IP address

Step 4: Install Extra SDK Components (TX2 and Xavier AGX only)

caution

This step is not required for Jetson Nano

  1. Back in your host computer, it will be waiting to install the extra SDK components on your Jetson. Enter the username, password, and IP address you found above.

    Installing SDK components
  2. The install will connenct to the remote Jetson over the network. It will continue the install by transferring the files and install them.

    Waiting for SDK component installation
  3. You can check the terminal window to see the progress of individual commands. This process will take a while, so it can be nice to verify that the process isn't stalled.

    Installation terminal view
  4. Once the process is done, you can click FINISH to close the window.

    Installation complete

Step 5: Configure for Use with your Clearpath Robot

  1. Once the OS has been written to the Jetson, log into it and run the following commands to configure it for use with your Clearpath robot:

    wget -c https://raw.githubusercontent.com/clearpathrobotics/ros_computer_setup/main/install.sh && bash install.sh
    note

    If curl is not installed on your Jetson by default you can install it by running sudo apt-get install curl.

    ROS Computer Setup

    These commands will download and install ROS along with the necessary apt packages to get your robot up and running. Depending on your network speed it may take a long time for everything to install. Reboot the Jetson after these commands are done to complete the configuration.

  2. When the Jetson starts up again, it should be connected to the robot. To see that the robot is connected by opening a terminal and executing rostopic echo /status. You should see a 1 Hz message containing the robot's diagnostic information.

    Your Jetson should now be configured to operate as the robot's main computer.

Step 6: Pair a PS4 Controller with your Clearpath Robot (Optional)

note

This step is optional.

To pair a PS4 controller to your robot:

  1. Ensure your controller's battery is charged.

  2. SSH into the robot. The remaining instructions below assume you are already SSH'd into the robot.

  3. Make sure the ds4drv driver is installed, and the ds4drv daemon service is active and running:

    sudo systemctl status ds4drv
  4. If ds4drv is not installed, install it by running:

    sudo apt-get install python-ds4drv
  5. Put the controller into pairing mode by pressing and holding the SHARE and PS buttons until the controller's LED light bar flashes rapidly in white.

  6. Run the controller pairing script:

    sudo ds4drv-pair
  7. In the output of the ds4drv-pair script, you should see that the controller automatically pairs via the script. The controller's LED light bar should also turn solid blue to indicate successful pairing.

Alternatively, if ds4drv-pair fails to detect the controller, you can pair the controller using bluetoothctl:

  1. Install the bluez package if it is not installed already by running:

    sudo apt-get install bluez
  2. Run the bluetoothctl command:

    sudo bluetoothctl
  3. Enter the following commands in bluetoothctl to scan and display the MAC addresses of nearby devices:

    agent on
    scan on
  4. Determine which MAC address corresponds to the controller and copy it. Then run the following commands in bluetoothctl to pair the controller:

    scan off
    pair <MAC Address>
    trust <MAC Address>
    connect <MAC Address>
  5. The controller should now be correctly paired.

Step 7: Use Remote Computer with Jetson (Optional)

note

This step is optional.

To use your Remote Computer (eg. laptop) with the Jetson, note the IP address of the Jetson, install the robot-specific desktop packages on the Remote Computer, at set up your Remote Computer to use the Jetson as the ROS master. Refer to the "Installing Remote Computer Software" section of your robot User Manual for details.