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
sudo apt update
sudo apt install -y curl gnupg2 lsb-release software-properties-common
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
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
sudo apt install ros-humble-desktop
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
ROS 1では rosbuild や catkin が使われてるけど、
ROS2ではbuild toolsにcolconが使われてる。
ROS1ではcatkinを用いたビルドを行っていました.catkinは直接cmakeのみを扱います.一方,ROS2では,colconと呼ばれるメタビルドシステムを用います.colconは依存関係を考慮してパッケージのビルド順を決め,ビルドを実行します.ビルドの方法は各パッケージに任せるので,cmakeによらず複数のビルドタイプを選択可能です(ROS2チュートリアル 体験記 (2/3) | Tokyo Opensource Robotics Kyokai Association)
sudo apt install python3-colcon-common-extensions
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
色々変更はあるけど現時点でわかってるのは
・ROS2のlaunchファイルは,xml形式からpython形式になったということ
・ROS1におけるrospyはrclpyに,roscppはrclcppに変更
・roscoreは必要ない通信形式 6 その他のsetup
Jetson Orin NanoのPerformanceの最大化
sudo nvpmodel -m 0
sudo jetson_clocks
turtlesim
sudo apt update
sudo apt install ros-humble-turtlesim
ros2 pkg executables turtlesim
>>
turtlesim draw_square
turtlesim mimic
turtlesim turtle_teleop_key
turtlesim turtlesim_node
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
rqt_graph
ROS2で試しにbuild
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/ros2/ros2.git -b humble src/ros2
rosdep install --from-paths src --ignore-src -r -y
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できた。