Closed forno closed 8 years ago
1つ目はさっき確認した
2つ目について,ダミーの横移動ジョイントについて詳しく頼む urdfに書いたprismaticジョイントとは違う意味?
3つ目について,一応現在そのようになっていると思われるがなんか動かない
現在のエラーについて, 具体的にはUnable to sample any valid states for goal treeと怒られる 目標PoseとしてMoveGroup::getRandomPose()から得られたgetmetry_msgs::Poseを放り込んでるけどコイツが手の届く範囲の目標Poseを出しているのか不明なため今確認中
まあ、2つ目の意味合いとしては前言ってたものと同じ感じではある。
エラーについては、rvizからは動くの?
rviz上でエンドエフェクタを引っ張って動かしてからplanポタンをポチるとmove_groupもちゃんと解を見つけてくる その後executeを実行するとコントローラが無いと怒る(これは当然)
ここまでをmove_group_interfaceから実行したいんだがどうも上手く行かない
それと上で言ったMoveGroup::getRandomPose()は文字通りランダムで範囲外も吐いてきてた 今はmoveit_configがガバガバな可能性が見えてきたからそこを調べてる
K D L の 逆 運 動 学 ソ ル バ が 低 自 由 度 の ア ー ム で は 上 手 く 働 か な い と か い う ク ソ み た い な 記 述 を 発 見
わろすわろす
それと上のgetRandomPoseは一応有効なものを吐くらしいんだが,計算の都合上自己干渉を考慮していないから無効な数値を吐くことがあるそうな 逆運動学ソルバの差し替えを検討するけど無理そうならプラグインをスクラッチするわ
https://groups.google.com/forum/#!topic/moveit-users/uMG3hZYhYbw 悲しいことにコードに加えてアームの構造まで完全一致
俺の苦労は何だったのか
とりあえずmoveit用のIKプラグインを作成する方向で勉強する 明日いっぱいでmoveitを切るか結論を出します
あー。そういえばfake_controllerを突っ込んでrviz立ち上げて、executeしてもエラーなん?
こんばんは. どんなことになっているのか気になったのでコメントしました. とりあえずこのリポジトリの中のそれっぽいlaunchファイルを起動してみました.
roslaunch roslaunch arcsys2_moveit_config demo.launch
fake_controllerだとしっかり動いている気がします. ↓動画
↓execute付近のターミナル出力
[ INFO] [1479479812.756132982]: RRTConnect: Created 32 states (10 start + 22 goal)
[ INFO] [1479479812.762158081]: RRTConnect: Created 45 states (21 start + 24 goal)
[ INFO] [1479479812.764254699]: RRTConnect: Created 39 states (12 start + 27 goal)
[ INFO] [1479479812.764658701]: ParallelPlan::solve(): Solution found by one or more threads in 0.017935 seconds
[ INFO] [1479479812.764784705]: RRTConnect: Starting planning with 1 states already in datastructure
[ INFO] [1479479812.764844479]: RRTConnect: Starting planning with 1 states already in datastructure
[ INFO] [1479479812.770861748]: RRTConnect: Created 38 states (10 start + 28 goal)
[ INFO] [1479479812.774242960]: RRTConnect: Created 52 states (19 start + 33 goal)
[ INFO] [1479479812.774410898]: ParallelPlan::solve(): Solution found by one or more threads in 0.009684 seconds
[ INFO] [1479479812.776316908]: SimpleSetup: Path simplification took 0.001834 seconds and changed from 5 to 25 states
[ INFO] [1479479818.797615085]: Received new trajectory execution service request...
[ INFO] [1479479818.797907136]: Fake execution of trajectory
[ INFO] [1479479819.798216717]: Execution completed: SUCCEEDED
どういう状況なのかあまりわかっていないので,また暇があったら研究室に来て直接でもいいので教えてください. 何か分かるかもしれません.
move_group_interface
からmoveitのプランニングをするのはmotoman_projectサンプルがある.moveit_commander
(Python API)のほうが結構簡単情報ありがとうございます
動かないものを上げても仕方がなかろうということでここ2日ほどの作業をpushしていませんが'move_group_interface'からのプランニングに関しては概ね上記の'motoman_project'のサンプルと大差無いようです
動画上では障害物が設定してありますが,その障害物はどこからインポートしたものでしょうか?
もう一度調べなおしてみましたが,やはりKDLキネマティクスソルバが原因のようです 5自由度以下のマニピュレータへの仕様に適していないとのこと
http://answers.ros.org/question/152591/kdl-kinematics-solver-limitations/
足も入れて6自由度なかったっけと思ったけどそういえば手元の上下をオミットしたおかげで5自由度に落ちてたね。
IKFastのmoveitプラグイン作成でほっとんどurdfと変わらない内容のIKFast用xmlを書かないといけなくなって萎えていたところ,「6自由度あればいいんじゃね?」という発想に至り,適当にエンドエフェクタ付近にひねりのジョイントを加えてみた所,
解 が 見 つ か り ま し た
現状,moveit::planning_interface::MoveGroup::plan()を実行したところで何故かうんともすんとも言わなくなるのですが最大の難所は超えたんじゃないかと思います
無事dof_verification
ブランチにてC++コードからの起動計画およびfake_executionに成功しました
返信が遅れてしまい申し訳ございません. 動画中の障害物については以下のリンクを参考にして作ってみてください. http://sdk.rethinkrobotics.com/wiki/MoveIt_Tutorial#Introducing_an_environment_representation_for_planning
Moveit の 実働が確認でき次第このIssueを閉じます。
Joint Follow Trajectory Action
をそのまま受け入れて制御することは成功を見ました。
同じ Joint Follow Trajectory Action
をposition, velocity制御に拡張するのにたった2行追加するだけなのはとても素晴らしいですね。
この Issueの閉じる基準を具体的に KRS servo の実働とします。 今日中に達成したいので、とりあえず誰か #37 をレビュしてくださいな。
これは要望なのですが、 現在の速度制御しているジョイントの向きを変えて、動く方向がx方向になるようにしてほしいです。 移動速度情報のみを送るので、移動方向はx軸方向に固定…みたいなイメージです。
RobotHWの汎用性が上がって嬉しいですし、ドライバの実装も使われ方を意識せず使えて嬉しいです。
ICS3実働確認、及び移動が正常に行われていることを確認。
たまに(おそらくカレントポジションの関係で)実行に失敗するので、角度の許容範囲を少々広げる必要があります。
https://github.com/agrirobo/arcsys2/tree/dy/test/krs ちなみに現在のテスト環境はこちらです。
追記:そのうちリンク切れになります
要請
とりあえずメモ書き