From 1928e6dba4734ff908266bc38f4447de165bdfec Mon Sep 17 00:00:00 2001
From: Pierre Fernbach <pierre.fernbach@laas.fr>
Date: Tue, 26 Jan 2016 14:47:49 +0100
Subject: [PATCH] add environnement for jump and test script

---
 CMakeLists.txt                       |  13 +++-
 data/meshes/ground_bigStep.stl       | Bin 0 -> 1284 bytes
 data/meshes/ground_jump_easy.stl     | Bin 0 -> 1284 bytes
 data/meshes/ground_jump_med.stl      | Bin 0 -> 1284 bytes
 data/meshes/ground_square.stl        | Bin 0 -> 684 bytes
 data/srdf/ground_bigStep.srdf        |  19 ++++++
 data/srdf/ground_jump_easy.srdf      |  19 ++++++
 data/srdf/ground_jump_med.srdf       |  19 ++++++
 data/urdf/ground_bigStep.urdf        |  19 ++++++
 data/urdf/ground_jump_easy.urdf      |  19 ++++++
 data/urdf/ground_jump_med.urdf       |  19 ++++++
 script/tests/robot_bigStep_path .py  |  88 +++++++++++++++++++++++++++
 script/tests/robot_jumpEasy_path .py |  88 +++++++++++++++++++++++++++
 13 files changed, 301 insertions(+), 2 deletions(-)
 create mode 100644 data/meshes/ground_bigStep.stl
 create mode 100644 data/meshes/ground_jump_easy.stl
 create mode 100644 data/meshes/ground_jump_med.stl
 create mode 100644 data/meshes/ground_square.stl
 create mode 100644 data/srdf/ground_bigStep.srdf
 create mode 100644 data/srdf/ground_jump_easy.srdf
 create mode 100644 data/srdf/ground_jump_med.srdf
 create mode 100644 data/urdf/ground_bigStep.urdf
 create mode 100644 data/urdf/ground_jump_easy.urdf
 create mode 100644 data/urdf/ground_jump_med.urdf
 create mode 100644 script/tests/robot_bigStep_path .py
 create mode 100644 script/tests/robot_jumpEasy_path .py

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81ca4de6..61bddc43 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -96,6 +96,9 @@ install(FILES
   data/urdf/robot_test/robot_test_lleg_rom.urdf
   data/urdf/robot_test/robot_test_rleg_rom.urdf
   data/urdf/robot_test/robot_test_trunk.urdf
+	data/urdf/ground_bigStep.urdf
+	data/urdf/ground_jump_easy.urdf
+	data/urdf/ground_jump_med.urdf
   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/urdf
   )
 install(FILES
@@ -130,6 +133,9 @@ install(FILES
   data/srdf/robot_test/robot_test_lleg_rom.srdf
   data/srdf/robot_test/robot_test_rleg_rom.srdf
   data/srdf/robot_test/robot_test_trunk.srdf
+	data/srdf/ground_bigStep.srdf
+	data/srdf/ground_jump_easy.srdf
+	data/srdf/ground_jump_med.srdf
   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/srdf
   )
 install(FILES
@@ -164,8 +170,11 @@ install(FILES
 	data/meshes/stepladder.stl
 	data/meshes/chair.stl
 	data/meshes/car.stl
-        data/meshes/polaris.stl
-        data/meshes/polaris_reduced.stl
+  data/meshes/polaris.stl
+  data/meshes/polaris_reduced.stl
+	data/meshes/ground_bigStep.stl
+	data/meshes/ground_jump_easy.stl
+	data/meshes/ground_jump_med.stl
   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/meshes
   )
 install(FILES
diff --git a/data/meshes/ground_bigStep.stl b/data/meshes/ground_bigStep.stl
new file mode 100644
index 0000000000000000000000000000000000000000..0abbfcc0abfa93e0f8c49070b8c397bae18d93c2
GIT binary patch
literal 1284
zcmb7?Jx&5q6opBQt(C=ePDQkk7(z%4nF(lYT>vFvs6fo1iCb_J?1ag*Mpy#DMq*=2
z?K|j6&gIQ3oa*GA``y2}cQ23A{3#p8qkKAvZ^qffFv~BSjrMhXK6@U-R~NN^ebGVm
zN3%?eS-<;w8zt21<ME=_D$~=We!16{`E!(j4ilaBSNF};_;z`zKYLMf@7_;b4QN|J
z9crbaEy28Sln8gFj!v$bs%xNMjZ)eY>QG}>r2Wa&QGzr1ghp{D)Cd!FbXWVl@@MTF
znwJ`vp_wePIop=JD{2r+_g;NhbkI8qXukWGSYOQx-W4_G*uBq->bp{h8e1Uk-<3K_
zgu7CQbD($4WOqdey;GwTr7fWjHFibXzY=wn;7mTDQJe`i!UP@kPK~@u+d0&s#;!>J
G{*NDZB#Qt5

literal 0
HcmV?d00001

diff --git a/data/meshes/ground_jump_easy.stl b/data/meshes/ground_jump_easy.stl
new file mode 100644
index 0000000000000000000000000000000000000000..8e9049c824708232603c101c6abd6a72abe6d9d3
GIT binary patch
literal 1284
zcmb7?KWoBJ6vYMU>L3mo->5^2bSO9&Ql(#@o$6SOBB+sQ!L?&Qlp$-!cJJ6hijyC}
z=1>lt>q`bR9p1UW`!DxlyGqhcJa&^bS-8PGUXJ7R`u66o=i2Mn7uW67F8YGAXg4{A
z*?JVc4}(7S_tktCO^;!#KFXmjLPrT`zWc;-_8WZ^H4a5C>Yw|d|5m&=iW<<ihC0+r
zLtBD*;V4nvl{z}PW-70Nel<#IOQ=JQU6J-DS4RoX<P#djnNXveprgA&UZw3E>QLi9
zYbHxHpY}QLiW<b}ai5pp6&>_W0-EpsT|L*nGTs$6=IES0v+}!AhZ<WT?cbF;N>q2H
z4(CAcn#t~p4tl3XCrVpF9ct`~w0|Y)D8ZS0LZdhnYE%<+&^tBqDsAUbhZ?&g{r^Ay
E0Kj;RRsaA1

literal 0
HcmV?d00001

diff --git a/data/meshes/ground_jump_med.stl b/data/meshes/ground_jump_med.stl
new file mode 100644
index 0000000000000000000000000000000000000000..a9008681fa0911fd0c7f792d4e30ed8abc991184
GIT binary patch
literal 1284
zcmb7?y-osA6ogHPt<@GAsx7sE7zz^#0%)jcs42~^6@OVU@&HiS`U*Y*2_3MB6%Rpa
zsrJ}-CuWj4+}(n$CU?$v{`Pd{lW{sr;^-+I52O1*GK!P5Qmfw8qwDGOV|06San=`}
zL}$lxb35&~ULV2+_2F``>HU_QL8+fXTZE1h(0uoa`0b~)cQw9TF6z&A*m!a8SFQ%M
zt)ULJ($JP*UN}k=ccqR_u9@;{pkIwr+7jweV^^g8$<<MUGx>x@aVFF#Cg|v{kXLCt
zhdR{w&zi{+>yPh@cSQ~2-M#1E6&>_W0-EpsU3Hhij(0_kIaZ5cmw#94P-6?E{ku{}
ziQ=x*;T-5)Gud6yLGRS)L}^Q?LycXL_OC=8B{-8$XcT8cjbefhdZ$KSrR^N*P-9o5
H|NqAyDRGi?

literal 0
HcmV?d00001

diff --git a/data/meshes/ground_square.stl b/data/meshes/ground_square.stl
new file mode 100644
index 0000000000000000000000000000000000000000..e7c34705f7100c4a2e0382e91f474eee25a862eb
GIT binary patch
literal 684
zcmZ>*D9A4=Nlj5mE6UGRaLP%|OGz!#HPSP)RM03cO;Rw>WFQIfps8lr5p!T)ag;-+
zvxF^-eU~+7@4f9Y2Sk{o4uIIGT3|BBIzVigIHnG<b<qwdfp)wFngwG&b(FBR0gCeh
z?EtY+?Ld}+v5|Fy*r+;S=7MC9b>MatvJA4%kxjyG2gtq1s*rV~>Ohu(u|Z)4(~aqK
rWEo@~Fh61HKvo6w6UYwSI$$!$VFfZ5SvRUbkY!+OP&^}>#J~Umqy@m6

literal 0
HcmV?d00001

diff --git a/data/srdf/ground_bigStep.srdf b/data/srdf/ground_bigStep.srdf
new file mode 100644
index 00000000..f8a2b31a
--- /dev/null
+++ b/data/srdf/ground_bigStep.srdf
@@ -0,0 +1,19 @@
+<robot name="ground_bigstep">
+  <link name="base_link">
+    <visual>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_bigStep.stl"/>
+      </geometry>
+      <material name="white">
+        <color rgba="1 1 1 1"/>
+      </material>
+    </visual>
+    <collision>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_bigStep.stl"/>
+      </geometry>
+    </collision>
+  </link>
+</robot>
diff --git a/data/srdf/ground_jump_easy.srdf b/data/srdf/ground_jump_easy.srdf
new file mode 100644
index 00000000..38317233
--- /dev/null
+++ b/data/srdf/ground_jump_easy.srdf
@@ -0,0 +1,19 @@
+<robot name="ground_jump_easy">
+  <link name="base_link">
+    <visual>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_easy.stl"/>
+      </geometry>
+      <material name="white">
+        <color rgba="1 1 1 1"/>
+      </material>
+    </visual>
+    <collision>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_easy.stl"/>
+      </geometry>
+    </collision>
+  </link>
+</robot>
diff --git a/data/srdf/ground_jump_med.srdf b/data/srdf/ground_jump_med.srdf
new file mode 100644
index 00000000..c367dd06
--- /dev/null
+++ b/data/srdf/ground_jump_med.srdf
@@ -0,0 +1,19 @@
+<robot name="ground_jump_med">
+  <link name="base_link">
+    <visual>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_med.stl"/>
+      </geometry>
+      <material name="white">
+        <color rgba="1 1 1 1"/>
+      </material>
+    </visual>
+    <collision>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_med.stl"/>
+      </geometry>
+    </collision>
+  </link>
+</robot>
diff --git a/data/urdf/ground_bigStep.urdf b/data/urdf/ground_bigStep.urdf
new file mode 100644
index 00000000..f8a2b31a
--- /dev/null
+++ b/data/urdf/ground_bigStep.urdf
@@ -0,0 +1,19 @@
+<robot name="ground_bigstep">
+  <link name="base_link">
+    <visual>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_bigStep.stl"/>
+      </geometry>
+      <material name="white">
+        <color rgba="1 1 1 1"/>
+      </material>
+    </visual>
+    <collision>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_bigStep.stl"/>
+      </geometry>
+    </collision>
+  </link>
+</robot>
diff --git a/data/urdf/ground_jump_easy.urdf b/data/urdf/ground_jump_easy.urdf
new file mode 100644
index 00000000..38317233
--- /dev/null
+++ b/data/urdf/ground_jump_easy.urdf
@@ -0,0 +1,19 @@
+<robot name="ground_jump_easy">
+  <link name="base_link">
+    <visual>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_easy.stl"/>
+      </geometry>
+      <material name="white">
+        <color rgba="1 1 1 1"/>
+      </material>
+    </visual>
+    <collision>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_easy.stl"/>
+      </geometry>
+    </collision>
+  </link>
+</robot>
diff --git a/data/urdf/ground_jump_med.urdf b/data/urdf/ground_jump_med.urdf
new file mode 100644
index 00000000..c367dd06
--- /dev/null
+++ b/data/urdf/ground_jump_med.urdf
@@ -0,0 +1,19 @@
+<robot name="ground_jump_med">
+  <link name="base_link">
+    <visual>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_med.stl"/>
+      </geometry>
+      <material name="white">
+        <color rgba="1 1 1 1"/>
+      </material>
+    </visual>
+    <collision>
+      <origin xyz="0 0 0" rpy="0 0 0" />
+      <geometry>
+        <mesh filename="package://hpp-rbprm-corba/meshes/ground_jump_med.stl"/>
+      </geometry>
+    </collision>
+  </link>
+</robot>
diff --git a/script/tests/robot_bigStep_path .py b/script/tests/robot_bigStep_path .py
new file mode 100644
index 00000000..ab83be9b
--- /dev/null
+++ b/script/tests/robot_bigStep_path .py	
@@ -0,0 +1,88 @@
+from hpp.corbaserver.rbprm.rbprmbuilder import Builder
+from hpp.gepetto import Viewer
+white=[1.0,1.0,1.0,1.0]
+green=[0.23,0.75,0.2,0.5]
+yellow=[0.85,0.75,0.15,1]
+pink=[1,0.6,1,1]
+orange=[1,0.42,0,1]
+brown=[0.85,0.75,0.15,0.5]
+blue = [0.0, 0.0, 0.8, 1.0]
+grey = [0.7,0.7,0.7,1.0]
+red = [0.8,0.0,0.0,1.0]
+
+rootJointType = 'freeflyer'
+packageName = 'hpp-rbprm-corba'
+meshPackageName = 'hpp-rbprm-corba'
+urdfName = 'robot_test_trunk'
+urdfNameRom = ['robot_test_lleg_rom','robot_test_rleg_rom']
+urdfSuffix = ""
+srdfSuffix = ""
+
+rbprmBuilder = Builder ()
+rbprmBuilder.loadModel(urdfName, urdfNameRom, rootJointType, meshPackageName, packageName, urdfSuffix, srdfSuffix)
+rbprmBuilder.setJointBounds ("base_joint_xyz", [-6,6, -3, 3, 0, 1.5])
+rbprmBuilder.boundSO3([-0.1,0.1,-3,3,-1.0,1.0])
+rbprmBuilder.setFilter(['robot_test_lleg_rom', 'robot_test_rleg_rom'])
+rbprmBuilder.setNormalFilter('robot_test_lleg_rom', [0,0,1], 0.5)
+rbprmBuilder.setNormalFilter('robot_test_rleg_rom', [0,0,1], 0.5)
+
+
+#~ from hpp.corbaserver.rbprm. import ProblemSolver
+from hpp.corbaserver.rbprm.problem_solver import ProblemSolver
+
+ps = ProblemSolver( rbprmBuilder )
+
+r = Viewer (ps)
+
+r.loadObstacleModel (packageName, "ground_bigStep", "planning")
+
+
+q_init = rbprmBuilder.getCurrentConfig ();
+q_init [0:3] = [-4, 1, 0.9]; rbprmBuilder.setCurrentConfig (q_init); r (q_init)
+
+
+q_goal = q_init [::]
+#q_goal [0:3] = [-2, 0, 0.9]; r (q_goal) # premiere passerelle
+q_goal [0:3] = [4, -1, 0.9]; r (q_goal) # pont
+
+
+#~ ps.addPathOptimizer("GradientBased")
+ps.addPathOptimizer("RandomShortcut")
+ps.client.problem.selectSteeringMethod("SteeringDynamic")
+ps.selectPathPlanner("RRTdynamic")
+ps.setInitialConfig (q_init)
+ps.addGoalConfig (q_goal)
+
+ps.client.problem.selectConFigurationShooter("RbprmShooter")
+ps.client.problem.selectPathValidation("RbprmPathValidation",0.05)
+
+r(q_init)
+
+r.solveAndDisplay("rm",1,0.02)
+
+
+#t = ps.solve ()
+
+#r.displayRoadmap("rm",0.005)
+
+r.displayPathMap("rmPath",0,0.02)
+
+
+
+from hpp.gepetto import PathPlayer
+pp = PathPlayer (rbprmBuilder.client.basic, r)
+
+pp(0)
+
+
+pp.displayPath(1,blue)
+r.client.gui.setVisibility("path_0_root","ALWAYS_ON_TOP")
+
+
+pp (1)
+
+#r.client.gui.removeFromGroup("rm",r.sceneName)
+r.client.gui.removeFromGroup("rmPath",r.sceneName)
+r.client.gui.removeFromGroup("path_1_root",r.sceneName)
+#~ pp.toFile(1, "/home/stonneau/dev/hpp/src/hpp-rbprm-corba/script/paths/stair.path")
+
diff --git a/script/tests/robot_jumpEasy_path .py b/script/tests/robot_jumpEasy_path .py
new file mode 100644
index 00000000..d7222046
--- /dev/null
+++ b/script/tests/robot_jumpEasy_path .py	
@@ -0,0 +1,88 @@
+from hpp.corbaserver.rbprm.rbprmbuilder import Builder
+from hpp.gepetto import Viewer
+white=[1.0,1.0,1.0,1.0]
+green=[0.23,0.75,0.2,0.5]
+yellow=[0.85,0.75,0.15,1]
+pink=[1,0.6,1,1]
+orange=[1,0.42,0,1]
+brown=[0.85,0.75,0.15,0.5]
+blue = [0.0, 0.0, 0.8, 1.0]
+grey = [0.7,0.7,0.7,1.0]
+red = [0.8,0.0,0.0,1.0]
+
+rootJointType = 'freeflyer'
+packageName = 'hpp-rbprm-corba'
+meshPackageName = 'hpp-rbprm-corba'
+urdfName = 'robot_test_trunk'
+urdfNameRom = ['robot_test_lleg_rom','robot_test_rleg_rom']
+urdfSuffix = ""
+srdfSuffix = ""
+
+rbprmBuilder = Builder ()
+rbprmBuilder.loadModel(urdfName, urdfNameRom, rootJointType, meshPackageName, packageName, urdfSuffix, srdfSuffix)
+rbprmBuilder.setJointBounds ("base_joint_xyz", [-6,6, -3, 3, 0, 1.5])
+rbprmBuilder.boundSO3([-0.1,0.1,-3,3,-1.0,1.0])
+rbprmBuilder.setFilter(['robot_test_lleg_rom', 'robot_test_rleg_rom'])
+rbprmBuilder.setNormalFilter('robot_test_lleg_rom', [0,0,1], 0.5)
+rbprmBuilder.setNormalFilter('robot_test_rleg_rom', [0,0,1], 0.5)
+
+
+#~ from hpp.corbaserver.rbprm. import ProblemSolver
+from hpp.corbaserver.rbprm.problem_solver import ProblemSolver
+
+ps = ProblemSolver( rbprmBuilder )
+
+r = Viewer (ps)
+
+r.loadObstacleModel (packageName, "ground_jump_easy", "planning")
+
+
+q_init = rbprmBuilder.getCurrentConfig ();
+q_init [0:3] = [-4, 1, 0.9]; rbprmBuilder.setCurrentConfig (q_init); r (q_init)
+
+
+q_goal = q_init [::]
+#q_goal [0:3] = [-2, 0, 0.9]; r (q_goal) # premiere passerelle
+q_goal [0:3] = [4, -1, 0.9]; r (q_goal) # pont
+
+
+#~ ps.addPathOptimizer("GradientBased")
+ps.addPathOptimizer("RandomShortcut")
+ps.client.problem.selectSteeringMethod("SteeringDynamic")
+ps.selectPathPlanner("RRTdynamic")
+ps.setInitialConfig (q_init)
+ps.addGoalConfig (q_goal)
+
+ps.client.problem.selectConFigurationShooter("RbprmShooter")
+ps.client.problem.selectPathValidation("RbprmPathValidation",0.05)
+
+r(q_init)
+
+r.solveAndDisplay("rm",1,0.02)
+
+
+#t = ps.solve ()
+
+#r.displayRoadmap("rm",0.005)
+
+r.displayPathMap("rmPath",0,0.02)
+
+
+
+from hpp.gepetto import PathPlayer
+pp = PathPlayer (rbprmBuilder.client.basic, r)
+
+pp(0)
+
+
+pp.displayPath(1,blue)
+r.client.gui.setVisibility("path_0_root","ALWAYS_ON_TOP")
+
+
+pp (1)
+
+#r.client.gui.removeFromGroup("rm",r.sceneName)
+r.client.gui.removeFromGroup("rmPath",r.sceneName)
+r.client.gui.removeFromGroup("path_1_root",r.sceneName)
+#~ pp.toFile(1, "/home/stonneau/dev/hpp/src/hpp-rbprm-corba/script/paths/stair.path")
+
-- 
GitLab