Open hyaguchijsk opened 7 years ago
@Horisu シングルアームもMoveItセットアップ可能にできると思っているのでよろしくお願いします。
あと、これを統合する際にコントローラまわりに大分diffが出てしまっていると思うので昇降をtypeFに合わせる、などといった作業も必要かな、と思っています。
逆に台車まわりはSingleArmの方が進んでいる気がしますので、typeFもいい感じにアップデート? なり、する必要があるかなと思っています。(ただいずれにしても謎の係数が入っていそうなので、/cmd_vel+フィードバックに統一したい。。。)
現状メンテナンスできないので、リリースからは外しました。 もし、追加し直す場合は0.3.0ブランチからフィルターして再度持ってきた上で、現在の生成システムに合わせるようお願いします。
本気でやるならMoveit生成システムに対応した上でAeroMoveitInterfaceのシングルアーム版も必要になってくるので、こちらで行う作業量としてあまりにも負担が大きすぎます。
SingleArmを2.0対応させようとしています。SingleArmは切り分けて議論等したほうが良いかと思いますが方向性がまとまるまでは現状のままで進めます。 7月末を目処にSingleArm版を公開できればと思っています。
現状aero_description内 setup.sh arm_typeCによりSingleArmモデルの生成ができ
roslaunch aero_startup aero_bringup.launch にてエラーなくrvizにSingleArmのモデルが表示される
状態です。
最終的にはaero_stdをSingleArm仕様で作成する必要があるかと思いますが現状ではSEED-Noid用の aero_stdを一部変更しaero_samplesのうちminimum, fk.ccが動作することを確認した状態です。
6月のサービスロボット展までにSingleArmをROSで動作させたいため動作することを最優先に作業を進めていますがarm+lifterで手先位置のikが解けるようにすることが直近の課題です。 現状の問題としては
seed-noid@seed-noid:~$ rosrun aero_samples hand_sample_node
[ INFO] [1525224067.514359830]: start creating robot_interface
[ INFO] [1525224069.028797870]: j0: r_shoulder_p_joint
[ INFO] [1525224069.028880444]: j1: r_shoulder_y_joint
[ INFO] [1525224069.028918036]: j2: r_elbow_joint
[ INFO] [1525224069.028956200]: j3: r_wrist_y_joint
[ INFO] [1525224069.028997562]: j4: r_wrist_p_joint
[ INFO] [1525224069.029034807]: j5: r_wrist_r_joint
[ INFO] [1525224069.029071155]: j6: knee_joint
[ INFO] [1525224069.029107604]: j7: ankle_joint
[ INFO] [1525224069.029188872]: start loading robot model
[ INFO] [1525224069.042365814]: Loading robot model 'AeroUpperRobot'...
[ INFO] [1525224069.304142322]: Loading robot model 'AeroUpperRobot'...
[ INFO] [1525224069.441591436]: Loading robot model 'AeroUpperRobot'...
[ INFO] [1525224069.574403021]: Loading robot model 'AeroUpperRobot'...
[ INFO] [1525224069.712937892]: start loading joint model groups
[ERROR] [1525224069.713046847]: JointModelGroup: waist is not found
[ERROR] [1525224069.713088726]: JointModelGroup: torso is not found
[ERROR] [1525224069.713127742]: JointModelGroup: both_arms is not found
[ INFO] [1525224069.713171949]: AERO MOVEIT INTERFACE is initialized
[ WARN] [1525224069.713266518]: SEVERE WARNING!!! Attempting to unload library while objects created by this loader exist in the heap! You should delete your objects before attempting to unload the library or destroying the ClassLoader. The library will NOT be unloaded.
[ INFO] [1525224069.713320942]: reseting robot pose
[ INFO] [1525224072.714432883]: moving hands
[ INFO] [1525224072.714485735]: move to 0 degrees
[ERROR] [1525224072.715562019]: open/close hand failed service call
[ INFO] [1525224072.715630024]: demo node finished
とservice callがfailする
2. ikが解けると思われる範囲内でik failする
seed-noid@seed-noid:~$ rosrun aero_samples ik_sample_node [ INFO] [1525223662.927996808]: start creating robot_interface [ INFO] [1525223664.400835388]: j0: r_shoulder_p_joint [ INFO] [1525223664.400946172]: j1: r_shoulder_y_joint [ INFO] [1525223664.401001037]: j2: r_elbow_joint [ INFO] [1525223664.401056900]: j3: r_wrist_y_joint [ INFO] [1525223664.401106247]: j4: r_wrist_p_joint [ INFO] [1525223664.401157397]: j5: r_wrist_r_joint [ INFO] [1525223664.401213581]: j6: knee_joint [ INFO] [1525223664.401257186]: j7: ankle_joint [ INFO] [1525223664.401380067]: start loading robot model [ INFO] [1525223664.422387736]: Loading robot model 'AeroUpperRobot'... [ INFO] [1525223664.685315341]: Loading robot model 'AeroUpperRobot'... [ INFO] [1525223664.819983473]: Loading robot model 'AeroUpperRobot'... [ INFO] [1525223664.955354306]: Loading robot model 'AeroUpperRobot'...
[ INFO] [1525223665.095800597]: start loading joint model groups
[ INFO] [1525223528.176890406]: AERO MOVEIT INTERFACE is initialized
[ WARN] [1525223665.096146428]: SEVERE WARNING!!! Attempting to unload library while objects created by this loader exist in the heap! You should delete your objects before attempting to unload the library or destroying the ClassLoader. The library will NOT be unloaded. [ INFO] [1525223665.096214983]: reseting robot pose [ INFO] [1525223668.097105155]: ik target
[ INFO] [1525223668.097199061]: x:0.480000 y:0.200000 z:1.180000
[ INFO] [1525223668.097270380]: w:1.000000 x:0.000000 y:0.000000 z:0.000000 [ WARN] [1525223669.179547487]: ik failed [ INFO] [1525223669.179585585]: demo node finishedhis loader exist in the heap! You should delete
reseting robot pose実行後のrviz
![image](https://user-images.githubusercontent.com/25475343/39500861-7a18fdea-4df2-11e8-9c01-2de214de2b13.png)
aero_bringup.launch実行時
seed-noid@seed-noid:~$ roslaunch aero_startup aero_bringup.launch ... logging to /home/seed-noid/.ros/log/b6837042-4da4-11e8-9654-9cda3eeab208/roslaunch-seed-noid-3013.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://seed-noid:43869/
PARAMETERS
NODES / aero_hand_controller (aero_ros_controller/aero_hand_controller_node) aero_ros_controller (aero_ros_controller/aero_ros_controller) aero_state_publisher (robot_state_publisher/robot_state_publisher) cm_spawner (controller_manager/spawner)
auto-starting new master process[master]: started with pid [3028] ROS_MASTER_URI=http://localhost:11311
setting /run_id to b6837042-4da4-11e8-9654-9cda3eeab208 process[rosout-1]: started with pid [3041] started core service [/rosout] process[aero_ros_controller-2]: started with pid [3044] process[aero_state_publisher-3]: started with pid [3048] process[cm_spawner-4]: started with pid [3059] process[aero_hand_controller-5]: started with pid [3061] [ INFO] [1525223047.697270357]: upper_port: /dev/aero_upper [ INFO] [1525223047.697349117]: lower_port: /dev/aero_lower [ INFO] [1525223047.697375716]: cycle: 66.666000 [ms], overlap_scale 2.000000 could not open /dev/aero_upper Proto: ERROR: invalid header could not open /dev/aero_lower Proto: ERROR: invalid header [ INFO] [1525223049.743045244]: ControllerManager start with 15.000150 Hz [ INFO] [1525223056.552855290]: max: 66.930165 [ms], ave: 66.819820 [ms] [ERROR] [1525223061.098324466]: timeout for waiting /lhand_controller/follow_joint_trajectory [ INFO] [1525223063.295411167]: max: 66.997332 [ms], ave: 66.779994 [ms] [ INFO] [1525223070.037396914]: max: 66.971035 [ms], ave: 66.762687 [ms] [ INFO] [1525223076.778643899]: max: 66.856783 [ms], ave: 66.751488 [ms] [ INFO] [1525223083.520214189]: max: 67.557120 [ms], ave: 66.751339 [ms] [ INFO] [1525223090.262482705]: max: 67.565589 [ms], ave: 66.753098 [ms] [ INFO] [1525223097.003192100]: max: 66.854022 [ms], ave: 66.744124 [ms] [ INFO] [1525223103.743807831]: max: 66.893160 [ms], ave: 66.740743 [ms] [ INFO] [1525223110.485150345]: max: 66.900552 [ms], ave: 66.743311 [ms] [ INFO] [1525223117.226575174]: max: 66.882250 [ms], ave: 66.744533 [ms]
[ERROR] [1525223061.098324466]: timeout for waiting /lhand_controller/follow_joint_trajectory
とあるように1.に関してはaero_hand_controllerの対応をしていないことが原因とも思われますが。
2.に関してはurdf.xacroのモデル定義内でlimitの上下限を設定しているだけですが他にlimitを設定しなければいけない箇所などあればご教授頂きたいです。
@hi-kondo 様 arm_typeC の作業を行われているブランチはどこになりますでしょうか? ブランチをお教えいただくか、いったんプルリクエストしていただいて、 ソースを見えるようにしていただいた方が、わかることが多いかと思います。
@YoheiKakiuchi 様 https://github.com/seed-solutions/seed-development にpull requestしました。 今後Single Arm関係は一時的にseed-developmentレポジトリに移行したいと思います。 privateレポジトリではないため今回pull-requestしたものは一度deleteする予定です。
@hi-kondo 様 おそくなりました。
ハンドに関しては、 以下にて対応できているかと思います。 ご確認おねがいします。 https://github.com/seed-solutions/aero-ros-pkg/pull/336
また、IKにつきましては、設定されているreset-poseの関節角度制限のギリギリである 関節があること、手首のpitch軸の可動範囲が狭いことから、IKで解ける範囲が狭いように思います。
reset-poseをすべての関節を角度0にしていただいて、 関節角度制限の9割程度以内の関節角を設定してFKにて求めた目標座標へのIKを 試していただけますでしょうか?
@YoheiKakiuchi 様 ご回答ありがとうございます。 上記2点に関してこちらでも問題解決しましたのでご報告させて頂きます。 IKに関してはご指摘の通りURDFのlimitの上下限を設定を見直し動作を確認しました。
@wesleypchan @chibi314 SingleArmの統合を行いましょう.