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:
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:
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_launch → rtabmap_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:
[ ] Assess if RTAB-Map binaries work on Jetson Nano Environment
[ ] Automate fix for nvidia dependencies in apt during Ubuntu 20 upgrade fix.
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 theubuntu_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_launch
→rtabmap_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: