前回の記事では、ROBOTISさんからいただいた2XLという1個に2軸入っている面白いサーボをROSで動かすことができた。
今回は、2軸の2XLと1軸のXL2個を繋げて4つの軸をジョイパッドで動かしたあと、アームロボットをインタラクティブに動かす(手などが近づいてきたら逃げるアームを作りたい)ために、「Intel RealSense Depth C amera D435i」というデプスカメラをROSで動かし、物が近づいてくるのを認識させたいと思う。
デプスカメラとは、奥行きの情報を取得する深度センサーがついたカメラのことで、物同士の距離などがわかる。デプスカメラについて、今回はROSを使って撮影するところまでで、インタラクティブにするところまでは至っていない。次回インタラクティブを進めていきたい。
サーボを3つ、4軸動かせるようにした
まずは、サーボを3つ、4軸動かせるように「basic.yaml」を書き換え、「joy_pan_tilt_4.py」という4つのサーボを動かすコードを用意したいと思う。
1軸のサーボXL(2個)と2軸のサーボ2XL(1個)を、デイジーチェーンで繋げる。
basic.yamlは「catkin_ws/src/dynamixel-workbench/dynamixel_workbench_controllers/config」の中にある。サーボの名前やサーボの個数が書いてあるので、これを4個に変更する。
具体的には下記のようにした。#で「Return_Delay_Time」をコメントアウトしているのは、これがあると2XLが動かないからである。「id1」と「ID: 1」でややこしい名前になってしまっているのが気になるが、後で軸の回転方向を変える可能性が高いので、「pan, tilt」などにしたくなかった。良い名前付けのアイデアのある人はそれに変更していただきたい。
ちなみに、basic.yamlを呼び出しているコードは「catkin_ws/src/dynamixel-workbench/dynamixel_workbench_controllers/launch」の中の「dynamixel_controllers.launch」の10行目にある。
# You can find control table of Dynamixel on emanual (http://emanual.robotis.com/#control-table)
# Control table item has to be set Camel_Case and not included whitespace
# You are supposed to set at least Dynamixel ID
id1:
ID: 1
# Return_Delay_Time: 0
id2:
ID: 2
# Return_Delay_Time: 0
id3:
ID: 3
id4:
ID: 4
Collapse
この連載の記事
- 第318回 DTM勢がAIで作曲したら、AIの得意分野と苦手分野が見えてきた
- 第317回 ものづくり版コミケ「Makerフェア」2024年は面白かった。出展者の世代交代もなされているように見えた
- 第315回 0歳児、いつから保育園に? 女性の働き方、とことん考えてみました
- 第315回 推しの細胞がついた指輪を作ってもらった
- 第314回 おしゃれすぎるファン付きウェアを買って重要な問題に気付いた
- 第313回 0歳児がいながら、働く。ベストなやり方は?
- 第312回 パートナーの反対で転職できない問題
- 第311回 YouTubeの再生を止めないために画面を自動でタップする機械を作った
- 第310回 地方に移住したいが、東京にとどまるべきか
- 第309回 「マジック:ザ・ギャザリング」という深淵の入り口に立った。まだ底は見えない
- この連載の一覧へ