Jetson Orin NanoにROS2 (humble)をinstallする方法メモ。
Jetson Orin Nanoのsetup後にROS2をinstallした。
trafalbad.hatenadiary.jp
ROS2には
Humble Hawksbill(LTS)とIron Irwini(latest release)があるが、
安定してるHumble Hawksbill(LTS)をinstallした。
1. Setup Locale
Locale(言語や単位, 記号, 日付, 通貨などの表示規則の集合のこと)のsetup。
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
2. ROS2 Repository
ROS2 パッケージ用のRepositoryをinstall# necessary tools sudo apt update sudo apt install -y curl gnupg2 lsb-release software-properties-common # ROS2 Repository's GPG key sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - # add ROS2 Repository to your Jetson sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
3. install ROS2 / setup environment
sudo apt update # install ROS 2 Humble sudo apt install ros-humble-desktop # setup env source /opt/ros/humble/setup.bash echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc
Ironのケース
sudo apt install ros-iron-desktop source /opt/ros/iron/setup.bash echo "source /opt/ros/iron/setup.bash" >> ~/.bashrc source ~/.bashrc
4. install tools
ROS 1では rosbuild や catkin が使われてるけど、
ROS2ではbuild toolsにcolconが使われてる。
ROS1ではcatkinを用いたビルドを行っていました.catkinは直接cmakeのみを扱います.一方,ROS2では,colconと呼ばれるメタビルドシステムを用います.colconは依存関係を考慮してパッケージのビルド順を決め,ビルドを実行します.ビルドの方法は各パッケージに任せるので,cmakeによらず複数のビルドタイプを選択可能です(ROS2チュートリアル 体験記 (2/3) | Tokyo Opensource Robotics Kyokai Association)
# install sudo apt install python3-colcon-common-extensions # install resdep sudo apt install python3-rosdep2 sudo rosdep init rosdep update
これでROS2のinstallは完了したはず
5 テスト
ROS2を動かしてみるros2 run demo_nodes_cpp talker ros2 run demo_nodes_cpp listener
色々変更はあるけど現時点でわかってるのは
6 その他のsetup
Jetson Orin NanoのPerformanceの最大化
sudo nvpmodel -m 0
sudo jetson_clocks
turtlesim
sudo apt update sudo apt install ros-humble-turtlesim # Check that the package is installed: ros2 pkg executables turtlesim >> turtlesim draw_square turtlesim mimic turtlesim turtle_teleop_key turtlesim turtlesim_node
# start # terminal 1 ros2 run turtlesim turtlesim_node # terminal 2 ros2 run turtlesim turtle_teleop_key # terminal 3 rqt_graph
ROS2で試しにbuild
# git clone source code mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src git clone https://github.com/ros2/ros2.git -b humble src/ros2 # install dependencies by rosdep rosdep install --from-paths src --ignore-src -r -y # build workspace colcon build --symlink-install
basicなフォルダ構成はこんな感じ
Jeston@orin:~/Downloads/ros2_ws$ tree . ├── build │ └── COLCON_IGNORE ├── install │ ├── COLCON_IGNORE │ ├── local_setup.bash │ ├── local_setup.ps1 │ ├── local_setup.sh │ ├── _local_setup_util_ps1.py │ ├── _local_setup_util_sh.py │ ├── local_setup.zsh │ ├── setup.bash │ ├── setup.ps1 │ ├── setup.sh │ └── setup.zsh ├── log │ ├── build_2024-10-21_20-32-47 │ │ ├── events.log │ │ └── logger_all.log │ ├── COLCON_IGNORE │ ├── latest -> latest_build │ └── latest_build -> build_2024-10-21_20-32-47 └── src └── ros2 ├── README.md └── ros2.repos
ROS2を無事にinstallできた。