From 2471ebd6e21ba7612f3f7329fdf498242fbc085f Mon Sep 17 00:00:00 2001 From: vahrenkamp <vahrenkamp@042f3d55-54a8-47e9-b7fb-15903f145c44> Date: Mon, 31 Mar 2014 08:22:30 +0000 Subject: [PATCH] Tweaked GraspRRT demo to avoid collisions with other arm. git-svn-id: http://svn.code.sf.net/p/simox/code/trunk@546 042f3d55-54a8-47e9-b7fb-15903f145c44 --- .../examples/GraspRRT/GraspRrtDemo.cpp | 4 +- .../examples/GraspRRT/GraspRrtWindow.cpp | 4 +- .../data/robots/ArmarIII/ArmarIII-LeftArm.xml | 6 +- .../robots/ArmarIII/ArmarIII-RightArm.xml | 7 +- .../scenes/examples/GraspRrt/planning.xml | 64 +++++++++++++++---- 5 files changed, 62 insertions(+), 23 deletions(-) diff --git a/MotionPlanning/examples/GraspRRT/GraspRrtDemo.cpp b/MotionPlanning/examples/GraspRRT/GraspRrtDemo.cpp index 2b21723f4..56d419369 100644 --- a/MotionPlanning/examples/GraspRRT/GraspRrtDemo.cpp +++ b/MotionPlanning/examples/GraspRRT/GraspRrtDemo.cpp @@ -36,13 +36,13 @@ int main (int argc, char** argv) std::string goalObject("Can"); std::string rnsName("Planning Left"); std::string colModel1("ColModel Robot Moving Left"); - std::string colModel2("ColModel Robot Body"); + std::string colModel2("ColModel Robot Body1"); std::string colModel3("ColModel Obstacles"); std::string eefName("Hand L"); std::string rnsNameB("Planning Right"); std::string colModel1B("ColModel Robot Moving Right"); - std::string colModel2B("ColModel Robot Body"); + std::string colModel2B("ColModel Robot Body2"); std::string eefNameB("Hand R"); VirtualRobot::RuntimeEnvironment::considerKey("scene"); diff --git a/MotionPlanning/examples/GraspRRT/GraspRrtWindow.cpp b/MotionPlanning/examples/GraspRRT/GraspRrtWindow.cpp index cded146bf..6ff75733f 100644 --- a/MotionPlanning/examples/GraspRRT/GraspRrtWindow.cpp +++ b/MotionPlanning/examples/GraspRRT/GraspRrtWindow.cpp @@ -610,7 +610,7 @@ void GraspRrtWindow::testInit() if (colModelEnv) cdm->addCollisionModel(colModelEnv); - test_cspace.reset(new Saba::CSpaceSampled(robot,cdm,rns)); + test_cspace.reset(new Saba::CSpaceSampled(robot,cdm,rns,500000)); } float sampl = (float)UI.doubleSpinBoxCSpaceSampling->value(); float samplDCD = (float)UI.doubleSpinBoxColChecking->value(); @@ -685,7 +685,7 @@ void GraspRrtWindow::plan() if (colModelEnv) cdm->addCollisionModel(colModelEnv); cdm->addCollisionModel(targetObject); - cspace.reset(new Saba::CSpaceSampled(robot,cdm,rns)); + cspace.reset(new Saba::CSpaceSampled(robot, cdm, rns, 500000)); float sampl = (float)UI.doubleSpinBoxCSpaceSampling->value(); float samplDCD = (float)UI.doubleSpinBoxColChecking->value(); cspace->setSamplingSize(sampl); diff --git a/VirtualRobot/data/robots/ArmarIII/ArmarIII-LeftArm.xml b/VirtualRobot/data/robots/ArmarIII/ArmarIII-LeftArm.xml index 35263ecb0..9362a8d07 100644 --- a/VirtualRobot/data/robots/ArmarIII/ArmarIII-LeftArm.xml +++ b/VirtualRobot/data/robots/ArmarIII/ArmarIII-LeftArm.xml @@ -16,7 +16,8 @@ <Joint type="revolute"> <!--DH a="0" d="0" theta="90" alpha="90" unitsangle="degree" unitslength="mm"/--> <axis x="0" y="0" z="1"/> - <Limits unit="degree" lo="-106.91" hi="42.8"/> + <Limits unit="degree" lo="-106.91" hi="80"/> + <!--42.8--> </Joint> <Physics> <CoM location="VisualizationBBoxCenter"/> @@ -86,7 +87,8 @@ <Joint type="revolute"> <!--DH a="0" d="-7.5" theta="90" alpha="-90" unitsangle="degree" unitslength="mm"/--> <axis x="0" y="0" z="1"/> - <Limits unit="degree" lo="-122.96" hi="19.14"/> + <Limits unit="degree" lo="-122.96" hi="55"/> + <!--19.14--> </Joint> <Visualization enable="true"> <CoordinateAxis type="Inventor" enable="false" scaling="8"/> diff --git a/VirtualRobot/data/robots/ArmarIII/ArmarIII-RightArm.xml b/VirtualRobot/data/robots/ArmarIII/ArmarIII-RightArm.xml index d76ef795d..94ffcf479 100644 --- a/VirtualRobot/data/robots/ArmarIII/ArmarIII-RightArm.xml +++ b/VirtualRobot/data/robots/ArmarIII/ArmarIII-RightArm.xml @@ -18,8 +18,9 @@ </Transform> <Joint type="revolute"> <!--DH a="0" d="0" theta="90" alpha="90" unitsangle="degree" unitslength="mm"/--> - <Limits unit="degree" lo="-106.94" hi="41.67"/> - </Joint> + <Limits unit="degree" lo="-106.94" hi="80"/> + <!--41.67--> + </Joint> <Physics> <CoM location="VisualizationBBoxCenter"/> <Mass value="3.65" units="kg" /> @@ -85,7 +86,7 @@ </Transform> <Joint type="revolute"> <!--DH a="0" d="7.5" theta="90" alpha="-90" unitsangle="degree" unitslength="mm"/--> - <Limits unit="degree" lo="-114.58" hi="39.7"/> <!-- ?! --> + <Limits unit="degree" lo="-114.58" hi="55"/> <!-- 39.7 --> </Joint> <Visualization enable="true"> <CoordinateAxis type="Inventor" enable="false" scaling="8"/> diff --git a/VirtualRobot/data/scenes/examples/GraspRrt/planning.xml b/VirtualRobot/data/scenes/examples/GraspRrt/planning.xml index 9bd163e8f..0dc07014f 100644 --- a/VirtualRobot/data/scenes/examples/GraspRrt/planning.xml +++ b/VirtualRobot/data/scenes/examples/GraspRrt/planning.xml @@ -8,17 +8,19 @@ <Node name="Hip Pitch" unit="radian" value="0"/> <Node name="Hip Roll" unit="radian" value="0"/> <Node name="Hip Yaw" unit="radian" value="0"/> - <Node name="Shoulder 1 L" unit="radian" value="0.26"/> - <Node name="Shoulder 2 L" unit="radian" value="0"/> - <Node name="Upperarm L" unit="radian" value="0.46"/> - <Node name="Elbow L" unit="radian" value="0.2"/> - <Node name="Underarm L" unit="radian" value="0"/> + <!--Node name="Shoulder 1 L" unit="radian" value="0.26"/--> + <Node name="Shoulder 1 L" unit="radian" value="0.85"/> + <Node name="Shoulder 2 L" unit="radian" value="0"/> + <Node name="Upperarm L" unit="radian" value="0.16"/> + <!--Node name="Elbow L" unit="radian" value="0.2"/--> + <Node name="Elbow L" unit="radian" value="0.55"/> + <Node name="Underarm L" unit="radian" value="0"/> <Node name="Wrist 1 L" unit="radian" value="0"/> <Node name="Wrist 2 L" unit="radian" value="0"/> - <Node name="Shoulder 1 R" unit="radian" value="0.26"/> + <Node name="Shoulder 1 R" unit="radian" value="0.85"/> <Node name="Shoulder 2 R" unit="radian" value="0"/> - <Node name="Upperarm R" unit="radian" value="-0.46"/> - <Node name="Elbow R" unit="radian" value="0.2"/> + <Node name="Upperarm R" unit="radian" value="-0.16"/> + <Node name="Elbow R" unit="radian" value="0.55"/> <Node name="Underarm R" unit="radian" value="0"/> <Node name="Wrist 1 R" unit="radian" value="0"/> <Node name="Wrist 2 R" unit="radian" value="0"/> @@ -87,13 +89,47 @@ </RobotNodeSet> <!-- The second collision model (torso, head and platform)--> - <RobotNodeSet name="ColModel Robot Body"> - <Node name="Platform"/> - <Node name="Hip Yaw"/> - <Node name="Head_Tilt"/> - </RobotNodeSet> + <RobotNodeSet name="ColModel Robot Body1"> + <Node name="Platform"/> + <Node name="Hip Yaw"/> + <Node name="Head_Tilt"/> + <Node name="Upperarm R"/> + <Node name="Underarm R"/> + <Node name="Hand Palm 1 R"/> + <Node name="Hand Palm 2 R"/> + <Node name="Thumb R J0"/> + <Node name="Thumb R J1"/> + <Node name="Index R J0"/> + <Node name="Index R J1"/> + <Node name="Middle R J0"/> + <Node name="Middle R J1"/> + <Node name="Ring R J0"/> + <Node name="Ring R J1"/> + <Node name="Pinky R J0"/> + <Node name="Pinky R J1"/> + </RobotNodeSet> + + <RobotNodeSet name="ColModel Robot Body2"> + <Node name="Platform"/> + <Node name="Hip Yaw"/> + <Node name="Head_Tilt"/> + <Node name="Upperarm L"/> + <Node name="Underarm L"/> + <Node name="Hand Palm 1 L"/> + <Node name="Hand Palm 2 L"/> + <Node name="Thumb L J0"/> + <Node name="Thumb L J1"/> + <Node name="Index L J0"/> + <Node name="Index L J1"/> + <Node name="Middle L J0"/> + <Node name="Middle L J1"/> + <Node name="Ring L J0"/> + <Node name="Ring L J1"/> + <Node name="Pinky L J0"/> + <Node name="Pinky L J1"/> + </RobotNodeSet> - <GlobalPose> + <GlobalPose> <Transform> <Translation x="-6115.0" y="3580.0" z="0"/> <rollpitchyaw units="degree" roll="0" pitch="0" yaw="0"/> -- GitLab