Skip to content

Latest commit

 

History

60 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project SANEHAL

ci_jazzy

事前準備

SANEHAL-2の統合試験と通常運用は docs/sanehal2_system_integration.md に従ってください。Robot側処理はRaspberry Pi 5、RViz・ゲームパッド・試験統括は Operator PCで実行します。 進行中のIssue #29試験結果は docs/issue29_results_2026-08-24.md に記録します。

ROS 2 Jazzyのインストール

Ubuntu 24.04へROS 2 Jazzyをインストールし、依存導入前に環境をsourceします。 Operator PCがUbuntu 24.04以外の場合は、後述のOperator containerを使用してください。

source /opt/ros/jazzy/setup.bash

ワークスペース作成とリポジトリのクローン

mkdir -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.bash

setup.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

JT16とDynamixelのrulesファイル追加とデバイス再起動

# 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/dxhub

JT16の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.sh

For 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.sh

See 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_IDrmw_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

About

Directory for Sanehal Project

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages