Installation and Setup
This page will walk you through the required steps to get the UiAbot set up with the correct software and settings.
Warning
It is important to follow each step carefully to avoid compatability problems later, and to understand the commands.
Operating System
The used OS on the jetson nano is the modifyed jetpack from QEngineering. This 32GB image has ubuntu 20.04 as well as some common packages and tools for vision, machine learning, etc. It is downloaded following the instructions on their github page and flashed to a 64GB micro SD-card using balena etcher. Once installed and booted on the jetson, the disk partition is expanded to utilize the full 64GB storage using gparted.
Setting up Wi-Fi
Turn the UiAbot on, and connect to keyboard, mouse, and monitor.
On the jetson log in to the desired wi-fi, and check if your internet connection.
ping google.com
If you do not get this response, you are not connected to the internet.
jetson@jetson:~$ ping google.com PING google.com (142.250.74.110) 56(84) bytes of data. 64 bytes from arn11s10-in-f14.1e100.net (142.250.74.110): icmp_seq=1 ttl=54 time=28.6 ms 64 bytes from arn11s10-in-f14.1e100.net (142.250.74.110): icmp_seq=2 ttl=54 time=33.5 ms 64 bytes from arn11s10-in-f14.1e100.net (142.250.74.110): icmp_seq=3 ttl=54 time=32.8 ms
Print your ip-address, and write it down. It will be needed later.
ip -br a
It should return something like this.
jetson@jetson:~$ ip -br a lo UNKNOWN 127.0.0.1/8 ::1/128 enp2s0f0 DOWN enp5s0 DOWN wlp3s0 UP <ip_address>/24 fe80::f9d3:4190:d73:2118/64
Now, unplug the keyboard, mouse, and monitor.
Connecting to UiAbot (SSH)
On your pc, make sure you are on the same wi-fi as the UiAbot from the previous section.
Connect to the UiAbot with SSH.
ssh jetson@<ip_address>
Use these credentials to log in.
Username: jetsonPassword: mas514?group5
Set up .bashrc
Add usb access.
echo "sudo chmod 666 /dev/ttyUSB0" >> /home/jetson/.bashrc
Add
ROS_DOMAIN_ID
. Change5
to your group number, if applicable. Remember this variable.echo "export ROS_DOMAIN_ID=5" >> /home/jetson/.bashrc
Install and add
sl
.sudo apt install sl -y && echo "sl" >> /home/jetson/.bashrc
Source to update changes.
source /home/jetson/.bashrc
Install third-party software
Install the following third-party software.
ROS 2 Galactic installation guide.
odrivetool installation guide.
Install the following third-party ROS 2 packages.
rplidar_ros
(src)sudo apt install ros-galactic-rplidar=3.2.4-1focal.20220730.092525 -y
robot_localization
(src)sudo apt install ros-galactic-robot-localization=2.0.2-1focal.20220730.023610 -y
slam_toolbox
(src)sudo apt install ros-galactic-slam-toolbox=2.5.1-1focal.20220730.084110 -y
nav2
(src)sudo apt install ros-galactic-navigation2=1.0.12-1focal.20220730.095919 -y sudo apt install ros-galactic-nav2-bringup=1.0.12-1focal.20220730.095951 -y
Create workspace
Create a workspace in the home folder and call it
uiabot_ws
.cd /home/jetson mkdir -p uiabot_ws/src
The jetson
directory should now look like this.
jetson ├── Desktop ├── Documents ├── Downloads ├── Pictures └── uiabot_ws <-- this is our workspace └── src <-- all our ROS 2 packages goes here
Install developed software
Enter the workspace
src
directory.cd /home/jetson/uiabot_ws/src
Download the following packages.
bno055_i2c_ros2
(src)git clone https://github.com/DrDanielh/bno055-i2c-ros2.git -b v1.0.0
odrive_ros2
(src)git clone https://github.com/DrDanielh/odrive-ros2.git -b v1.0.0
odrive_interfaces
(src)git clone https://github.com/DrDanielh/odrive-interfaces.git -b v1.0.0
uiabot
(src)git clone https://github.com/DrDanielh/uiabot-ros2.git -b v1.0.0
The src
directory should now look like this.
src ├── bno055-i2c-ros2 ├── odrive-interfaces ├── odrive-ros2 └── uiabot-ros2
Build the workspace
Return to the workspace root.
cd /home/jetson/uiabot_ws
Source the ROS 2 installation.
source /opt/ros/galactic/setup.bash
Build workspace.
colcon build