This guide is derived from the official Noetic setup page, which can be found here: http://wiki.ros.org/noetic/Installation/Source
This version includes some customizations for missing packages on Ubuntu 18.04 which the jetson nano OS uses. I think this installation should work on most ubuntu 18.04 installations, but I can give no guarantees.
sudo apt install build-essential
sudo -H python3 -m pip install -U pip
sudo -H python3 -m pip install -U setuptools
sudo -H python3 -m pip install -U rosdep rosinstall_generator vcstool
sudo rosdep init
rosdep update
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Note: the default says desktop here, but i don't want all the GUI stuff, so i use the robot and perception packages instead
rosinstall_generator robot perception --rosdistro noetic --deps --tar > noetic-robot-perception.rosinstall
mkdir ./src
vcs import --input noetic-robot-perception.rosinstall ./src
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y -r
# not sure if this is necessary:
sudo -H python3 -m pip install -U catkin_pkg
# again not sure if necessary:
sudo apt install liborocos-kdl-dev
for compilation error about cv_bridge not finding boost:
nano ./src/vision_opencv/cv_bridge/CmakeLists.txt
# change:
find_package(Boost REQUIRED python37)
# to:
find_package(Boost REQUIRED python3)
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 --install-space /opt/ros/noetic
(optional) add setup.bash to bashrc so it's automatically loaded on the start of a terminal session
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
Hi @dfiel and to anyone else, I ended up using ROS Melodic on my Jetson Nano with NVIDIA Jetpack 4.6.1 . I feel this is the better way, because noetic was developed for Ubuntu Focal (20.4). And of course each software or libraries for my project have to be adjusted to fulfill some requirements from others.
The reason why at first I wanted to use ROS Noetic is because we got OpenCV4 inside Jetpack 4.6.1. Thus, to make OpenCV4 works just fine with ROS Melodic I edited a line in cv_bridgeConfig.cmake. You can see the details here ros-perception/vision_opencv#345