AgileX UGV SDK <unk>ユニバーサルCANプラットフォーム SDK
AgileX ugv_sdk C++ ライブラリおよびpyagxrobots Python 結合に関する完全な参照.インストール,CAN 設定,サポートされたプラットフォーム (SCOUT,RANGER,BUNKER, TRACER,HUNTER,LIMO),ROS2 使用,プロトコル詳細をカバーします.
このページ
- [概要]
- [サポートされたプラットフォーム]
- [設置]
T33 - [C++図書館]
- [パイトン結合]
- [キャンの設定]
- [一度の設定]
- [継続的な設定]
- [プロトコル詳細]
- [ROS2の使用]
- ゲゼボシミュレーション
T42
AgileXページ
- [ハブ
すべてのプラットフォーム] - ゲート・デスク
- [SCOUTシリーズ]
- ランガーシリーズ
T47 - [トラッカー +ハンター]
- リンゴは49.
T50
ハードウェアガイド
- ローボット (VLAI L1)
- リンクボットO6
- [DK1 双手作業組]
T54 T55 - [BrainCo Revo II]
- [パクシニセンサー]
- 武井手
T58
参照
- [←すべての記事]
- [ロボット学会 →]
- プラットフォーム →
- 質問 →
ライブラリ:
C++ Python CAN バス ROS2 すべてのプラットフォーム
1 概要
ugv_sdk は,AgileX RoboticsのオープンソースのC++ライブラリで,CANバスの上ですべてのAgileXモバイルプラットフォームに統一されたソフトウェアインターフェースを提供します.プラットフォーム特有のドライバではなく,ugv_sdkは,基礎となるCANプロトコルを一貫したAPIに抽象化します.
図書館は,2つのプロトコルバージョンをサポートしています. ** プロトコル V1** (レガシー) と ** プロトコル V2** (現在の). 2021年以降に生産されたすべてのプラットフォームは プロトコル V2 を使用します. プロトコル V1 サポートは古いスクーート,スクーートミニ,ハンター 1.0 およびバンカーユニットとの後戻り互換性のために保持されています.
Pythonユーザにとって,pyagxrobots**パッケージは,Pythonで書かれたナビゲーションスタックと迅速なプロトタイプ作成と統合を許可し,直接C++ライブラリをコンパイルせずに,pipeを通じて ugv_sdk の Python 結合を提供します.
1つのSDK,すべてのプラットフォーム. ugv_sdk は,すべてのAgileX ROS2 パッケージ (
2\ サポートされたプラットフォーム
下の表では,AgileXプラットフォームの各バージョンのサポート,利用可能なインターフェース,現在のサポート状態を示しています.
| Robot | Protocol V1 | Protocol V2 | UART | CAN | Status |
|---|---|---|---|---|---|
| Scout 2.0 | Y | Y | N | Y | Active |
| Scout Mini (Skid) | Y | Y | — | Y | Active |
| Scout Mini (Omni) | Y | Y | — | Y | Active |
| Hunter 1.0 | Y | Y | — | Y | Active |
| Hunter 2.0 | — | Y | — | Y | Active |
| Bunker | Y | Y | — | Y | Active |
| Tracer | — | Y | N | Y | Active |
| Ranger Mini 2.0 | — | Y | — | Y | Active |
| Ranger Mini 3.0 | — | Y | — | Y | Active |
| Ranger | — | Y | — | Y | Active |
プロトコル V2 はすべての新しい開発に推奨されます. プロトコル V1 サポートは古いハードウェアに存在します.あなたのプラットフォームがプロトコル V2 (2021年以降すべてのユニット) を搭載している場合は,V1
3 設置
C++ ライブラリ
ソースから ugv_sdk を構築しインストールする.ライブラリには CMake 3.10+,C++14対応のコンパイラ,および SocketCAN 開発ヘッダ (
# 依存をインストールする (Ubuntu 20.04 / 22.04) sudo apt インストール 構築必須のcmake libsocketcan-dev
資料庫をクローンする
git clone
構築・インストール 製造 .. &&製造 -j4 sudo をインストールする
インストール後,ヘッダは
パイthon 結合 (pyagxrobots)
Python の最初のワークフローでは,Python の公式なバインドを pip でインストールしてください. C++ のコンパイルは必要ありません.
パイプを設置する
Python 結合には,動作する CAN インターフェースが必要です.*
4. CAN バスセット
すべてのAgileXプラットフォームは 500 kbpsで **CAN 2.0Bを使用します. GS_USB対応のUSB-to-CANアダプタ (例えば,CANable,Waveshare USB-CAN-A) が必要です.下記のコマンドを実行する前にロボットのCANポートに接続してください.
CANインターフェースを表示する
# GS_USBカーネルモジュールをロードする sudo モッドプローブ gs_usb
速度を500 kbpsに上げます sudo ipリンクセットは0 upタイプは500000 bitrate
\ # インターフェースが稼動していることを確認する ipリンク表示は0
選択可能:診断のために原始のCANフレームを捨てます
リボートで継続的な設定
各プラットフォームのROS2パッケージは,持続性を自動処理する2つのシェルスクリプトを搭載します.
# アダプターを設定するために最初のハードウェア接続後に一度実行します バッシュ設定_can2usb.bash
# ROS2ノードを起動する前に,次の起動ごとに実行する バッシュを連れて来
両脚本もプラットフォーム特有の ROS2 パッケージの
提示: 脚本を手動で実行せずに自動的に起動するCANインターフェースを欲する場合は,~/.bashrcまたはsystemdサービスに bringupを追加します.
5 議定書詳細
| Parameter | Value |
|---|---|
| CAN standard | CAN 2.0B (extended frame support) |
| Bitrate | 500 kbps |
| Byte order | Motorola (big-endian) |
| Timeout protection | 500 ms — platform stops if no command received |
| Minimum command rate | 10 Hz (recommended: 20–50 Hz) |
| Protocol versions | V1 (legacy), V2 (current, all 2021+ units) |
500 msの安全タイムアウト.* 制御ノードが500 ms以上故障または停止した場合,ロボットは自動的に停止します.これは意図的です.制御ループを設計してコマンドを最小10 Hzで送信します.遠隔操作では,スムーズな動きのために50 Hz が推奨されます.
6. ROS2の使用
すべてのAgileXプラットフォームは,同じROS2発射パターンを遵循する.
プラットフォームの ROS2 パッケージをインストールする
# SCOUTの例
ベースドライバーを起動する
# まずCANインターフェースをアップします (既にアップしていない場合は) バッシュ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
ローボットベースドライバーを起動する ローズ2発射偵察_ベース偵察_ベース.発射.pyポート_名:=キャナ0
キーボードの2番目の端末で ローズ2を実行する キーボード キーボード
速度コマンドトピック
すべてのプラットフォームは,T23
# ドライバーを起動した後,利用可能なトピックをチェック ros2 テーマリスト
# 手動速度のコマンドを送信する (0.3 m/s 前へ, 0 角) ローズ2 トピックパブ /cmd_vel ジオメトリ_msgs/msg/Twist \ "{線形: {x: 0.3, y: 0.0, z: 0.0},角形: {x: 0.0, y: 0.0, z: 0.0}}"
**nav2対応.**AgileXプラットフォームROS2パッケージはすべてROS2 nav2ナビゲーションスタックと対応している.ベースドライバは, nav2が要求するT27
7.ガゼボシミュレーション
AgileXは,すべての UGVプラットフォームに統一されたGazeboシミュレーションパッケージを [ugv_gazebo_sim] (T64
# ガゼボシムパケットをクローンする
cd ~/ros2_ws/src
git clone
ゲーゼボでSCOUT 2.0を起動する (プラットフォームで"スカウト"を置き換える) ロズ2発射偵察_説明偵察_gazebo.launch.py
8 キーリンク
| Resource | URL |
|---|---|
| ugv_sdk GitHub | github.com/agilexrobotics/ugv_sdk |
| Gazebo Simulation | github.com/agilexrobotics/ugv_gazebo_sim |
| Python binding | pypi.org/project/pyagxrobots |
| AgileX GitHub org | github.com/agilexrobotics (87 repos) |
| AgileX website | www.agilex.ai |
| Technical support | support@agilex.ai |
すべてのAgileXプラットフォーム AgileXプラットフォームハブ を検索して,SCOUT,RANGER,BUNKER,TRACER,LIMO,Piperをカバーする製品ページを検索してください.
プラットフォームモデルと出力







