Link to page

Preparation of Nvidia Jetson AGX Orin

To flash the Jetson AGX Orin using the NVIDIA SDK Manager, follow these steps:
Screenshot from 2024-06-13 10-22-36.png
In this documentation, optional setup flow with SDK Manager is used to enforce installation of Ubuntu 20.04 instead of Ubuntu 22.04 that comes with default setup flow.
Download and Install SDK Manager:
Download the latest SDK Manager Debian package on the host PC from the NVIDIA website. This help to use the NVIDIA SDK Manager GUI to successfully configure the Jetson development environment.
Note: there is a need to use credentials of the NVIDIA Developer account to use SDK manager.
Sources:
Launch SDK Manager and Flash L4T BSP:
Launch SDK Manager.
Log in with your NVIDIA Developer account.
Connect the Jetson AGX Orin Developer Kit to your host PC using the provided USB Type-A to Type-C cable. Ensure the Type-C plug is inserted into the port next to the 40-pin connector on the Jetson device.
Sources:
Put the Jetson device into Force Recovery Mode by holding down the middle Force Recovery button while inserting the USB Type-C power supply plug. Check the hardware layout in the link listed in the sources.
SDK manager will detect Jetson AGX Orin Developer Kit. SDK version indicates which JetPack version suits the system needs.
Screenshot from 2024-06-13 11-12-49.png
In the Target Components panel, select “Jetson Linux” to install the base L4T BSP and deselect “Jetson SDK Components” if you do not want to install additional SDK components at this stage.
Screenshot from 2024-06-13 11-27-47.png
Follow the prompts to accept license agreements and proceed with the flashing process.
Configure and Complete the Flashing Process:
SDK Manager will prompt you to prepare your device for flashing and select the storage device (e.g., eMMC, NVMe, USB).
This documentation flash a new Jetson AGX Orin kit which is not set with username and password, thus the manual setup and follw the setps as it appear in the wizard.
Screenshot from 2024-06-13 11-46-23.png
Then choose the target hardware from the listed devices.
Screenshot from 2024-06-13 11-49-11.png
Complete the OEM configuration as prompted on the device then click the “Flash” button to start the flashing process. Once completed, the Jetson AGX Orin will reboot into the L4T BSP.
Screenshot from 2024-06-13 12-04-57.png
Complete Installation Wizard of Ubuntu in Jetson AGX Orin Device.
Screenshot from 2024-06-13 12-24-00.png
Install Additional JetPack components:
After flashing the OS, you can install additional JetPack components by running the SDK Manager again, selecting “Jetson SDK Components,” and following the installation steps.
Screenshot from 2024-06-13 12-37-49.png
Screenshot from 2024-06-13 12-38-16.png
Screenshot from 2024-06-13 13-19-24.png
Screenshot from 2024-06-13 13-27-08.png
For more detailed instructions, refer to the official Jetson AGX Orin Developer Kit User Guide .


Preparation of Rover Pro from Roverrobotics

Rover Robots work in both ROS1 and ROS2 drivers. This documentation is exclusively built for ROS1 and ROS wrapper (Roverrobotics_ros1) to interface with roverrobotics' robots.
ROS Noetic Installation Instructions:
Configure your Ubuntu repositories:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Set up the keys:
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Installation:
sudo apt update
sudo apt install ros-noetic-desktop-full
Environment setup:
source /opt/ros/noetic/setup.bash
It can be convenient to automatically source this script every time a new shell is launched. These commands will do that for you:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Dependencies for building packages:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
Create a ROS Workspace:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
Source:
Librover Installation Instructions:
It is required in order to use the Roverrobotics_ros1 wrapper:
cd ~/
mkdir library/
cd library/
git clone https://github.com/RoverRobotics/librover
cd librover/
cmake .
make
sudo make install
Sources:
Roverrobotics_ros1 Wrapper Installation:
Cloning this repository into your workspace:
cd workspace/src/
git clone https://github.com/RoverRobotics/roverrobotics_ros1
Install Rover Robotics packages:
sudo apt-get install ros-noetic-twist-mux
sudo apt-get install ros-noetic-tf2-geometry-msgs
sudo apt-get install ros-noetic-robot-localization
sudo apt-get install ros-noetic-gmapping
sudo apt-get install ros-noetic-move-base
Rebuild and source your workspace:
cd workspace/
catkin_make
source devel/setup.bash
Check Serial Port Permissions and Add User to dialout Group.
Launch Robot:
roslaunch roverrobotics_driver pro.launch


Create systemd scripts for roscore

Create a new service file for roscore in the /etc/systemd/system directory:
sudo nano /etc/systemd/system/roscore.service
Add the following content to the file:
[Unit]
Description=ROS Core
After=network.target

[Service]
Type=simple
User=capture
ExecStart=/bin/bash -c 'source /opt/ros/noetic/setup.bash && exec roscore'
Restart=on-failure

