IllinoisRoboticsInSpace / IRIS

Illinois Robotics in Space 2022-2023 Season
https://iris.ae.illinois.edu/
8 stars 0 forks source link

Dev Environment Updates #9

Closed ttchalakov closed 9 months ago

ttchalakov commented 9 months ago

Consolidate Changes to Development Environment on PC and on Jetson

RTAB-Map Dependency Binaries

Switched from source compiled to binary installation of RTAB-Map (instructions).

Jetson ZRAM vs SWAP

Swap is a concern on the Jetson Nano because it is limited by the speed of the micro-SD card which is quite slow for memory-like operations. The code for creating swap on the Jetson was commented out and instead ZRAM is used which is a strategy for compressing memory at the small cost of cpu overhead. Refer to the following links:

OpenCV with CUDA Install on Jetson

Script to compile and install OpenCV 4.2.0 with CUDA acceleration for Jetson Nano. Qt5 is also enabled just in case. Installation process does not remove compilation files after installation, so about 300MB of space will be used by those files. Tutorial followed is from this link.

ROS_DOMAIN_ID Commented on PC

The ROS_DOMAIN_ID addition to the bashrc on pc development environments is commented out in the setup script because if multiple people are on the same network then their ROS 2 topics will appear and conflict with each other's. Documentation links:

Automated Ubuntu 18 to 20 Upgrade for Jetson Nano

Galactic requires Ubuntu 20 but NVIDIA only provides and supports Ubuntu 18. Therefore we have to used a community made Ubuntu 20 image (link) but we need to have the option to choose a different NVIDIA L4T kernel in order to use a specific version of the JetPack SDK (versions). Therefore the instruction in this tutorial are automated through install scripts. There is an issue with apt that occurs on some JetPack version and the fix to it is at the bottom in the comments of the ubuntu_20_upgrade_part_1.sh script. This fix can probably be automated otherwise it is done manually. The flashable images for these scripts are found on The Box.

Updated README with RTAB-Map Launch Commands

Due to switching RTAB-Map to compiled binaries, the RTAB-Map ROS 2 package is changed from rtabmap_launchrtabmap_ros. The full commands for RTAB-Map hand held demo are now in the README.

Update Git Submodules and Realsense ROS 2 Wrapper

The Git submodules have been updated to have specific branches if possible. Otherwise due to ROS 2 Galactic becoming a legacy version for the realsense camera (link), the realsense-ros submodule is put on the ros2-legacy branch of the realsense-ros Github. Therefore while the project is still using ROS 2 Galactic, the team should refer to the ros2-legacy branch for anything related to the realsense.

TODO: