Merge pull request #1706 from erwincoumans/master
add HelloBulletRobotics C++ example with similar API to PyBullet
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/SharedMemory
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src
|
||||
@@ -90,8 +91,8 @@ SET(BulletRobotics_SRCS
|
||||
../../examples/MultiThreading/b3PosixThreadSupport.cpp
|
||||
../../examples/MultiThreading/b3Win32ThreadSupport.cpp
|
||||
../../examples/MultiThreading/b3ThreadSupportInterface.cpp
|
||||
|
||||
|
||||
../../examples/RobotSimulator/b3RobotSimulatorClientAPI_NoGUI.cpp
|
||||
../../examples/RobotSimulator/b3RobotSimulatorClientAPI_NoGUI.h
|
||||
)
|
||||
|
||||
IF(BUILD_CLSOCKET)
|
||||
@@ -99,9 +100,6 @@ IF(BUILD_CLSOCKET)
|
||||
ENDIF(BUILD_CLSOCKET)
|
||||
|
||||
IF(WIN32)
|
||||
LINK_LIBRARIES(
|
||||
${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||
)
|
||||
IF(BUILD_ENET)
|
||||
ADD_DEFINITIONS(-DWIN32 -DBT_ENABLE_ENET)
|
||||
ENDIF(BUILD_ENET)
|
||||
@@ -120,7 +118,7 @@ ELSE(WIN32)
|
||||
|
||||
IF(NOT APPLE)
|
||||
LINK_LIBRARIES( pthread ${DL} )
|
||||
ENDIF(APPLE)
|
||||
ENDIF(NOT APPLE)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(BUILD_ENET)
|
||||
@@ -176,6 +174,7 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
../../examples/SharedMemory/PhysicsClientTCP_C_API.h
|
||||
../../examples/SharedMemory/SharedMemoryInProcessPhysicsC_API.h
|
||||
../../examples/SharedMemory/SharedMemoryPublic.h
|
||||
../../examples/RobotSimulator/b3RobotSimulatorClientAPI_NoGUI.h
|
||||
DESTINATION include/bullet
|
||||
)
|
||||
INSTALL(TARGETS
|
||||
|
||||
@@ -80,6 +80,7 @@ ENDIF(BUILD_SHARED_LIBS)
|
||||
INCLUDE_DIRECTORIES(
|
||||
.
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/SharedMemory
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
)
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ project "App_BulletExampleBrowser"
|
||||
includedirs {
|
||||
".",
|
||||
"../../src",
|
||||
"../../examples/SharedMemory",
|
||||
"../ThirdPartyLibs",
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/SharedMemory
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src
|
||||
@@ -11,8 +12,6 @@ SET(RobotSimulator_SRCS
|
||||
RobotSimulatorMain.cpp
|
||||
b3RobotSimulatorClientAPI.cpp
|
||||
b3RobotSimulatorClientAPI.h
|
||||
b3RobotSimulatorClientAPI_NoGUI.cpp
|
||||
b3RobotSimulatorClientAPI_NoGUI.h
|
||||
MinitaurSetup.cpp
|
||||
MinitaurSetup.h
|
||||
../../examples/ExampleBrowser/InProcessExampleBrowser.cpp
|
||||
@@ -71,7 +70,7 @@ SET_TARGET_PROPERTIES(App_RobotSimulator PROPERTIES COMPILE_DEFINITIONS "B3_USE_
|
||||
|
||||
IF(WIN32)
|
||||
IF(BUILD_ENET OR BUILD_CLSOCKET)
|
||||
TARGET_LINK_LIBRARIES(App_RobotSimulator ws2_32 )
|
||||
TARGET_LINK_LIBRARIES(App_RobotSimulator ws2_32 Winmm)
|
||||
ENDIF(BUILD_ENET OR BUILD_CLSOCKET)
|
||||
ENDIF(WIN32)
|
||||
|
||||
@@ -86,6 +85,7 @@ TARGET_LINK_LIBRARIES(App_RobotSimulator BulletRobotics BulletExampleBrowserLib
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/SharedMemory
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src
|
||||
@@ -93,8 +93,6 @@ INCLUDE_DIRECTORIES(
|
||||
|
||||
SET(RobotSimulator_NoGUI_SRCS
|
||||
RobotSimulatorMain.cpp
|
||||
b3RobotSimulatorClientAPI_NoGUI.cpp
|
||||
b3RobotSimulatorClientAPI_NoGUI.h
|
||||
MinitaurSetup.cpp
|
||||
MinitaurSetup.h
|
||||
)
|
||||
@@ -107,7 +105,7 @@ SET_TARGET_PROPERTIES(App_RobotSimulator_NoGUI PROPERTIES DEBUG_POSTFIX "_d")
|
||||
|
||||
IF(WIN32)
|
||||
IF(BUILD_ENET OR BUILD_CLSOCKET)
|
||||
TARGET_LINK_LIBRARIES(App_RobotSimulator_NoGUI ws2_32 )
|
||||
TARGET_LINK_LIBRARIES(App_RobotSimulator_NoGUI ws2_32 Winmm)
|
||||
ENDIF(BUILD_ENET OR BUILD_CLSOCKET)
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
@@ -123,6 +121,39 @@ TARGET_LINK_LIBRARIES(App_RobotSimulator_NoGUI BulletRobotics BulletFileLoader B
|
||||
|
||||
|
||||
|
||||
########
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/SharedMemory
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src
|
||||
)
|
||||
|
||||
SET(App_HelloBulletRobotics_SRCS
|
||||
HelloBulletRobotics.cpp
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(App_HelloBulletRobotics ${App_HelloBulletRobotics_SRCS})
|
||||
|
||||
SET_TARGET_PROPERTIES(App_HelloBulletRobotics PROPERTIES VERSION ${BULLET_VERSION})
|
||||
SET_TARGET_PROPERTIES(App_HelloBulletRobotics PROPERTIES DEBUG_POSTFIX "_d")
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
IF(BUILD_ENET OR BUILD_CLSOCKET)
|
||||
TARGET_LINK_LIBRARIES(App_HelloBulletRobotics ws2_32 Winmm)
|
||||
ENDIF(BUILD_ENET OR BUILD_CLSOCKET)
|
||||
ELSE()
|
||||
IF(APPLE)
|
||||
ELSE(APPLE)
|
||||
TARGET_LINK_LIBRARIES( App_HelloBulletRobotics pthread ${DL} )
|
||||
ENDIF(APPLE)
|
||||
ENDIF(WIN32)
|
||||
|
||||
TARGET_LINK_LIBRARIES(App_HelloBulletRobotics BulletRobotics BulletFileLoader BulletWorldImporter BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamicsUtils BulletInverseDynamics LinearMath Bullet3Common)
|
||||
|
||||
|
||||
|
||||
|
||||
37
examples/RobotSimulator/HelloBulletRobotics.cpp
Normal file
37
examples/RobotSimulator/HelloBulletRobotics.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
#include "b3RobotSimulatorClientAPI_NoGUI.h"
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
b3RobotSimulatorClientAPI_NoGUI* sim = new b3RobotSimulatorClientAPI_NoGUI();
|
||||
|
||||
bool isConnected = sim->connect(eCONNECT_SHARED_MEMORY);
|
||||
if (!isConnected)
|
||||
{
|
||||
printf("Using Direct mode\n");
|
||||
isConnected = sim->connect(eCONNECT_DIRECT);
|
||||
} else
|
||||
{
|
||||
printf("Using shared memory\n");
|
||||
}
|
||||
//remove all existing objects (if any)
|
||||
sim->resetSimulation();
|
||||
|
||||
int planeUid = sim->loadURDF("plane.urdf");
|
||||
printf("planeUid = %d\n", planeUid);
|
||||
|
||||
int r2d2Uid = sim->loadURDF("r2d2.urdf");
|
||||
printf("r2d2 #joints = %d\n", sim->getNumJoints(r2d2Uid));
|
||||
|
||||
b3Vector3 basePosition = b3MakeVector3(0,0,1);
|
||||
b3Quaternion baseOrientation = b3Quaternion(0,0,0,1);
|
||||
|
||||
sim->resetBasePositionAndOrientation(r2d2Uid, basePosition, baseOrientation);
|
||||
sim->setGravity(b3MakeVector3(0,0,-10));
|
||||
|
||||
while (sim->isConnected())
|
||||
{
|
||||
sim->stepSimulation();
|
||||
}
|
||||
delete sim;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef B3_ROBOT_SIMULATOR_CLIENT_API_H
|
||||
#define B3_ROBOT_SIMULATOR_CLIENT_API_H
|
||||
|
||||
#include "../SharedMemory/SharedMemoryPublic.h"
|
||||
#include "SharedMemoryPublic.h"
|
||||
#include "Bullet3Common/b3Vector3.h"
|
||||
#include "Bullet3Common/b3Quaternion.h"
|
||||
#include "Bullet3Common/b3Transform.h"
|
||||
|
||||
@@ -80,6 +80,7 @@ project ("App_RobotSimulator")
|
||||
includedirs {
|
||||
".",
|
||||
"../../src",
|
||||
"../../examples/SharedMemory",
|
||||
"../ThirdPartyLibs",
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None.001
|
||||
Ns 0.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.800000 0.800000 0.800000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
65494
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/anymal_base_2.obj
Normal file
65494
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/anymal_base_2.obj
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None.003
|
||||
Ns 0.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.800000 0.800000 0.800000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
30205
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/anymal_hip.obj
Normal file
30205
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/anymal_hip.obj
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
@@ -0,0 +1,735 @@
|
||||
# Blender v2.78 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib anymal_optoforce.mtl
|
||||
o anymal_shank_2_LF_001_anymal_shank_2_LF.000
|
||||
v -22.275206 11.349679 0.000033
|
||||
v -17.677725 17.677599 0.000019
|
||||
v 17.677624 17.677708 -0.000013
|
||||
v 11.349703 22.275188 -0.000026
|
||||
v 22.275124 11.349790 0.000008
|
||||
v -24.692184 -3.910906 -0.000040
|
||||
v -24.692225 3.910791 0.000002
|
||||
v -11.349827 22.275108 0.000026
|
||||
v 24.692194 3.910923 -0.000030
|
||||
v 24.692204 -3.910835 0.000025
|
||||
v 22.275185 -11.349720 -0.000006
|
||||
v 11.349813 -22.275150 0.000004
|
||||
v 3.910909 -24.692230 0.000015
|
||||
v -17.677616 -17.677711 -0.000031
|
||||
v -11.349707 -22.275190 -0.000020
|
||||
v -22.275145 -11.349840 0.000021
|
||||
v 17.677694 -17.677641 0.000007
|
||||
v -3.910802 -24.692230 -0.000003
|
||||
v -3.910934 24.692179 0.000015
|
||||
v 3.910807 24.692228 -0.000041
|
||||
v -11.349727 -22.275211 -10.999984
|
||||
v -4.919074 -24.511311 -10.999973
|
||||
v -3.903499 -24.573761 -11.000044
|
||||
v 1.876420 -24.929491 -11.000004
|
||||
v 3.869831 -24.501013 -11.000044
|
||||
v 8.532722 -23.498791 -10.999984
|
||||
v 14.556203 -20.325291 -10.999993
|
||||
v 11.242373 -22.071192 -11.000033
|
||||
v 19.500114 -15.644341 -11.000024
|
||||
v 17.524014 -17.515341 -10.999984
|
||||
v 22.997805 -9.803122 -11.000064
|
||||
v 22.125414 -11.260030 -11.000024
|
||||
v 24.789814 -3.234899 -10.999993
|
||||
v 24.611414 -3.888776 -11.000004
|
||||
v 24.743284 3.573256 -10.999973
|
||||
v 24.649723 3.898698 -11.000013
|
||||
v 22.861683 10.116429 -10.999993
|
||||
v 22.148415 11.271559 -11.000033
|
||||
v 19.284534 15.909299 -11.000004
|
||||
v 17.534084 17.521889 -11.000033
|
||||
v 14.277122 20.522247 -10.999993
|
||||
v 8.210862 23.613178 -11.000044
|
||||
v 11.243983 22.067698 -11.000013
|
||||
v 1.535609 24.952768 -11.000004
|
||||
v 3.869094 24.484457 -10.999964
|
||||
v -5.253515 24.441769 -11.000004
|
||||
v -3.899752 24.543657 -10.999993
|
||||
v -11.653016 22.118029 -11.000004
|
||||
v -17.188265 18.153889 -11.000004
|
||||
v -11.334726 22.233618 -11.000053
|
||||
v -17.612406 17.625198 -10.999973
|
||||
v -21.448746 12.843349 -11.000004
|
||||
v -22.114626 11.281219 -10.999973
|
||||
v -24.118475 6.580260 -10.999953
|
||||
v -24.470594 3.881845 -10.999964
|
||||
v -24.999435 -0.170820 -10.999984
|
||||
v -24.026295 -6.909235 -10.999993
|
||||
v -24.464056 -3.877986 -10.999993
|
||||
v -21.271265 -13.135261 -10.999964
|
||||
v -22.096334 -11.270720 -10.999964
|
||||
v -16.938616 -18.387072 -10.999993
|
||||
v -17.586096 -17.602201 -11.000004
|
||||
v -5.674866 -11.137610 -32.650642
|
||||
v -2.937540 -5.765267 -35.148132
|
||||
v -1.273163 -6.344009 -35.148132
|
||||
v -2.459540 -12.255651 -32.650635
|
||||
v 0.485633 -6.452253 -35.148125
|
||||
v 0.938179 -12.464780 -32.650593
|
||||
v 2.208427 -6.081930 -35.148163
|
||||
v 4.266350 -11.749411 -32.650635
|
||||
v 3.767417 -5.260579 -35.148151
|
||||
v 7.278076 -10.162681 -32.650604
|
||||
v 5.047001 -4.049057 -35.148174
|
||||
v 9.750044 -7.822195 -32.650623
|
||||
v 5.952235 -2.537286 -35.148102
|
||||
v 11.498883 -4.901587 -32.650642
|
||||
v 6.416067 -0.837259 -35.148151
|
||||
v 12.394893 -1.617461 -32.650642
|
||||
v 6.404011 0.924792 -35.148102
|
||||
v 12.371633 1.786623 -32.650623
|
||||
v 5.917038 2.618323 -35.148163
|
||||
v 11.430833 5.058206 -32.650635
|
||||
v 4.991172 4.117587 -35.148102
|
||||
v 9.642238 7.954622 -32.650604
|
||||
v 3.695176 5.311529 -35.148144
|
||||
v 7.138556 10.261109 -32.650635
|
||||
v 2.125129 6.111543 -35.148193
|
||||
v 4.105428 11.806589 -32.650673
|
||||
v 0.397429 6.458230 -35.148132
|
||||
v 0.767782 12.476359 -32.650604
|
||||
v -1.359711 6.326001 -35.148174
|
||||
v -2.626780 12.220849 -32.650604
|
||||
v -3.016031 5.724557 -35.148151
|
||||
v -5.826498 11.059030 -32.650692
|
||||
v -4.448679 4.698525 -35.148102
|
||||
v -8.594143 9.076935 -32.650642
|
||||
v -5.551372 3.324065 -35.148102
|
||||
v -10.724397 6.421641 -32.650604
|
||||
v -6.242337 1.703074 -35.148125
|
||||
v -12.059226 3.290150 -32.650661
|
||||
v -6.470337 -0.044225 -35.148151
|
||||
v -12.499737 -0.085433 -32.650604
|
||||
v -6.218462 -1.788240 -35.148174
|
||||
v -12.013166 -3.454647 -32.650612
|
||||
v -5.505427 -3.399683 -35.148125
|
||||
v -10.635636 -6.567634 -32.650635
|
||||
v -4.384053 -4.758944 -35.148132
|
||||
v -8.469316 -9.193542 -32.650635
|
||||
v -8.025476 -15.750970 -28.677643
|
||||
v -3.478301 -17.332090 -28.677683
|
||||
v 1.326820 -17.627811 -28.677692
|
||||
v 6.033537 -16.616161 -28.677664
|
||||
v 10.292793 -14.372120 -28.677713
|
||||
v 13.788633 -11.062261 -28.677633
|
||||
v 16.261894 -6.931862 -28.677692
|
||||
v 17.529034 -2.287450 -28.677633
|
||||
v 17.496155 2.526684 -28.677673
|
||||
v 16.165665 7.153409 -28.677704
|
||||
v 13.636193 11.249539 -28.677633
|
||||
v 10.095443 14.511419 -28.677673
|
||||
v 5.805933 16.697008 -28.677664
|
||||
v 1.085820 17.644249 -28.677633
|
||||
v -3.714807 17.282928 -28.677664
|
||||
v -8.239945 15.639779 -28.677643
|
||||
v -12.153946 12.836720 -28.677664
|
||||
v -15.166566 9.081602 -28.677652
|
||||
v -17.054335 4.652958 -28.677664
|
||||
v -17.677265 -0.120785 -28.677673
|
||||
v -16.989176 -4.885581 -28.677664
|
||||
v -15.041057 -9.288033 -28.677664
|
||||
v -11.977416 -13.001630 -28.677652
|
||||
v -9.829129 -19.290871 -23.500044
|
||||
v -4.260045 -21.227411 -23.499983
|
||||
v 1.625012 -21.589581 -23.499992
|
||||
v 7.389562 -20.350540 -23.500023
|
||||
v 12.606033 -17.602211 -23.500023
|
||||
v 16.887613 -13.548380 -23.500053
|
||||
v 19.916655 -8.489804 -23.499983
|
||||
v 21.468594 -2.801529 -23.499973
|
||||
v 21.428324 3.094536 -23.499992
|
||||
v 19.798803 8.761086 -23.500004
|
||||
v 16.700903 13.777869 -23.500023
|
||||
v 12.364343 17.772778 -23.499992
|
||||
v 7.110807 20.449598 -23.500013
|
||||
v 1.329884 21.609749 -23.500032
|
||||
v -4.549661 21.167217 -23.500053
|
||||
v -10.091826 19.154749 -23.499973
|
||||
v -14.885476 15.721719 -23.500013
|
||||
v -18.575146 11.122689 -23.500032
|
||||
v -20.887215 5.698664 -23.499952
|
||||
v -21.650145 -0.147931 -23.499983
|
||||
v -20.807405 -5.983599 -23.499964
|
||||
v -18.421465 -11.375481 -23.499952
|
||||
v -14.669287 -15.923690 -23.499952
|
||||
v -10.962966 -21.516171 -17.470514
|
||||
v -4.751456 -23.676102 -17.470463
|
||||
v 1.812470 -24.080061 -17.470453
|
||||
v 8.241971 -22.698101 -17.470474
|
||||
v 14.060193 -19.632751 -17.470434
|
||||
v 18.835644 -15.111310 -17.470444
|
||||
v 22.214144 -9.469131 -17.470463
|
||||
v 23.945133 -3.124644 -17.470533
|
||||
v 23.900204 3.451545 -17.470524
|
||||
v 22.082684 9.771708 -17.470453
|
||||
v 18.627434 15.367219 -17.470493
|
||||
v 13.790643 19.822968 -17.470474
|
||||
v 7.931082 22.808578 -17.470524
|
||||
v 1.483296 24.102549 -17.470514
|
||||
v -5.074510 23.608929 -17.470474
|
||||
v -11.255937 21.364399 -17.470533
|
||||
v -16.602585 17.535318 -17.470503
|
||||
v -20.717886 12.405729 -17.470484
|
||||
v -23.296656 6.356050 -17.470444
|
||||
v -24.147606 -0.165005 -17.470453
|
||||
v -23.207624 -6.673820 -17.470474
|
||||
v -20.546434 -12.687640 -17.470524
|
||||
v -16.361456 -17.760561 -17.470453
|
||||
v -0.000008 -0.000006 -36.000023
|
||||
vn -0.3284 -0.9445 0.0000
|
||||
vn -0.3090 -0.9510 0.0127
|
||||
vn -0.0614 -0.9981 -0.0108
|
||||
vn -0.0000 -0.9998 0.0216
|
||||
vn 0.2101 -0.9775 -0.0178
|
||||
vn 0.3089 -0.9507 0.0266
|
||||
vn 0.5876 -0.8087 0.0279
|
||||
vn 0.4660 -0.8845 -0.0210
|
||||
vn 0.8088 -0.5876 0.0254
|
||||
vn 0.6874 -0.7260 -0.0203
|
||||
vn 0.9509 -0.3090 0.0190
|
||||
vn 0.8578 -0.5137 -0.0159
|
||||
vn 1.0000 0.0000 0.0089
|
||||
vn 0.9647 -0.2632 -0.0076
|
||||
vn 1.0000 0.0068 0.0044
|
||||
vn 0.9610 0.2764 -0.0040
|
||||
vn 0.9509 0.3090 0.0161
|
||||
vn 0.8508 0.5254 -0.0135
|
||||
vn 0.8088 0.5876 0.0237
|
||||
vn 0.6774 0.7353 -0.0193
|
||||
vn 0.5876 0.8087 0.0275
|
||||
vn 0.3089 0.9507 0.0275
|
||||
vn 0.4539 0.8908 -0.0212
|
||||
vn -0.0000 0.9997 0.0237
|
||||
vn 0.1967 0.9803 -0.0193
|
||||
vn -0.3090 0.9509 0.0161
|
||||
vn -0.0750 0.9971 -0.0135
|
||||
vn -0.5822 0.8130 0.0044
|
||||
vn -0.5878 0.8090 0.0089
|
||||
vn -0.3413 0.9399 -0.0040
|
||||
vn -0.7800 0.6258 -0.0076
|
||||
vn -0.8089 0.5877 0.0190
|
||||
vn -0.9198 0.3921 -0.0159
|
||||
vn -0.9508 0.3089 0.0254
|
||||
vn -0.9914 0.1294 -0.0203
|
||||
vn -0.9996 -0.0000 0.0279
|
||||
vn -0.9507 -0.3089 0.0266
|
||||
vn -0.9895 -0.1429 -0.0209
|
||||
vn -0.8088 -0.5877 0.0216
|
||||
vn -0.9143 -0.4046 -0.0178
|
||||
vn -0.5877 -0.8090 0.0127
|
||||
vn -0.7713 -0.6363 -0.0108
|
||||
vn -0.5711 -0.8209 0.0000
|
||||
vn -0.7800 0.6257 -0.0076
|
||||
vn 0.8508 0.5253 -0.0135
|
||||
vn 0.9611 0.2763 -0.0040
|
||||
vn -0.1267 -0.3643 -0.9226
|
||||
vn -0.0237 -0.3850 -0.9226
|
||||
vn 0.0811 -0.3771 -0.9226
|
||||
vn 0.1798 -0.3413 -0.9226
|
||||
vn 0.2652 -0.2801 -0.9226
|
||||
vn 0.3310 -0.1981 -0.9226
|
||||
vn 0.3721 -0.1016 -0.9226
|
||||
vn 0.3857 0.0027 -0.9226
|
||||
vn 0.3707 0.1066 -0.9226
|
||||
vn 0.3282 0.2027 -0.9226
|
||||
vn 0.2614 0.2837 -0.9226
|
||||
vn 0.1752 0.3437 -0.9226
|
||||
vn 0.0759 0.3782 -0.9226
|
||||
vn -0.0289 0.3847 -0.9226
|
||||
vn -0.1317 0.3626 -0.9226
|
||||
vn -0.2246 0.3136 -0.9226
|
||||
vn -0.3009 0.2414 -0.9226
|
||||
vn -0.3548 0.1513 -0.9226
|
||||
vn -0.3825 0.0499 -0.9226
|
||||
vn -0.3818 -0.0551 -0.9226
|
||||
vn -0.3528 -0.1561 -0.9226
|
||||
vn -0.2976 -0.2455 -0.9226
|
||||
vn -0.2203 -0.3167 -0.9226
|
||||
vn -0.2011 -0.5784 -0.7906
|
||||
vn -0.0376 -0.6112 -0.7906
|
||||
vn 0.1287 -0.5987 -0.7906
|
||||
vn 0.2854 -0.5418 -0.7906
|
||||
vn 0.4210 -0.4447 -0.7906
|
||||
vn 0.5254 -0.3146 -0.7906
|
||||
vn 0.5908 -0.1612 -0.7906
|
||||
vn 0.6123 0.0042 -0.7906
|
||||
vn 0.5885 0.1692 -0.7906
|
||||
vn 0.5210 0.3217 -0.7906
|
||||
vn 0.4149 0.4504 -0.7906
|
||||
vn 0.2780 0.5456 -0.7906
|
||||
vn 0.1205 0.6004 -0.7906
|
||||
vn -0.0460 0.6106 -0.7906
|
||||
vn -0.2090 0.5756 -0.7906
|
||||
vn -0.3566 0.4978 -0.7906
|
||||
vn -0.4776 0.3832 -0.7906
|
||||
vn -0.5633 0.2401 -0.7906
|
||||
vn -0.6072 0.0792 -0.7906
|
||||
vn -0.6061 -0.0875 -0.7906
|
||||
vn -0.5600 -0.2478 -0.7906
|
||||
vn -0.4724 -0.3897 -0.7906
|
||||
vn -0.3497 -0.5027 -0.7906
|
||||
vn -0.2615 -0.7519 -0.6052
|
||||
vn -0.0489 -0.7946 -0.6052
|
||||
vn 0.1673 -0.7783 -0.6052
|
||||
vn 0.3711 -0.7043 -0.6052
|
||||
vn 0.5473 -0.5781 -0.6052
|
||||
vn 0.6830 -0.4090 -0.6052
|
||||
vn 0.7680 -0.2095 -0.6052
|
||||
vn 0.7961 0.0054 -0.6052
|
||||
vn 0.7651 0.2200 -0.6052
|
||||
vn 0.6773 0.4183 -0.6052
|
||||
vn 0.5394 0.5855 -0.6052
|
||||
vn 0.3614 0.7093 -0.6052
|
||||
vn 0.1566 0.7805 -0.6052
|
||||
vn -0.0597 0.7938 -0.6052
|
||||
vn -0.2717 0.7483 -0.6052
|
||||
vn -0.4635 0.6472 -0.6052
|
||||
vn -0.6210 0.4982 -0.6052
|
||||
vn -0.7323 0.3122 -0.6052
|
||||
vn -0.7894 0.1030 -0.6052
|
||||
vn -0.7879 -0.1138 -0.6052
|
||||
vn -0.7280 -0.3221 -0.6052
|
||||
vn -0.6141 -0.5066 -0.6052
|
||||
vn -0.4546 -0.6535 -0.6052
|
||||
vn -0.3038 -0.8738 -0.3796
|
||||
vn -0.0568 -0.9234 -0.3796
|
||||
vn 0.1944 -0.9045 -0.3796
|
||||
vn 0.4312 -0.8185 -0.3796
|
||||
vn 0.6361 -0.6718 -0.3796
|
||||
vn 0.7937 -0.4753 -0.3796
|
||||
vn 0.8925 -0.2435 -0.3796
|
||||
vn 0.9251 0.0063 -0.3796
|
||||
vn 0.8891 0.2557 -0.3796
|
||||
vn 0.7872 0.4861 -0.3796
|
||||
vn 0.6268 0.6804 -0.3796
|
||||
vn 0.4200 0.8243 -0.3796
|
||||
vn 0.1820 0.9070 -0.3796
|
||||
vn -0.0694 0.9225 -0.3796
|
||||
vn -0.3158 0.8696 -0.3796
|
||||
vn -0.5387 0.7521 -0.3796
|
||||
vn -0.7216 0.5789 -0.3796
|
||||
vn -0.8510 0.3628 -0.3796
|
||||
vn -0.9174 0.1197 -0.3796
|
||||
vn -0.9156 -0.1322 -0.3796
|
||||
vn -0.8460 -0.3744 -0.3796
|
||||
vn -0.7136 -0.5887 -0.3796
|
||||
vn -0.5283 -0.7594 -0.3796
|
||||
vn -0.3257 -0.9366 -0.1293
|
||||
vn -0.0609 -0.9897 -0.1293
|
||||
vn 0.2084 -0.9695 -0.1293
|
||||
vn 0.4622 -0.8773 -0.1293
|
||||
vn 0.6818 -0.7201 -0.1293
|
||||
vn 0.8507 -0.5094 -0.1293
|
||||
vn 0.9566 -0.2610 -0.1293
|
||||
vn 0.9916 0.0068 -0.1293
|
||||
vn 0.9530 0.2740 -0.1293
|
||||
vn 0.9530 0.2741 -0.1293
|
||||
vn 0.8437 0.5210 -0.1293
|
||||
vn 0.6718 0.7293 -0.1293
|
||||
vn 0.6719 0.7293 -0.1293
|
||||
vn 0.4502 0.8835 -0.1293
|
||||
vn 0.1951 0.9722 -0.1293
|
||||
vn -0.0744 0.9888 -0.1293
|
||||
vn -0.3384 0.9321 -0.1293
|
||||
vn -0.3385 0.9320 -0.1293
|
||||
vn -0.5774 0.8062 -0.1293
|
||||
vn -0.7735 0.6205 -0.1293
|
||||
vn -0.9122 0.3888 -0.1293
|
||||
vn -0.9833 0.1283 -0.1293
|
||||
vn -0.9814 -0.1417 -0.1293
|
||||
vn -0.9068 -0.4013 -0.1293
|
||||
vn -0.7649 -0.6310 -0.1293
|
||||
vn -0.5663 -0.8140 -0.1293
|
||||
vn 0.9530 0.2739 -0.1293
|
||||
vn -0.3157 0.8696 -0.3796
|
||||
vn 0.1820 0.9071 -0.3796
|
||||
vn 0.6774 0.4183 -0.6052
|
||||
vn -0.3565 0.4978 -0.7906
|
||||
vn -0.1316 0.3626 -0.9226
|
||||
vn -0.0290 0.3847 -0.9226
|
||||
vn 0.1751 0.3437 -0.9226
|
||||
vn 0.3857 0.0026 -0.9226
|
||||
vn 0.3721 -0.1015 -0.9226
|
||||
vn 0.3309 -0.1982 -0.9226
|
||||
vn -0.0752 -0.1081 -0.9913
|
||||
vn -0.1016 -0.0838 -0.9913
|
||||
vn -0.1205 -0.0533 -0.9913
|
||||
vn -0.1304 -0.0188 -0.9913
|
||||
vn -0.1306 0.0171 -0.9913
|
||||
vn -0.1212 0.0517 -0.9913
|
||||
vn -0.1028 0.0824 -0.9913
|
||||
vn -0.0767 0.1071 -0.9913
|
||||
vn -0.0450 0.1238 -0.9913
|
||||
vn -0.0099 0.1314 -0.9913
|
||||
vn 0.0259 0.1292 -0.9913
|
||||
vn 0.0598 0.1174 -0.9913
|
||||
vn 0.0893 0.0969 -0.9913
|
||||
vn 0.1121 0.0692 -0.9913
|
||||
vn 0.1266 0.0364 -0.9913
|
||||
vn 0.1317 0.0009 -0.9913
|
||||
vn 0.1271 -0.0347 -0.9913
|
||||
vn 0.1130 -0.0676 -0.9913
|
||||
vn 0.0906 -0.0957 -0.9913
|
||||
vn 0.0614 -0.1165 -0.9913
|
||||
vn 0.0277 -0.1288 -0.9913
|
||||
vn -0.0081 -0.1315 -0.9913
|
||||
vn -0.0433 -0.1244 -0.9913
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 15//1 21//1 22//1
|
||||
f 22//2 18//2 15//2
|
||||
f 18//3 23//3 24//3
|
||||
f 24//4 13//4 18//4
|
||||
f 13//5 25//5 26//5
|
||||
f 26//6 12//6 13//6
|
||||
f 17//7 12//7 27//7
|
||||
f 12//8 28//8 27//8
|
||||
f 11//9 17//9 29//9
|
||||
f 17//10 30//10 29//10
|
||||
f 10//11 11//11 31//11
|
||||
f 11//12 32//12 31//12
|
||||
f 9//13 10//13 33//13
|
||||
f 10//14 34//14 33//14
|
||||
f 33//15 35//15 9//15
|
||||
f 9//16 36//16 37//16
|
||||
f 37//17 5//17 9//17
|
||||
f 5//18 38//18 39//18
|
||||
f 39//19 3//19 5//19
|
||||
f 3//20 40//20 41//20
|
||||
f 41//21 4//21 3//21
|
||||
f 20//22 4//22 42//22
|
||||
f 4//23 43//23 42//23
|
||||
f 19//24 20//24 44//24
|
||||
f 20//25 45//25 44//25
|
||||
f 8//26 19//26 46//26
|
||||
f 19//27 47//27 46//27
|
||||
f 8//28 48//28 49//28
|
||||
f 49//29 2//29 8//29
|
||||
f 8//30 50//30 48//30
|
||||
f 2//31 51//31 52//31
|
||||
f 52//32 1//32 2//32
|
||||
f 1//33 53//33 54//33
|
||||
f 54//34 7//34 1//34
|
||||
f 7//35 55//35 56//35
|
||||
f 56//36 6//36 7//36
|
||||
f 16//37 6//37 57//37
|
||||
f 6//38 58//38 57//38
|
||||
f 14//39 16//39 59//39
|
||||
f 16//40 60//40 59//40
|
||||
f 15//41 14//41 61//41
|
||||
f 14//42 62//42 61//42
|
||||
f 61//43 21//43 15//43
|
||||
f 59//42 62//42 14//42
|
||||
f 57//40 60//40 16//40
|
||||
f 56//38 58//38 6//38
|
||||
f 54//35 55//35 7//35
|
||||
f 52//33 53//33 1//33
|
||||
f 49//44 51//44 2//44
|
||||
f 46//30 50//30 8//30
|
||||
f 44//27 47//27 19//27
|
||||
f 42//25 45//25 20//25
|
||||
f 41//23 43//23 4//23
|
||||
f 39//20 40//20 3//20
|
||||
f 37//45 38//45 5//45
|
||||
f 35//46 36//46 9//46
|
||||
f 31//14 34//14 10//14
|
||||
f 29//12 32//12 11//12
|
||||
f 27//10 30//10 17//10
|
||||
f 26//8 28//8 12//8
|
||||
f 24//5 25//5 13//5
|
||||
f 22//3 23//3 18//3
|
||||
f 63//47 64//47 65//47
|
||||
f 66//48 65//48 67//48
|
||||
f 68//49 67//49 69//49
|
||||
f 70//50 69//50 71//50
|
||||
f 72//51 71//51 73//51
|
||||
f 74//52 73//52 75//52
|
||||
f 76//53 75//53 77//53
|
||||
f 78//54 77//54 79//54
|
||||
f 80//55 79//55 81//55
|
||||
f 82//56 81//56 83//56
|
||||
f 84//57 83//57 85//57
|
||||
f 86//58 85//58 87//58
|
||||
f 88//59 87//59 89//59
|
||||
f 90//60 89//60 91//60
|
||||
f 92//61 91//61 93//61
|
||||
f 94//62 93//62 95//62
|
||||
f 96//63 95//63 97//63
|
||||
f 98//64 97//64 99//64
|
||||
f 100//65 99//65 101//65
|
||||
f 102//66 101//66 103//66
|
||||
f 104//67 103//67 105//67
|
||||
f 106//68 105//68 107//68
|
||||
f 108//69 107//69 64//69
|
||||
f 109//70 63//70 66//70
|
||||
f 110//71 66//71 68//71
|
||||
f 111//72 68//72 70//72
|
||||
f 112//73 70//73 72//73
|
||||
f 113//74 72//74 74//74
|
||||
f 114//75 74//75 76//75
|
||||
f 115//76 76//76 78//76
|
||||
f 116//77 78//77 80//77
|
||||
f 117//78 80//78 82//78
|
||||
f 118//79 82//79 84//79
|
||||
f 119//80 84//80 86//80
|
||||
f 120//81 86//81 88//81
|
||||
f 121//82 88//82 90//82
|
||||
f 122//83 90//83 92//83
|
||||
f 123//84 92//84 94//84
|
||||
f 124//85 94//85 96//85
|
||||
f 125//86 96//86 98//86
|
||||
f 126//87 98//87 100//87
|
||||
f 127//88 100//88 102//88
|
||||
f 128//89 102//89 104//89
|
||||
f 129//90 104//90 106//90
|
||||
f 130//91 106//91 108//91
|
||||
f 131//92 108//92 63//92
|
||||
f 132//93 109//93 110//93
|
||||
f 133//94 110//94 111//94
|
||||
f 134//95 111//95 112//95
|
||||
f 135//96 112//96 113//96
|
||||
f 136//97 113//97 114//97
|
||||
f 137//98 114//98 115//98
|
||||
f 138//99 115//99 116//99
|
||||
f 139//100 116//100 117//100
|
||||
f 140//101 117//101 118//101
|
||||
f 141//102 118//102 119//102
|
||||
f 142//103 119//103 120//103
|
||||
f 143//104 120//104 121//104
|
||||
f 144//105 121//105 122//105
|
||||
f 145//106 122//106 123//106
|
||||
f 146//107 123//107 124//107
|
||||
f 147//108 124//108 125//108
|
||||
f 148//109 125//109 126//109
|
||||
f 149//110 126//110 127//110
|
||||
f 150//111 127//111 128//111
|
||||
f 151//112 128//112 129//112
|
||||
f 152//113 129//113 130//113
|
||||
f 153//114 130//114 131//114
|
||||
f 154//115 131//115 109//115
|
||||
f 155//116 132//116 133//116
|
||||
f 156//117 133//117 134//117
|
||||
f 157//118 134//118 135//118
|
||||
f 158//119 135//119 136//119
|
||||
f 159//120 136//120 137//120
|
||||
f 160//121 137//121 138//121
|
||||
f 161//122 138//122 139//122
|
||||
f 162//123 139//123 140//123
|
||||
f 163//124 140//124 141//124
|
||||
f 164//125 141//125 142//125
|
||||
f 165//126 142//126 143//126
|
||||
f 166//127 143//127 144//127
|
||||
f 167//128 144//128 145//128
|
||||
f 168//129 145//129 146//129
|
||||
f 169//130 146//130 147//130
|
||||
f 170//131 147//131 148//131
|
||||
f 171//132 148//132 149//132
|
||||
f 172//133 149//133 150//133
|
||||
f 173//134 150//134 151//134
|
||||
f 174//135 151//135 152//135
|
||||
f 175//136 152//136 153//136
|
||||
f 176//137 153//137 154//137
|
||||
f 177//138 154//138 132//138
|
||||
f 21//139 155//139 156//139
|
||||
f 157//140 24//140 23//140
|
||||
f 23//140 156//140 157//140
|
||||
f 158//141 26//141 25//141
|
||||
f 25//141 157//141 158//141
|
||||
f 159//142 27//142 28//142
|
||||
f 28//142 158//142 159//142
|
||||
f 159//143 160//143 30//143
|
||||
f 160//143 29//143 30//143
|
||||
f 160//144 161//144 32//144
|
||||
f 161//144 31//144 32//144
|
||||
f 161//145 162//145 34//145
|
||||
f 162//145 33//145 34//145
|
||||
f 33//146 162//146 163//146
|
||||
f 164//147 37//147 36//147
|
||||
f 36//148 163//148 164//148
|
||||
f 165//149 39//149 38//149
|
||||
f 38//149 164//149 165//149
|
||||
f 166//150 41//150 40//150
|
||||
f 40//151 165//151 166//151
|
||||
f 167//152 42//152 43//152
|
||||
f 43//152 166//152 167//152
|
||||
f 167//153 168//153 45//153
|
||||
f 168//153 44//153 45//153
|
||||
f 168//154 169//154 47//154
|
||||
f 169//154 46//154 47//154
|
||||
f 169//155 170//155 50//155
|
||||
f 170//156 48//156 50//156
|
||||
f 48//157 170//157 171//157
|
||||
f 172//158 52//158 51//158
|
||||
f 51//158 171//158 172//158
|
||||
f 173//159 54//159 53//159
|
||||
f 53//159 172//159 173//159
|
||||
f 174//160 56//160 55//160
|
||||
f 55//160 173//160 174//160
|
||||
f 174//161 175//161 58//161
|
||||
f 175//161 57//161 58//161
|
||||
f 175//162 176//162 60//162
|
||||
f 176//162 59//162 60//162
|
||||
f 176//163 177//163 62//163
|
||||
f 177//163 61//163 62//163
|
||||
f 61//164 177//164 155//164
|
||||
f 155//164 21//164 61//164
|
||||
f 62//163 59//163 176//163
|
||||
f 60//162 57//162 175//162
|
||||
f 58//161 56//161 174//161
|
||||
f 55//160 54//160 173//160
|
||||
f 53//159 52//159 172//159
|
||||
f 51//158 49//158 171//158
|
||||
f 171//157 49//157 48//157
|
||||
f 50//155 46//155 169//155
|
||||
f 47//154 44//154 168//154
|
||||
f 45//153 42//153 167//153
|
||||
f 43//152 41//152 166//152
|
||||
f 40//151 39//151 165//151
|
||||
f 38//149 37//149 164//149
|
||||
f 36//165 35//165 163//165
|
||||
f 163//146 35//146 33//146
|
||||
f 34//145 31//145 161//145
|
||||
f 32//144 29//144 160//144
|
||||
f 30//143 27//143 159//143
|
||||
f 28//142 26//142 158//142
|
||||
f 25//141 24//141 157//141
|
||||
f 23//140 22//140 156//140
|
||||
f 156//139 22//139 21//139
|
||||
f 132//138 155//138 177//138
|
||||
f 154//137 177//137 176//137
|
||||
f 153//136 176//136 175//136
|
||||
f 152//135 175//135 174//135
|
||||
f 151//134 174//134 173//134
|
||||
f 150//133 173//133 172//133
|
||||
f 149//132 172//132 171//132
|
||||
f 148//131 171//131 170//131
|
||||
f 147//166 170//166 169//166
|
||||
f 146//129 169//129 168//129
|
||||
f 145//167 168//167 167//167
|
||||
f 144//127 167//127 166//127
|
||||
f 143//126 166//126 165//126
|
||||
f 142//125 165//125 164//125
|
||||
f 141//124 164//124 163//124
|
||||
f 140//123 163//123 162//123
|
||||
f 139//122 162//122 161//122
|
||||
f 138//121 161//121 160//121
|
||||
f 137//120 160//120 159//120
|
||||
f 136//119 159//119 158//119
|
||||
f 135//118 158//118 157//118
|
||||
f 134//117 157//117 156//117
|
||||
f 133//116 156//116 155//116
|
||||
f 109//115 132//115 154//115
|
||||
f 131//114 154//114 153//114
|
||||
f 130//113 153//113 152//113
|
||||
f 129//112 152//112 151//112
|
||||
f 128//111 151//111 150//111
|
||||
f 127//110 150//110 149//110
|
||||
f 126//109 149//109 148//109
|
||||
f 125//108 148//108 147//108
|
||||
f 124//107 147//107 146//107
|
||||
f 123//106 146//106 145//106
|
||||
f 122//105 145//105 144//105
|
||||
f 121//104 144//104 143//104
|
||||
f 120//103 143//103 142//103
|
||||
f 119//168 142//168 141//168
|
||||
f 118//101 141//101 140//101
|
||||
f 117//100 140//100 139//100
|
||||
f 116//99 139//99 138//99
|
||||
f 115//98 138//98 137//98
|
||||
f 114//97 137//97 136//97
|
||||
f 113//96 136//96 135//96
|
||||
f 112//95 135//95 134//95
|
||||
f 111//94 134//94 133//94
|
||||
f 110//93 133//93 132//93
|
||||
f 63//92 109//92 131//92
|
||||
f 108//91 131//91 130//91
|
||||
f 106//90 130//90 129//90
|
||||
f 104//89 129//89 128//89
|
||||
f 102//88 128//88 127//88
|
||||
f 100//87 127//87 126//87
|
||||
f 98//86 126//86 125//86
|
||||
f 96//169 125//169 124//169
|
||||
f 94//84 124//84 123//84
|
||||
f 92//83 123//83 122//83
|
||||
f 90//82 122//82 121//82
|
||||
f 88//81 121//81 120//81
|
||||
f 86//80 120//80 119//80
|
||||
f 84//79 119//79 118//79
|
||||
f 82//78 118//78 117//78
|
||||
f 80//77 117//77 116//77
|
||||
f 78//76 116//76 115//76
|
||||
f 76//75 115//75 114//75
|
||||
f 74//74 114//74 113//74
|
||||
f 72//73 113//73 112//73
|
||||
f 70//72 112//72 111//72
|
||||
f 68//71 111//71 110//71
|
||||
f 66//70 110//70 109//70
|
||||
f 64//69 63//69 108//69
|
||||
f 107//68 108//68 106//68
|
||||
f 105//67 106//67 104//67
|
||||
f 103//66 104//66 102//66
|
||||
f 101//65 102//65 100//65
|
||||
f 99//64 100//64 98//64
|
||||
f 97//63 98//63 96//63
|
||||
f 95//62 96//62 94//62
|
||||
f 93//170 94//170 92//170
|
||||
f 91//171 92//171 90//171
|
||||
f 89//59 90//59 88//59
|
||||
f 87//172 88//172 86//172
|
||||
f 85//57 86//57 84//57
|
||||
f 83//56 84//56 82//56
|
||||
f 81//55 82//55 80//55
|
||||
f 79//173 80//173 78//173
|
||||
f 77//174 78//174 76//174
|
||||
f 75//175 76//175 74//175
|
||||
f 73//51 74//51 72//51
|
||||
f 71//50 72//50 70//50
|
||||
f 69//49 70//49 68//49
|
||||
f 67//48 68//48 66//48
|
||||
f 65//47 66//47 63//47
|
||||
f 64//176 107//176 178//176
|
||||
f 107//177 105//177 178//177
|
||||
f 105//178 103//178 178//178
|
||||
f 103//179 101//179 178//179
|
||||
f 101//180 99//180 178//180
|
||||
f 99//181 97//181 178//181
|
||||
f 97//182 95//182 178//182
|
||||
f 95//183 93//183 178//183
|
||||
f 93//184 91//184 178//184
|
||||
f 91//185 89//185 178//185
|
||||
f 89//186 87//186 178//186
|
||||
f 87//187 85//187 178//187
|
||||
f 85//188 83//188 178//188
|
||||
f 83//189 81//189 178//189
|
||||
f 81//190 79//190 178//190
|
||||
f 79//191 77//191 178//191
|
||||
f 77//192 75//192 178//192
|
||||
f 75//193 73//193 178//193
|
||||
f 73//194 71//194 178//194
|
||||
f 71//195 69//195 178//195
|
||||
f 69//196 67//196 178//196
|
||||
f 67//197 65//197 178//197
|
||||
f 65//198 64//198 178//198
|
||||
f 14//199 5//199 19//199
|
||||
f 20//199 19//199 4//199
|
||||
f 8//199 2//199 6//199
|
||||
f 1//199 7//199 6//199
|
||||
f 6//199 16//199 14//199
|
||||
f 14//199 15//199 10//199
|
||||
f 18//199 13//199 12//199
|
||||
f 12//199 17//199 15//199
|
||||
f 11//199 10//199 15//199
|
||||
f 9//199 5//199 10//199
|
||||
f 3//199 4//199 5//199
|
||||
f 19//199 8//199 14//199
|
||||
f 1//199 6//199 2//199
|
||||
f 15//199 18//199 12//199
|
||||
f 17//199 11//199 15//199
|
||||
f 5//199 4//199 19//199
|
||||
f 8//199 6//199 14//199
|
||||
f 14//199 10//199 5//199
|
||||
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None.002
|
||||
Ns 0.000000
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.800000 0.800000 0.800000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
23272
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/anymal_thigh.obj
Normal file
23272
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/anymal_thigh.obj
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
10
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/hip.mtl
Normal file
10
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/hip.mtl
Normal file
@@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
||||
731
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/robot.urdf
Normal file
731
examples/pybullet/gym/pybullet_data/quadruped/ANYmal/robot.urdf
Normal file
@@ -0,0 +1,731 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- | This document was autogenerated by xacro from /home/dbellicoso/catkin_ws/src/anymal_beth/anymal_beth_description/urdf/anymal_beth.urdf.xacro | -->
|
||||
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
||||
<!-- =================================================================================== -->
|
||||
<!--Copyright (C) 2015 by Dario Bellicoso -->
|
||||
<!--bellicosodario@gmail.com -->
|
||||
<!-- -->
|
||||
<!--This program is free software; you can redistribute it and/or modify -->
|
||||
<!--it under the terms of the Lesser GNU General Public License as published -->
|
||||
<!--by the Free Software Foundation; either version 3 of the License, or -->
|
||||
<!--(at your option) any later version. -->
|
||||
<!-- -->
|
||||
<!--This program is distributed in the hope that it will be useful, -->
|
||||
<!--but WITHOUT ANY WARRANTY; without even the implied warranty of -->
|
||||
<!--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
|
||||
<!--Lesser GNU General Public License for more details. -->
|
||||
<!-- -->
|
||||
<!--You should have received a copy of the Lesser GNU General Public License -->
|
||||
<!--along with this program. If not, see <http://www.gnu.org/licenses/>. -->
|
||||
<!-- This file contains the description of the ANYmal Beth robot. -->
|
||||
<robot name="anymal" xmlns:xacro="http://www.ros.org/wiki/xacro">
|
||||
<material name="black">
|
||||
<color rgba="0.0 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="blue">
|
||||
<color rgba="0.0 0.0 0.8 1.0"/>
|
||||
</material>
|
||||
<material name="green">
|
||||
<color rgba="0.0 0.8 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="grey">
|
||||
<color rgba="0.2 0.2 0.2 1.0"/>
|
||||
</material>
|
||||
<material name="light_grey">
|
||||
<color rgba="0.4 0.4 0.4 1.0"/>
|
||||
</material>
|
||||
<material name="orange">
|
||||
<color rgba="1.0 0.423529411765 0.0392156862745 1.0"/>
|
||||
</material>
|
||||
<material name="brown">
|
||||
<color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
|
||||
</material>
|
||||
<material name="red">
|
||||
<color rgba="0.8 0.0 0.0 1.0"/>
|
||||
</material>
|
||||
<material name="white">
|
||||
<color rgba="1.0 1.0 1.0 1.0"/>
|
||||
</material>
|
||||
<gazebo>
|
||||
<plugin filename="libanymal_gazebo.so" name="gazebo_ros_control">
|
||||
<robotNamespace>anymal</robotNamespace>
|
||||
<!-- Currently unused -->
|
||||
<robotDescription>quadruped_description</robotDescription>
|
||||
<robotBaseLink>base</robotBaseLink>
|
||||
<statePublisherRate>400.0</statePublisherRate>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
<!-- Material for the visual primitives -->
|
||||
<material name="anymal_black_material">
|
||||
<color rgba="0.3 0.3 0.3 1"/>
|
||||
</material>
|
||||
<material name="anymal_material">
|
||||
<color rgba="0.7 0.7 0.7 1"/>
|
||||
</material>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- Base link -->
|
||||
<link name="base">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_base_2.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_black_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<!-- Main Body -->
|
||||
<origin rpy="0 0 0" xyz="0 0 0.08"/>
|
||||
<geometry>
|
||||
<box size="0.531 0.232 0.26"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.022 -0.01 0.01"/>
|
||||
<mass value="21.39"/>
|
||||
<inertia ixx="0.268388530624" ixy="0.000775392455422" ixz="-0.0151848534451" iyy="0.884235660795" iyz="-0.000989297489507" izz="0.829158678306"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="LF_HIP">
|
||||
<visual>
|
||||
<origin rpy="3.14159265359 1.5707963268 3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_hip.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0585 0.0315 0.0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.0542 -0.0136 0.0"/>
|
||||
<mass value="1.1064"/>
|
||||
<inertia ixx="0.00123301508523" ixy="-6.4285329973e-05" ixz="6.9990104e-08" iyy="0.000993231183395" iyz="2.327401345e-06" izz="0.00142160349098"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="LF_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="LF_HIP"/>
|
||||
<origin xyz="0.2629 0.115 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="LF_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_thigh.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="0.145 0 0" xyz="0 0.02 -0.1"/>
|
||||
<geometry>
|
||||
<cylinder length="0.2" radius="0.01"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 0.07 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.0008 0.0545 -0.1975"/>
|
||||
<mass value="1.51"/>
|
||||
<inertia ixx="0.0147571628275" ixy="-1.7996507882e-05" ixz="0.000205877679383" iyy="0.0144188925719" iyz="-0.00181291342366" izz="0.00178449075964"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="LF_HFE" type="revolute">
|
||||
<parent link="LF_HIP"/>
|
||||
<child link="LF_THIGH"/>
|
||||
<origin xyz="0.0585 0.0315 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="LF_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 0.0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_shank_2_LF.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="0 -0.9 -0.2" xyz="0.04 -0.02 -0.04"/>
|
||||
<geometry>
|
||||
<cylinder length="0.13" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="-0.0 0.34 0" xyz="0.06 -0.03 -0.18"/>
|
||||
<geometry>
|
||||
<cylinder length="0.19" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.016355414056 -0.00562219106 -0.064350437219"/>
|
||||
<mass value="0.318"/>
|
||||
<inertia ixx="0.0037693717909" ixy="-7.7334500762e-05" ixz="-0.000152069372983" iyy="0.00400446467635" iyz="-0.0003218356083" izz="0.000418471691904"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="LF_KFE" type="revolute">
|
||||
<parent link="LF_THIGH"/>
|
||||
<child link="LF_SHANK"/>
|
||||
<origin xyz="0.0 0.111 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Foot mount link -->
|
||||
<link name="LF_FOOT_MOUNT">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_optoforce.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.03"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-5.552058e-06 7.1133124e-05 -0.021388647779"/>
|
||||
<mass value="0.1922685"/>
|
||||
<inertia ixx="8.3086410294e-05" ixy="4.16901601e-07" ixz="3.99054799e-07" iyy="8.2860209667e-05" iyz="-3.45712252e-07" izz="8.1948124086e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Foot mount joint / ankle -->
|
||||
<joint name="LF_ANKLE_JOINT" type="fixed">
|
||||
<parent link="LF_SHANK"/>
|
||||
<child link="LF_FOOT_MOUNT"/>
|
||||
<origin rpy="0.323 0.549 0" xyz="0.0 -0.016 -0.31"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- Gazebo customization -->
|
||||
<gazebo reference="LF_FOOT_SENSOR">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>100.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
</gazebo>
|
||||
<gazebo reference="LF_MOUNT_TO_SENSOR"/>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="RF_HIP">
|
||||
<visual>
|
||||
<origin rpy="0 -1.57079632679 3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_hip.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0585 -0.0315 0.0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.0542 0.0136 0.0"/>
|
||||
<mass value="1.1064"/>
|
||||
<inertia ixx="0.00123301508523" ixy="6.4285329973e-05" ixz="6.9990104e-08" iyy="0.000993231183395" iyz="-2.327401345e-06" izz="0.00142160349098"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="RF_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="RF_HIP"/>
|
||||
<origin xyz="0.2629 -0.115 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="RF_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_thigh.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="-0.145 0 0" xyz="0 -0.02 -0.1"/>
|
||||
<geometry>
|
||||
<cylinder length="0.2" radius="0.01"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 -0.07 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.0008 -0.0545 -0.1975"/>
|
||||
<mass value="1.51"/>
|
||||
<inertia ixx="0.0147571628275" ixy="1.7996507882e-05" ixz="0.000205877679383" iyy="0.0144188925719" iyz="0.00181291342366" izz="0.00178449075964"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="RF_HFE" type="revolute">
|
||||
<parent link="RF_HIP"/>
|
||||
<child link="RF_THIGH"/>
|
||||
<origin xyz="0.0585 -0.0315 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="RF_SHANK">
|
||||
<visual>
|
||||
<origin rpy="3.14159265359 3.14159265359 3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_shank_2_RF.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="0 -0.9 0.2" xyz="0.04 0.02 -0.04"/>
|
||||
<geometry>
|
||||
<cylinder length="0.13" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="0.0 0.34 0" xyz="0.06 0.03 -0.18"/>
|
||||
<geometry>
|
||||
<cylinder length="0.19" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="0.016355414056 0.00562219106 -0.064350437219"/>
|
||||
<mass value="0.318"/>
|
||||
<inertia ixx="0.0037693717909" ixy="7.7334500762e-05" ixz="-0.000152069372983" iyy="0.00400446467635" iyz="0.0003218356083" izz="0.000418471691904"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="RF_KFE" type="revolute">
|
||||
<parent link="RF_THIGH"/>
|
||||
<child link="RF_SHANK"/>
|
||||
<origin xyz="0.0 -0.111 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Foot mount link -->
|
||||
<link name="RF_FOOT_MOUNT">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_optoforce.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.03"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-5.552058e-06 -7.1133124e-05 -0.021388647779"/>
|
||||
<mass value="0.1922685"/>
|
||||
<inertia ixx="8.3086410294e-05" ixy="-4.16901601e-07" ixz="3.99054799e-07" iyy="8.2860209667e-05" iyz="3.45712252e-07" izz="8.1948124086e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Foot mount joint / ankle -->
|
||||
<joint name="RF_ANKLE_JOINT" type="fixed">
|
||||
<parent link="RF_SHANK"/>
|
||||
<child link="RF_FOOT_MOUNT"/>
|
||||
<origin rpy="-0.323 0.549 0" xyz="0.0 0.016 -0.31"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- Gazebo customization -->
|
||||
<gazebo reference="RF_FOOT_SENSOR">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>100.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
</gazebo>
|
||||
<gazebo reference="RF_MOUNT_TO_SENSOR"/>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="LH_HIP">
|
||||
<visual>
|
||||
<origin rpy="0 -1.5707963268 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_hip.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="-1.57079632679 0 0" xyz="-0.0585 0.0315 0.0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.0542 -0.0136 0.0"/>
|
||||
<mass value="1.1064"/>
|
||||
<inertia ixx="0.00123301508523" ixy="6.4285329973e-05" ixz="-6.9990104e-08" iyy="0.000993231183395" iyz="2.327401345e-06" izz="0.00142160349098"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="LH_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="LH_HIP"/>
|
||||
<origin xyz="-0.2629 0.115 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="LH_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_thigh.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="0.145 0 0" xyz="0 0.02 -0.1"/>
|
||||
<geometry>
|
||||
<cylinder length="0.2" radius="0.01"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 0.07 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.0008 0.0545 -0.1975"/>
|
||||
<mass value="1.51"/>
|
||||
<inertia ixx="0.0147571628275" ixy="1.7996507882e-05" ixz="-0.000205877679383" iyy="0.0144188925719" iyz="-0.00181291342366" izz="0.00178449075964"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="LH_HFE" type="revolute">
|
||||
<parent link="LH_HIP"/>
|
||||
<child link="LH_THIGH"/>
|
||||
<origin xyz="-0.0585 0.0315 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="LH_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_shank_2_LH.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="0 0.9 0.2" xyz="-0.04 -0.02 -0.04"/>
|
||||
<geometry>
|
||||
<cylinder length="0.13" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="-0.0 -0.34 0" xyz="-0.06 -0.03 -0.18"/>
|
||||
<geometry>
|
||||
<cylinder length="0.19" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.016355414056 -0.00562219106 -0.064350437219"/>
|
||||
<mass value="0.318"/>
|
||||
<inertia ixx="0.0037693717909" ixy="7.7334500762e-05" ixz="0.000152069372983" iyy="0.00400446467635" iyz="-0.0003218356083" izz="0.000418471691904"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="LH_KFE" type="revolute">
|
||||
<parent link="LH_THIGH"/>
|
||||
<child link="LH_SHANK"/>
|
||||
<origin xyz="-0.0 0.111 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Foot mount link -->
|
||||
<link name="LH_FOOT_MOUNT">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_optoforce.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.03"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="5.552058e-06 7.1133124e-05 -0.021388647779"/>
|
||||
<mass value="0.1922685"/>
|
||||
<inertia ixx="8.3086410294e-05" ixy="-4.16901601e-07" ixz="-3.99054799e-07" iyy="8.2860209667e-05" iyz="-3.45712252e-07" izz="8.1948124086e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Foot mount joint / ankle -->
|
||||
<joint name="LH_ANKLE_JOINT" type="fixed">
|
||||
<parent link="LH_SHANK"/>
|
||||
<child link="LH_FOOT_MOUNT"/>
|
||||
<origin rpy="0.323 -0.549 0" xyz="-0.0 -0.016 -0.31"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- Gazebo customization -->
|
||||
<gazebo reference="LH_FOOT_SENSOR">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>100.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
</gazebo>
|
||||
<gazebo reference="LH_MOUNT_TO_SENSOR"/>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="RH_HIP">
|
||||
<visual>
|
||||
<origin rpy="1.5707963268 1.5707963268 -1.5707963268" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_hip.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="-1.57079632679 0 0" xyz="-0.0585 -0.0315 0.0"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.0542 0.0136 0.0"/>
|
||||
<mass value="1.1064"/>
|
||||
<inertia ixx="0.00123301508523" ixy="-6.4285329973e-05" ixz="-6.9990104e-08" iyy="0.000993231183395" iyz="-2.327401345e-06" izz="0.00142160349098"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Hip joint -->
|
||||
<joint name="RH_HAA" type="revolute">
|
||||
<parent link="base"/>
|
||||
<child link="RH_HIP"/>
|
||||
<origin xyz="-0.2629 -0.115 0.0"/>
|
||||
<axis xyz="1 0 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="RH_THIGH">
|
||||
<visual>
|
||||
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_thigh.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="-0.145 0 0" xyz="0 -0.02 -0.1"/>
|
||||
<geometry>
|
||||
<cylinder length="0.2" radius="0.01"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="1.57079632679 0 0" xyz="0.0 -0.07 -0.25"/>
|
||||
<geometry>
|
||||
<cylinder length="0.08" radius="0.04"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.0008 -0.0545 -0.1975"/>
|
||||
<mass value="1.51"/>
|
||||
<inertia ixx="0.0147571628275" ixy="-1.7996507882e-05" ixz="-0.000205877679383" iyy="0.0144188925719" iyz="0.00181291342366" izz="0.00178449075964"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Thigh joint -->
|
||||
<joint name="RH_HFE" type="revolute">
|
||||
<parent link="RH_HIP"/>
|
||||
<child link="RH_THIGH"/>
|
||||
<origin xyz="-0.0585 -0.0315 0.0"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- [Nm] -->
|
||||
<link name="RH_SHANK">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_shank_2_RH.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<!--collision>
|
||||
<origin rpy="0 0.9 -0.2" xyz="-0.04 0.02 -0.04"/>
|
||||
<geometry>
|
||||
<cylinder length="0.13" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision-->
|
||||
<collision>
|
||||
<origin rpy="0.0 -0.34 0" xyz="-0.06 0.03 -0.18"/>
|
||||
<geometry>
|
||||
<cylinder length="0.19" radius="0.015"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="-0.016355414056 0.00562219106 -0.064350437219"/>
|
||||
<mass value="0.318"/>
|
||||
<inertia ixx="0.0037693717909" ixy="-7.7334500762e-05" ixz="0.000152069372983" iyy="0.00400446467635" iyz="0.0003218356083" izz="0.000418471691904"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Shank joint -->
|
||||
<joint name="RH_KFE" type="revolute">
|
||||
<parent link="RH_THIGH"/>
|
||||
<child link="RH_SHANK"/>
|
||||
<origin xyz="-0.0 -0.111 -0.25"/>
|
||||
<axis xyz="0 1 0"/>
|
||||
<limit effort="80" lower="-6.28" upper="6.28" velocity="15"/>
|
||||
<dynamics damping="0.0" friction="0.0"/>
|
||||
</joint>
|
||||
<!-- Foot mount link -->
|
||||
<link name="RH_FOOT_MOUNT">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0"/>
|
||||
<geometry>
|
||||
<mesh filename="anymal_optoforce.obj" scale="0.001 0.001 0.001"/>
|
||||
</geometry>
|
||||
<material name="anymal_material"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
||||
<geometry>
|
||||
<sphere radius="0.03"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<origin rpy="0 0 0" xyz="5.552058e-06 -7.1133124e-05 -0.021388647779"/>
|
||||
<mass value="0.1922685"/>
|
||||
<inertia ixx="8.3086410294e-05" ixy="4.16901601e-07" ixz="-3.99054799e-07" iyy="8.2860209667e-05" iyz="3.45712252e-07" izz="8.1948124086e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<!-- Foot mount joint / ankle -->
|
||||
<joint name="RH_ANKLE_JOINT" type="fixed">
|
||||
<parent link="RH_SHANK"/>
|
||||
<child link="RH_FOOT_MOUNT"/>
|
||||
<origin rpy="-0.323 -0.549 0" xyz="-0.0 0.016 -0.31"/>
|
||||
</joint>
|
||||
<!-- Xacro:Properties -->
|
||||
<!-- [m] -->
|
||||
<!-- Gazebo customization -->
|
||||
<gazebo reference="RH_FOOT_SENSOR">
|
||||
<kp>1000000.0</kp>
|
||||
<kd>100.0</kd>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
</gazebo>
|
||||
<gazebo reference="RH_MOUNT_TO_SENSOR"/>
|
||||
<link name="imu_link">
|
||||
<visual>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.011"/>
|
||||
<geometry>
|
||||
<box size="0.058 0.058 0.022"/>
|
||||
</geometry>
|
||||
<material name="orange"/>
|
||||
</visual>
|
||||
<collision>
|
||||
<origin rpy="0 0 0" xyz="0 0 0.011"/>
|
||||
<geometry>
|
||||
<box size="0.058 0.058 0.022"/>
|
||||
</geometry>
|
||||
</collision>
|
||||
<inertial>
|
||||
<mass value="0.05"/>
|
||||
<origin xyz="0 0 0"/>
|
||||
<inertia ixx="1.60333333333e-05" ixy="0.0" ixz="0.0" iyy="2.80333333333e-05" iyz="0.0" izz="1.60333333333e-05"/>
|
||||
</inertial>
|
||||
</link>
|
||||
<joint name="imu_joint" type="fixed">
|
||||
<parent link="base"/>
|
||||
<child link="imu_link"/>
|
||||
<origin rpy="3.14159265359 0 0" xyz="0.0245 -0.04255 0.1857"/>
|
||||
</joint>
|
||||
<gazebo reference="imu_link">
|
||||
<material>Gazebo/Orange</material>
|
||||
<mu1>0.8</mu1>
|
||||
<mu2>0.8</mu2>
|
||||
</gazebo>
|
||||
<gazebo reference="imu_joint">
|
||||
</gazebo>
|
||||
<gazebo>
|
||||
<plugin filename="libhector_gazebo_ros_imu.so" name="imu_plugin">
|
||||
<robotNamespace>sensors</robotNamespace>
|
||||
<bodyName>imu_link</bodyName>
|
||||
<frameId>/imu_link</frameId>
|
||||
<topicName>imu</topicName>
|
||||
<biasTopicName>imu/bias</biasTopicName>
|
||||
<serviceName>imu/calibrate</serviceName>
|
||||
<updateRate>400</updateRate>
|
||||
</plugin>
|
||||
</gazebo>
|
||||
<!-- Omniview -->
|
||||
<!-- <xacro:include filename="$(find anymal_beth_description)/urdf/omniview/anymal_beth_omniview_macro.urdf.xacro"/> -->
|
||||
<!-- <xacro:anymal_beth_omniview_mesh link_name="omniview_mesh_front" parent_name="base" joint_name="omniview_mesh_front_joint"> -->
|
||||
<!-- <origin xyz="0.3312 0.0 0.025" rpy="-1.57079632679 0.0 0.0"/> -->
|
||||
<!-- </xacro:anymal_beth_omniview_mesh> -->
|
||||
<!-- <xacro:anymal_beth_omniview_mesh link_name="omniview_mesh_back" parent_name="base" joint_name="omniview_mesh_back_joint"> -->
|
||||
<!-- <origin xyz="-0.3312 0.0 0.025" rpy="-1.57079632679 0.0 3.14159265359"/> -->
|
||||
<!-- </xacro:anymal_beth_omniview_mesh> -->
|
||||
<!--<link name="static_lidar_front"/>-->
|
||||
<!--<joint name="base_to_static_lidar_front" type="fixed">-->
|
||||
<!--<origin rpy="1.57079632679 0.0 1.57079632679" xyz="0.2 0.0 0.1415"/>-->
|
||||
<!--<parent link="base"/>-->
|
||||
<!--<child link="static_lidar_front"/>-->
|
||||
<!--<origin rpy="0 0 0" xyz="0 0 0"/>-->
|
||||
<!--</joint>-->
|
||||
<!-- <xacro:anymal_lidar_fix name="static_lidar_back" parent="base" dynamixel_lidar_offset="0.1515">
|
||||
<origin xyz="-0.2 0.0 0.1415" rpy="1.57079632679 0.0 -1.57079632679"/>
|
||||
</xacro:anymal_lidar_fix> -->
|
||||
</robot>
|
||||
51
examples/pybullet/gym/pybullet_envs/examples/ANYmal.py
Normal file
51
examples/pybullet/gym/pybullet_envs/examples/ANYmal.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import pybullet as p
|
||||
import pybullet_data
|
||||
|
||||
import time
|
||||
p.connect(p.GUI)
|
||||
p.setAdditionalSearchPath(pybullet_data.getDataPath())
|
||||
|
||||
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0)
|
||||
p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
|
||||
|
||||
ground = p.loadURDF("plane.urdf",[0,0,0], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES)
|
||||
|
||||
p.changeVisualShape(ground,-1,rgbaColor=[1,1,1,0.8])
|
||||
#p.configureDebugVisualizer(p.COV_ENABLE_PLANAR_REFLECTION,1)
|
||||
|
||||
print("hasNumpy = ",p.isNumpyEnabled())
|
||||
|
||||
|
||||
anymal = p.loadURDF("quadruped/ANYmal/robot.urdf",[3,3,3], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES, useMaximalCoordinates=False)
|
||||
p.resetSimulation()
|
||||
ground = p.loadURDF("plane.urdf",[0,0,0], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES)
|
||||
|
||||
#todo, tweak this value to trade solver quality versus performance
|
||||
p.setPhysicsEngineParameter(solverResidualThreshold=1e-2)
|
||||
|
||||
index = 0
|
||||
numX = 3
|
||||
numY = 3
|
||||
|
||||
for i in range (numX):
|
||||
for j in range (numY):
|
||||
print("loading animal ", index)
|
||||
index+=1
|
||||
|
||||
#anymal = p.loadURDF("atlas/atlas_v4_with_multisense.urdf",[i*3,j*3,1], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES)
|
||||
anymal = p.loadURDF("quadruped/ANYmal/robot.urdf",[(i-numX/2)*2,(j-numY/2)*2,0.6], flags=p.URDF_ENABLE_CACHED_GRAPHICS_SHAPES, useMaximalCoordinates=False)
|
||||
|
||||
for j in range(p.getNumJoints(anymal)):
|
||||
p.setJointMotorControl2(anymal,j,p.POSITION_CONTROL,targetPosition=0, force=500)
|
||||
|
||||
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,1)
|
||||
|
||||
|
||||
p.setGravity(0,0,-10)
|
||||
#p.setRealTimeSimulation(1)
|
||||
|
||||
while (1):
|
||||
p.stepSimulation()
|
||||
time.sleep(1./240.)
|
||||
|
||||
|
||||
@@ -10,4 +10,3 @@ from . import enjoy_TF_Walker2DBulletEnv_v0_2017may
|
||||
from . import kukaGymEnvTest
|
||||
from . import racecarGymEnvTest
|
||||
from . import racecarZEDGymEnvTest
|
||||
from . import simpleHumanoidGymEnvTest
|
||||
|
||||
4
setup.py
4
setup.py
@@ -438,7 +438,7 @@ hh = setup_py_dir + "/" + datadir
|
||||
for root, dirs, files in os.walk(hh):
|
||||
for fn in files:
|
||||
ext = os.path.splitext(fn)[1][1:]
|
||||
if ext and ext in 'png gif jpg urdf sdf obj mtl dae off stl STL xml '.split():
|
||||
if ext and ext in 'yaml index meta data-00000-of-00001 png gif jpg urdf sdf obj mtl dae off stl STL xml '.split():
|
||||
fn = root + "/" + fn
|
||||
need_files.append(fn[1+len(hh):])
|
||||
|
||||
@@ -450,7 +450,7 @@ print("-----")
|
||||
|
||||
setup(
|
||||
name = 'pybullet',
|
||||
version='1.9.9',
|
||||
version='2.0.0',
|
||||
description='Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning',
|
||||
long_description='pybullet is an easy to use Python module for physics simulation, robotics and deep reinforcement learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.',
|
||||
url='https://github.com/bulletphysics/bullet3',
|
||||
|
||||
@@ -39,7 +39,7 @@ btCollisionObject::btCollisionObject()
|
||||
m_rollingFriction(0.0f),
|
||||
m_spinningFriction(0.f),
|
||||
m_contactDamping(.1),
|
||||
m_contactStiffness(1e4),
|
||||
m_contactStiffness(BT_LARGE_FLOAT),
|
||||
m_internalType(CO_COLLISION_OBJECT),
|
||||
m_userObjectPointer(0),
|
||||
m_userIndex2(-1),
|
||||
|
||||
@@ -21,46 +21,64 @@ subject to the following restrictions:
|
||||
|
||||
#include "BulletCollision/NarrowPhaseCollision/btGjkEpa2.h"
|
||||
|
||||
bool btGjkEpaPenetrationDepthSolver::calcPenDepth( btSimplexSolverInterface& simplexSolver,
|
||||
const btConvexShape* pConvexA, const btConvexShape* pConvexB,
|
||||
const btTransform& transformA, const btTransform& transformB,
|
||||
btVector3& v, btVector3& wWitnessOnA, btVector3& wWitnessOnB,
|
||||
class btIDebugDraw* debugDraw)
|
||||
bool btGjkEpaPenetrationDepthSolver::calcPenDepth(btSimplexSolverInterface& simplexSolver,
|
||||
const btConvexShape* pConvexA, const btConvexShape* pConvexB,
|
||||
const btTransform& transformA, const btTransform& transformB,
|
||||
btVector3& v, btVector3& wWitnessOnA, btVector3& wWitnessOnB,
|
||||
class btIDebugDraw* debugDraw)
|
||||
{
|
||||
|
||||
(void)debugDraw;
|
||||
(void)v;
|
||||
(void)simplexSolver;
|
||||
|
||||
// const btScalar radialmargin(btScalar(0.));
|
||||
|
||||
btVector3 guessVector(transformB.getOrigin()-transformA.getOrigin());
|
||||
btGjkEpaSolver2::sResults results;
|
||||
|
||||
btVector3 guessVectors[] = {
|
||||
btVector3(transformB.getOrigin() - transformA.getOrigin()),
|
||||
btVector3(transformA.getOrigin() - transformB.getOrigin()),
|
||||
btVector3(0, 0, 1),
|
||||
btVector3(0, 1, 0),
|
||||
btVector3(1, 0, 0),
|
||||
btVector3(1, 1, 0),
|
||||
btVector3(1, 1, 1),
|
||||
btVector3(0, 1, 1),
|
||||
btVector3(1, 0, 1),
|
||||
};
|
||||
|
||||
if(btGjkEpaSolver2::Penetration(pConvexA,transformA,
|
||||
pConvexB,transformB,
|
||||
guessVector,results))
|
||||
|
||||
{
|
||||
// debugDraw->drawLine(results.witnesses[1],results.witnesses[1]+results.normal,btVector3(255,0,0));
|
||||
//resultOut->addContactPoint(results.normal,results.witnesses[1],-results.depth);
|
||||
wWitnessOnA = results.witnesses[0];
|
||||
wWitnessOnB = results.witnesses[1];
|
||||
v = results.normal;
|
||||
return true;
|
||||
} else
|
||||
int numVectors = sizeof(guessVectors) / sizeof(btVector3);
|
||||
|
||||
for (int i = 0; i < numVectors; i++)
|
||||
{
|
||||
if(btGjkEpaSolver2::Distance(pConvexA,transformA,pConvexB,transformB,guessVector,results))
|
||||
simplexSolver.reset();
|
||||
btVector3 guessVector = guessVectors[i];
|
||||
|
||||
btGjkEpaSolver2::sResults results;
|
||||
|
||||
if (btGjkEpaSolver2::Penetration(pConvexA, transformA,
|
||||
pConvexB, transformB,
|
||||
guessVector, results))
|
||||
|
||||
{
|
||||
wWitnessOnA = results.witnesses[0];
|
||||
wWitnessOnB = results.witnesses[1];
|
||||
v = results.normal;
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (btGjkEpaSolver2::Distance(pConvexA, transformA, pConvexB, transformB, guessVector, results))
|
||||
{
|
||||
wWitnessOnA = results.witnesses[0];
|
||||
wWitnessOnB = results.witnesses[1];
|
||||
v = results.normal;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//failed to find a distance/penetration
|
||||
wWitnessOnA.setValue(0, 0, 0);
|
||||
wWitnessOnB.setValue(0, 0, 0);
|
||||
v.setValue(0, 0, 0);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -32,10 +32,10 @@ subject to the following restrictions:
|
||||
//must be above the machine epsilon
|
||||
#ifdef BT_USE_DOUBLE_PRECISION
|
||||
#define REL_ERROR2 btScalar(1.0e-12)
|
||||
btScalar gGjkEpaPenetrationTolerance = 1e-7;
|
||||
btScalar gGjkEpaPenetrationTolerance = BT_LARGE_FLOAT;
|
||||
#else
|
||||
#define REL_ERROR2 btScalar(1.0e-6)
|
||||
btScalar gGjkEpaPenetrationTolerance = 0.001;
|
||||
btScalar gGjkEpaPenetrationTolerance = BT_LARGE_FLOAT;
|
||||
#endif
|
||||
|
||||
//temp globals, to improve GJK/EPA/penetration calculations
|
||||
|
||||
Reference in New Issue
Block a user