Add initial jsk_kinova_robot package#1313
Conversation
7c455d8 to
7185fef
Compare
7185fef to
bebbc72
Compare
add jsk_kinova_startup
|
塚本くんがおもしろデモを作ってくれそうなので,それが動いているのを見たらマージします.
--
◉ Kei Okada
2021年6月16日(水) 19:00 Naoya Yamaguchi ***@***.***>:
… https://github.com/Kinovarobotics/ros_kortex/pulls
へのプルリクエストがマージされないなどいくつかのTODOは残っていますが、上に書いたTODOは消せました。
残っているTODOは、プログラム内にコメントを残しています。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1313 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADYNXD7DGB3A6SH3YXWDVLTTBY3RANCNFSM4VRGYKHQ>
.
|
|
番犬デモとつなげてみましょう.masterをspot側にすることになると思うんだけど,
まずはlaunchファイル側でtfやjoint_states等のnamesace
がかぶらないようにnamesapceを設定する,というのがポイントになります.
また,eus側はdefclass arm-spot-interface :super spot-interface として,
euslisp/EusLisp#454
みたいに
forward で :angle-vector とか :state とか呼び出すとよいでしょう.
ありいは,
defcalss arm-spot-interface :super robot-interface で,ロボット,アームの両方共:forward
してもよいかもしれない.
とういのも/jointstate は2つのpublisher からでていても,(*ri* . robot)
にアーム付きのロボットモデルを入れておけば,send *ri* :state で情報取れる気がします.
というのを先輩に作ってもらうと良いです.
--
◉ Kei Okada
2021年6月23日(水) 15:04 Naoto Tsukamoto ***@***.***>:
… 飴を渡すデモです
https://drive.google.com/file/d/1QcqxxwaxEmOoU1G3Zd1M2j6jl9kOWuvv/view?usp=sharing
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1313 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADYNXDF4YREH5ZLHQU46GTTUF2PLANCNFSM4VRGYKHQ>
.
|
|
やったこと・これからやること
|
|
To use the latest kortex_ros (version 2.3.0), we may need to update the firmware of your robot. In order to use JSK's kinova now, we need to checkout kortex_ros (e.g. 330c55bce8c3d463cca2492b3e0c89204f235640) |
|
今日出来たこと
作業ブランチ 残っていること
|
|
できたこと
以下は実機で確認したこと
できなかったこと
次に実機で確認すること
|
|
できたこと
できていないこと
|
|
これまでのTODOは全部解消できたと思っていて、その実験として以下のプログラムを動かしてみました。 spot_kinova_interface_test.mp4今気づいているTODOは以下のとおりですが、塚本くんは番犬デモを作り始めてもらえると助かります。
|
|
@708yamaguchi
spotと*ri*を共通化する前に、:sitする際の良さそうな姿勢の候補をいくつか実験していました。 |
|
なるほど、ありがとう。 ではこの姿勢を から呼べるようにしておきました。 また、MoveIt!も使えるようになったはずです。 |
|
spot + kinovaのIKについて相談があります。 @sktometometo @Naoki-Hiraoka よろしくお願いします。 |
|
@708yamaguchi spoteus使ってないので関数があるかどうかは知らないけど、今いるgroundを示すframe自体はgpeというのがtfで出ているはず。見ている感じbodyからgroundにおろした点にodomと同じ姿勢のtfになっているっぽい. |
|
spotとkinovaを両方継承した*ri*インスタンスを使って番犬デモのコードを変更せずに番犬デモを実行できました。 IMG_1124.MOV |
|
遅くなりましたが、ありがとう。 |
脚で移動するロボットは、地面に接しているリンク以外は動いてしまい、また、地面に接するリンクも変化するので、ロボットのリンクの座標を基準にするということは難しいです。同じ場所に立ったまま手先を軽く動かす程度であれば、腕以外のリンクはほとんど動かさないので腰のリンクを基準にすることができ そのため、ロボット体内に基準座標系は設けずにworld座標系を基準にし、適当なリンクをrootlinkとして仮想的に6自由度の関節を取り付けてworld座標系と結びつける、
以下になります。しかし、 |
|
@Naoki-Hiraoka @tkmtnt7000
サンプルコードの結果です。
サンプルコード fullbody-ik.l |
|
番犬デモ+飴ちゃん渡すデモの動画です.
|
|
@708yamaguchi |
|
面白いデモですね。 |
ちょっと複雑なのですが、以下が理由になります。
例えば、(send *ri* :angle-vector angle-vector 10000)のように10秒でロボットアームを動かしたいとして、MoveIt!が計算した結果5秒・1msおき・5000点のtrajectoryが返ってきたとします。 対策としては、robot-moveit.lの:trajectory-filterの中で、MoveIt!から返ってきたtrajectoryを時間的に間引けるようなオプションをつけることかな、と考えています。 |
|
@708yamaguchi せっかく @tongtybj が,これまでのJSKにはないレスポンスの良いデモにしてくれたので,そこは生かしたいですね.そうでないとインタラクションと言いづらいし...
で,4)の計算を再現できる最小限のサンプルプログラムを作ってPRに送ってみましょう. |
|
毎回kinova-rest-poseからreset-poseにするときで調べています。
|
|
jsk_pr2eus#462を使った結果がこちらです。
|





I add
jsk_kinova_robotCurrent README:
https://github.com/708yamaguchi/jsk_robot/blob/kinova-gen3/jsk_kinova_robot/README.md
TODO:
kinovaeusandjsk_kinova_startupgen3_robotiq_2f_85,gen3_robotiq_2f_140andgen3_lite_gen3_lite_2fwhencatkin build kinovaeuskinovaeuswith IRT Viewer, Kinematics Simulator and Gazebo and MoveIt!jsk_kinova_startupscripts/avoid_lint_error.py, which is to avoidroslint_add_test()failure.roslaunch_add_file_check(), which currently fails because upstream packages (kortex_driver and kinova_vision) have invalid roslaunch style.jsk_kinova_startuppackage