Installing a Jetson Nano¶
Warning
This page is a copy of the corresponding instructions from ROS Melodic. At the time of writing Nvidia has not yet released support for Ubuntu 20.04 on Jetson platforms. This means you cannot currently run ROS Noetic on a Jetson Nano.
When Nvidia has released support for Ubuntu 20.04 we will remove this warning and update the instructions below as-necessary.
Step 1: Remove mini-ITX Computer¶
(Skip this step if you don’t have a computer)
If you have a mini-ITX computer installed it will need to be removed. Locate the power and communication cable connected to the computer and remove them. If you have any other sensors attached, remove those too. Keep them connected to the Husky plaform.
Remove the four (4) hex screws from the computer case using a 2.5mm wrench.
Gently lift the computer out of the platform and clean the area.
Step 2: Install the Nano¶
Custom mounting brackets are available on Github
Print this mount off using a 3D printer. A 0.2mm layer thickness should be sufficient.
Add 4 M3 stand-offs to the board mount points. A 6mm height is recommended.
Use M3 screws to fasten the Nano to the mount
Attach the Xavier and mount to the two M3 holes opposite the platform serial connector
Re-attach the power and serial cables from the platrofm to the Jetson
Step 3: Installing the Software¶
Download the latest version of the Nano SD Image Download the latest version of Balena Etcher
Use Etcher to flash the image onto your SD card
Once it is installed, connect the nano to a keyboard, monitor, and power supply. Ubuntu needs to be setup first. Agree to the Terms
Select your language.
Select your keyboard layout.
Select your locaiton.
Pick a hostname, username, and password for the machine.
Note
For compatibility with older versions of the Jetson Nano 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
.
Specify the size for the partition. The default size should fill the whole SD card. Make sure it matches the maximum possible size, unless you have other plans for that space.
It will install the remainder of the required default packages.
Once the OS has been written to the Nano, log into it and run the following commands to configure it for use with Husky:
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
These commands will download and install ROS along with the necessary APT packages to get Husky up and running. Depending on your network speed it may take a long time for everything to install. Reboot the Nano after these commands are done to complete the configuration.
When the Jetson starts up again, it should be connected to the Husky. To see that the Husky is connected by opening a terminal and executing “rostopic echo /status”. You should see a 1hz message containing the Husky’s diagnostic information.
Your Jetson Nano should now be configured to operate as the Husky’s main PC.
If you would like to pair a PS4 controller to drive the Husky, hold down the PS and Share buttons on the controller until the light bar starts to flash. In a terminal on the Husky, run bluetoothctl
and then run the following commands:
agent on
scan on
< look for the MAC address of your controller; it will be identified by "Wireless Controller" or similar text >
scan off
pair <MAC ADDRESS>
trust <MAC ADDRESS>
connect <MAC ADDRESS>
< ctrl + d to exit >
The light on the controller will turn solid blue once it is paired. With the controller paired you should be able to control the Husky by pressing L1 and using the left stick to drive. For more information see the Husky manual.
The light on the controller will turn solid blue once it is paired. With the controller paired you should be able to control the Husky by pressing L1 and using the left stick to drive. For more information see the Husky manual.
To use your host computer with the Husky first install ROS. Once ROS is installed, install the Husky packages with sudo apt install ros-noetic-Husky*
Note the IP address of the Nano and setup your host computer to use it as the master.
You can then run roslaunch Husky_viz view_robot.launch
on your host machine. You should see a model of the robot and be able to move the Husky using the interactive markers. See: Navigating with Husky for more information on using maps for navigation and localization.
The Nano will reboot and will have ROS Noetic installed along with the Husky drivers.
To setup the Jetson to work with the Husky, run bash ~/JACKAL_SETUP.sh
on the Jetson and restart. When the Jetson starts up again, it should be connected to the Husky. To see that the Husky is connected by opening a terminal and executing “rostopic echo /status”. You should see a 1hz message containing the Husky’s diagnostic information.
If you would like to pair a PS4 controller to drive the Husky, hold down the PS and Share buttons on the controller until the light bar starts to flash. In a terminal on the Husky, run sudo ds4drv-pair
and wait for the controller to connect. With the controller paired you should be able to control the Husky by pressing L1 and using the left stick to drive. For more information see the Husky manual.
To use your host computer with the Husky first install ROS (http://wiki.ros.org/noetic/Installation) and setup a catkin workspace (http://wiki.ros.org/catkin/Tutorials/create_a_workspace). Clone the general Husky repo and the desktop specific repo in to the src folder and compile it. Installing rosdeps if necessary with “rosdep install –from-paths src –ignore-src -r -y”. https://github.com/Husky/Husky and https://github.com/Husky/Husky_desktop. Note the network ip of the Nano and setup your host computer to use it as the master. http://wiki.ros.org/ROS/Tutorials/MultipleMachines
You can then run “roslaunch Husky_viz view_robot.launch” on your host machine. You should see a model of the robot and be able to move the Husky using the interactive markers. See: http://www.clearpathrobotics.com/assets/guides/Husky/navigation.html