ハードウェアセットアップ¶
システム構成¶
graph LR
ROS2["ROS2<br/>core_hardware"] -->|EtherCAT| Teensy["Teensy41<br/>スレーブ"]
Teensy --> ESC["モータESC"]
ESC --> Motor["モータ"]
EtherCAT(SOEM)¶
前提条件¶
- SOEM ライブラリ(
core_hardware/vendor/soem/に同梱) - root 権限または
NET_RAW/NET_ADMINケーパビリティ
ネットワークインターフェース¶
EtherCATで使用するネットワークインターフェース名を確認:
ip link show
Teensy41 EEPROM書き込み¶
cd core_hardware
sudo ./vendor/soem/bin/eepromtool <ifname> 1 -w ./teensy41/upper/soes/soes-esi/eeprom.bin
<ifname> は EtherCAT 用のネットワークインターフェース名に置き換えてください。
起動¶
ハードウェアインターフェース¶
ros2 launch core_hardware core_hardware.launch.py
ボディコントローラ¶
ros2 launch core_body_controller body_controller.launch.py
動作確認¶
EtherCAT通信テスト¶
cd core_hardware/test
./build.sh
sudo ./build/ecat_zero_check <ifname>
トピック確認¶
# CAN指令の確認
ros2 topic echo /can/tx
# ジョイントステートの確認
ros2 topic echo /joint_states
Docker環境での使用¶
docker-compose.yaml で以下の権限が設定済みです:
network_mode: host
cap_add:
- NET_RAW
- NET_ADMIN
Livox Mid-360 LiDAR¶
接続¶
- イーサネット接続
- デフォルトIP設定に従いネットワーク設定
FAST-LIOとの連携¶
ros2 launch core_launch navigation.launch.py odom_source:=fastlio
FAST-LIO の設定ファイル: fast_lio/config/mid360.yaml(fast_lioパッケージ内)