Weitere ähnliche Inhalte
Ähnlich wie 自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた (20)
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
- 2. 2
発表概要
• シリアルサーボをもっと気軽に ROS で使いたい
• 汎用シリアルサーボドライバ・ライブラリ gs2d を作って、
ROS2のパッケージに組込んでみた
位置制御
速度制御
A社独自
通信規格
位置制御
速度制御
C社独自
通信規格
位置制御
速度制御
電流制御
B社独自
通信規格
機械仕様の差のみで、
制御機能はほぼ同じ。
異なるメーカの製品の導入には、
各社の通信規格にあわせ都度、修正が必要。
開発資産の再利用性が低くなりがち
A社コマンド方式
サーボモータ
C社コマンド方式
サーボモータ
B社コマンド方式
サーボモータ
- 3. 3
gs2d とは
• gs2d ( Generic Serial-bus Servo Driver ) library
• C++, C#, Python ライブラリを作成
• 同一のメソッドで異なるメーカ/規格のシリアルサーボの制御が可能
• オープンソース ( Apache 2.0 License )
- 4. 4
gs2d 対応サーボドライバ
• kr-gs2d001 (2020.9 発売開始予定)
• gs2d に完全対応。
• RS485, 1 wire TTL Serial ドライバ搭載
• USBシリアル搭載 (USB2.1 via. USC-type C)
• Arduino シールド互換
• 3.0 ~ 5V レベル対応
メーカ 機種 規格
ロボティズ Dynamixel X シリーズ Protocol 2.0
近藤科学
B3Mシリーズ
KRSシリーズ
B3M Protocol
ICS3.6
ICS3.5
双葉電子工業 コマンド方式サーボ シリーズ コマンド方式 Protocol
対応メーカ/機種/規格 一覧
- 5. 5
ROS2 に gs2d を組込んでみた
• > ros2 run gs2d_ros2_driver gs2d
で gs2d を組込んだ ROS2ノードを起動。(動画では トルクON, 位置制御 の機能を実装)
• > ros2 topic pub -1 /gs2d_ros2_driver/torque_enable gs2d_ros2_driver_msg/TorqueEnable ‘{servo_id: 1, data: true}
でロボットに id:1 にトルクONのメッセージを送付
• > ros2 topic pub -1 /gs2d_ros2_driver/target_position gs2d_ros2_driver_msg/TargetPosition ‘{servo_id: 1, data: 20}
でロボットに id:1 のサーボに位置指令値 (20.0deg) のメッセージを送付
- 6. 6
gs2d 乞うご期待ください
• gs2d githubリポジトリ
• karakuri-products/gs2d
• gs2d-cpp (C++版)(後日公開) : karakuri-products/gs2d-cpp
• gs2d-csharp (C#版)(後日公開) : karakuri-products/gs2d-csharp
• gs2d-python (python版) : karakuri-products/gs2d-python
• gs2d-ros2-driver (ROS2実装sample) : karakuri-products/gs2d-ros2-driver
• gs2d-hw (ハードウェアマニュアル) : karakuri-products/gs2d-hardware
- 7. 7
連絡先
• Twitter : @reomatsumura
github : github.com/karakuri-products
mail : dev@krkrpro.com