Installation Guide
Before installing the Super COMO packages, perform a full JetPack installation on the Jetson TX2. For the package, JetPack 3.2.1 was installed.
After installing JetPack, follow the steps below to setup Super COMO.
-
Configure repositories: Configure repositories to allow "restricted," "universe," and "multiverse." Do this by following the instructions in this link.
-
Clone super_como : Clone the repository to your home directory. In a terminal window run:
cd ~ && git clone https://github.com/The-SS/super_como
- Navigate to setup folder:
In terminal, navigate to the
setup
folder insuper_como
by running:
cd ~/super_como/setup
- Configure git (if not configured):
Configure git either manually or by running
git_config_setup.sh
. You can run the setup file as follows:
./git_config_setup.sh
- Run the following scripts:
./install_programs.sh
./install_ros.sh
- Download and install the ZED SDK:
-
Go to the ZED downloads website and download the ZED SDK for Jetson TX2 with JetPack 3.2 and CUDA 9.
-
Once it downloads, either used
chmod +x <file_name>
to make the file and executable or right click it --> permissions --> allow executing file as a program. -
Run the script by
cd
to file location in a terminal and typing./
followed by the file name. -
Setup the device rules: Run the rules set up script:
sudo ./rules_setup.sh
This script will reload the rules, but we recommend restarting the machine to ensure that the rules are in effect.
- Run the build script:
The
build.sh
script at the root of the super_como package builds the catkin workspace. In a terminal window, navigate to the root of the super_como package then run the following command:
cd ~/super_como
./build.sh
- Generate the
ros_lib
libraries for arduino: - Go the the Arduino
libraries
direcotry:
cd ~/arduino-1.8.7/libraries
- Remove any previous
ros_lib
directory:
rm -fr ros_lib
- Generate the new libraries:
rosrun rosserial_arduino make_libraries.py .
For more details see the Install ros_lib into the Arduino Environment section here.
- Source the workspace: Every time a new terminal window is open you have to source your workspace.
source ~/super_como/workspace/devel/setup.bash
Alternatively, you can add this to the bashrc file to avoid having to do that every time.
echo "source ~/super_como/workspace/devel/setup.bash" >> ~/.bashrc
Once this is performed you have to restart your terminal or source the bashrc file as follows:
source ~/.bashrc
- Add the Lidar to ethernet networks:
- Open
Network Connections
. - Click on
Add
. -
In the new window do the following:
- Change the connection name to
lidar
- In the
General
tab, check theAutomatically connect to this network when it is available
andAll users may connect to this network
options - In the
IPv4 Settings
tab, change themethod
toManual
and add the following inAddresses
:- address: 192.168.0.15
- netmask: 255.255.255.0 (this will change to 24)
- leave the
gateway
field empty
- Click save.
- Change the connection name to
-
Edit the USB port names: The rules file generated by
rules_setup.sh
creates symbolic links for devices that should be used instead of the port names generated by Linux. The full list of symbolic links found in/etc/udev/rules/99-device-rules.rules
is: /dev/imu
: IMU/dev/vesc
: VESC/dev/teensy
: Teensy/dev/elp/back
: back elp camera/dev/elp/right
: righ elp camera/dev/elp/left
: left elp camera/dev/elp/front
: front elp camera
These links should be used in the package (instead of /dev/ttyUSB*
, /dev/ttyACM*
, or /dev/video*
). Make the following modifications to the package:
- In ~/super_como/super_como/workspace/src/racecar/racecar/config/racecar-v2/vesc.yaml
change the port
parameter under vesc_driver
to /dev/vesc
.
- In ~/super_como/workspace/src/razor_imu_9dof/config/razor.yaml
change the port
parameter to /dev/imu
.
- In ~/super_como/workspace/src/razor_imu_9dof/nodes/imu_node.py
change the default_port
variable to '/dev/imu'
(line 110). The updated line should be: default_port='/dev/imu'
.
- If running YOLO, change the
darknet_ros
camera topic: In~/super_como/workspace/src/darknet_ros/darknet_ros/config/ros.yaml
change thetopic
parameter undercamera_reading
insubscribers
to the desired image topic. For example that could be the/zed/left/image_raw_color
topic if using the ZED or ZED mini cameras. Check the YOLO github repository for more details.
Optional:
- Setting up team viewer
- Setting up optional Bluetooth Xbox one controller script
- bldc tool download, install, and programming vesc