Closed Naoki-Hiraoka closed 4 years ago
gazeboでクレーンを使用するためのプラグインです。 gazeboでロボットを地面に置きたい時に、従来は地面より少し高い位置を指定してロボットをワープさせて落とすという手法をとっていましたが、 このプラグインを使うことで①落とすことなく、②正確なZ方向位置を指定することなく、ロボットを地面に置くことが可能になります。
URDFの以下に以下のようなタグを加えることで使用できます。
<gazebo> <plugin filename="libCranePlugin.so" name="crane_plugin"> <objname>HRP2JSKNTS</objname> <linkname>CHEST_LINK1</linkname> <liftheight>1.2</liftheight> <lowerheight>0.5</lowerheight> <liftvelocity>0.1</liftvelocity> <lowervelocity>0.03</lowervelocity> <pgain>2500</pgain> <dgain>500</dgain> <damp>10000</damp> </plugin> </gazebo>
linknameのリンクに対し、liftheightの高さになるようにpgain dgainの値を用いてPD制御で外力を加えます。 紐で吊るされた状態を想定しているため、鉛直上向きにのみ外力を加え、下向きには外力を加えません。
linkname
liftheight
pgain
dgain
objname/name/LowerCommandにstd_msgs/Emptyトピックを送ると、目標高さがlowerheightまでlowervelocityの速さで徐々に下がり、目標高さがlowerheightに到達するとこのプラグインが無効になります。
objname/name/LowerCommand
lowerheight
lowervelocity
objname/name/LiftCommandにstd_msgs/Emptyトピックを送ると、このプラグインが再度有効になり、目標高さがliftheightまでliftvelocityの速さで徐々に上がります。
objname/name/LiftCommand
liftvelocity
@Naoki-Hiraoka Kindly ping
I'm sorry for my late response. I added description of plugins.
gazeboでクレーンを使用するためのプラグインです。 gazeboでロボットを地面に置きたい時に、従来は地面より少し高い位置を指定してロボットをワープさせて落とすという手法をとっていましたが、 このプラグインを使うことで①落とすことなく、②正確なZ方向位置を指定することなく、ロボットを地面に置くことが可能になります。
URDFの以下に以下のようなタグを加えることで使用できます。
linkname
のリンクに対し、liftheight
の高さになるようにpgain
dgain
の値を用いてPD制御で外力を加えます。 紐で吊るされた状態を想定しているため、鉛直上向きにのみ外力を加え、下向きには外力を加えません。objname/name/LowerCommand
にstd_msgs/Emptyトピックを送ると、目標高さがlowerheight
までlowervelocity
の速さで徐々に下がり、目標高さがlowerheight
に到達するとこのプラグインが無効になります。objname/name/LiftCommand
にstd_msgs/Emptyトピックを送ると、このプラグインが再度有効になり、目標高さがliftheight
までliftvelocity
の速さで徐々に上がります。