[Install]
WantedBy=multi-user.target

Reload systemd Configuration:
sudo systemctl daemon-reload
Enable and Start the Service:
sudo systemctl enable roscore.service
sudo systemctl start roscore.service
Verify the Service Status:
sudo systemctl status roscore.service
Reboot the kit.


Preparation of XBOX Controller

Install the ROS joystick driver:
sudo apt-get install xboxdrv
sudo apt-get install ros-noetic-joy
Add yourself into input linux group:
sudo usermod -a -G input capture
Start xboxdrv in the background:
sudo xboxdrv --detach-kernel-driver --silent &
Create Systemd Service File:
sudo nano /etc/systemd/system/xboxdrv.service
Add the Following Content:
[Unit]
Description=Xbox 360 Controller Service
After=network.target

[Service]
ExecStart=/usr/bin/xboxdrv --detach-kernel-driver --silent
Restart=always
User=root

[Install]
WantedBy=multi-user.target
Reload Systemd and Enable the Service:
sudo systemctl daemon-reload
sudo systemctl enable xboxdrv
sudo systemctl start xboxdrv
Check Service Status and Verify Device Availability:
sudo systemctl status xboxdrv
ls /dev/input/js0
Test the Controller:
jstest /dev/input/js0
Placing XBOX Package in src folder in workspace. Package is edited and attached with documentation.
Rebuild and source your workspace:
cd workspace/
catkin_make
source devel/setup.bash
Launch Robot and XBOX controller:
roslaunch rr_openrover_basic pro.launch # to run rover
AND
roslaunch rr_openrover_basic xbox_controller.launch # to run xbox controller
OR
roslaunch rr_openrover_basic teleop.launch # to run both rover and xbox controller


Preparation of Zed Camera

Download the ZED SDK for Linux.
Source:
install zstd:
sudo apt install zstd
Add execution permission to the installer:
chmod +x ZED_SDK_Tegra_L4T35.4_v4.1.2.zstd.run
Run the ZED SDK installer:
./ZED_SDK_Tegra_L4T35.4_v4.1.2.zstd.run
Calibrate the camera using ./ZED_Calibration tool, which is located in the following path and follow the instructions appear:
/usr/local/zed/tools/ZED_Calibration
zed-ros-wrapper Package Installation:
Cloning this repository into your workspace:
cd workspace/src/
git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash
Run the ZED wrapper:
roslaunch zed_wrapper zed.launch


Preparation of Yoctupuce Sensors

Add the Yoctopuce APT Repository:
Install the GPG key of the repository:
wget -q -O - https://www.yoctopuce.com/apt/KEY.gpg | gpg --dearmor | sudo tee -a /usr/share/keyrings/yoctopuce.gpg > /dev/null
Add the repository to the list of servers used by apt-get:
echo "deb [signed-by=/usr/share/keyrings/yoctopuce.gpg] https://www.yoctopuce.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/yoctopuce.list
Source:
Install the VirtualHub:
sudo apt-get update
sudo apt-get install virtualhub
To allow users without privileges to communicate with the Yoctopuce devices:
sudo VirtualHub --install_udev_rule
Note: YOU NEED TO REBOOT THE SYSTEM BEFORE THIS RULE IS APPLIED.
In addition, to avoid explicitly run VirtualHub each time need to run it, install it as a service. To do so, run the following command:
sudo VirtualHub -i
Configuring and testing the modules:
Connect in HTTP to port 4444 of the machine on which VirtualHub is running.
Use the http://127.0.0.1:4444 address, then the list of all the modules connected on the machine should appear.
Screenshot from 2024-06-17 09-17-47.png
There is ability to configure a module by clicking on the corresponding configure button in the main interface. A window, specific to the module will be open.
Install the libgps-dev package using:
sudo apt-get install libgps-dev
Clone gps_umd package that contains messages for representing data from GPS devices and algorithms for manipulating it. (required)
Source:
Placing the yoctopuce package attached with this documentation in your workspace.
Rebuild and source your workspace:
cd workspace/
catkin_make
source devels/setup.bash
Run the launch file:
roslaunch yoctopuce Yocto_Sensors.launch


Preparation of OpenBCI Headset

Navigate to the rules.d directory:
cd /etc/udev/rules.d
Create a new udev rule file:
sudo nano 99-usbftdi.rules
Enter the udev rule:
In the text editor, enter the following code. Replace abcd with your assigned PID.
# For FTDI FT232 & FT245 USB devices with Vendor ID = 0x0403, Product ID = 0xabc
SYSFS{idProduct}=="abcd", SYSFS{idVendor}=="0403", RUN+="/sbin/modprobe -q ftdisio product=0xabcd vendor=0x0403"
Reload udev rules:
sudo udevadm control --reload-rules
Connect your FTDI device with the customized VID/PID.
Verify driver load:
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.