SANEHAL-2の統合試験と通常運用は
docs/sanehal2_system_integration.md
に従ってください。Robot側処理はRaspberry Pi 5、RViz・ゲームパッド・試験統括は
Operator PCで実行します。
進行中のIssue #29試験結果は
docs/issue29_results_2026-08-24.md
に記録します。
Ubuntu 24.04へROS 2 Jazzyをインストールし、依存導入前に環境をsourceします。 Operator PCがUbuntu 24.04以外の場合は、後述のOperator containerを使用してください。
source /opt/ros/jazzy/setup.bashmkdir -p ws_sanehal/src
cd ws_sanehal/src
git clone git@github.com:MrBearing/sanehal.git
cd sanehal/
source /opt/ros/jazzy/setup.bash
./setup.bashsetup.bashは.reposに固定したsource dependencyを、まだ存在しない場合だけ
workspaceへimportします。既存repositoryをpullしません。Hesai driver v2.0.12が
package manifestに宣言していないsystem dependencyも先に導入してください。
sudo apt-get update
sudo apt-get install -y libboost-all-dev libyaml-cpp-dev python3-rosdep python3-vcstool# src/sanehal下で
sudo usermod -aG dialout "$USER"
sudo cp dev_rules/*.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
ls -l /dev/jt16_rs485 /dev/jt16_rs232 /dev/dxhubJT16の2つのUSB-serial adapterはdev_rules/99-jt16.rulesに記録された
vendor/product/serial番号で識別されます。別のadapterへ交換した場合は、
udevadm info --attribute-walk --name=/dev/ttyUSB0等で実機の属性を確認して
ruleを更新してください。実行ユーザーはdialout groupに所属している必要があります。
group追加後はログアウトして再ログインしてください。
source /opt/ros/jazzy/setup.bash
colcon build --symlink-install
source install/setup.bash
colcon test
colcon test-result --verbose. install/setup.bash
ros2 launch sanehal_bringup jt16.launch.py # JT16 driverのみ
ros2 launch sanehal_bringup sanehal.launch.py # Raspberry Pi上のRobot + JT16 + 2D SLAM
ros2 launch sanehal_operator operator.launch.py # Operator環境上での表示のみRobot bringupはRVizを起動しません。Ubuntu 26.04 Operator PCでは、ROS 2
JazzyをUbuntu 24.04 container内で実行します。VS Codeを使わない通常起動は
次の通りです。詳細は sanehal_operator/README.md を参照してください。
ROS_DOMAIN_ID=42 scripts/operator/configure.sh # 配備ごとに値を選ぶ
scripts/operator/up.shFor USB PlayStation gamepad teleoperation, identify its stable
/dev/input/by-id/*-event-joystick link and pass it during configuration:
ROS_DOMAIN_ID=42 \
GAMEPAD_BY_ID=/dev/input/by-id/<controller>-event-joystick \
GAMEPAD_MODEL=DualSense \
scripts/operator/configure.sh
scripts/operator/up.shSee sanehal_operator/README.md for the mandatory mapping and raised-wheel
safety tests. Bluetooth is not used; the controller connects to the host with a
USB data cable. After connecting a DualShock 3, press its PS button and verify
live axis/button changes before enabling Robot drive power; receiving only
neutral Joy messages does not prove that the controller is active. After any
USB disconnect/reconnect, rerun configure.sh and recreate the Operator
container even if the by-id link resolves to the same event number.
RobotとOperator PCで同じROS_DOMAIN_ID、rmw_fastrtps_cpp、discovery
設定を使用してください。実機なしのgraph/TF確認には次を使用できます。
ros2 launch sanehal_bringup sanehal.launch.py use_mock_hardware:=true \
start_lidar:=false start_pointcloud_to_laserscan:=false start_slam:=false