Commit f6d9bb7c authored by Nicolas Van der Noot's avatar Nicolas Van der Noot

test environment added for primitives

parent 0a3fda15
......@@ -13,7 +13,7 @@
# compile with C++
option (FLAG_CXX_PROJECT
"Use C++" OFF)
"Use C++" ON)
# let the use choose the compiler
option (FLAG_COMPILER_PROPERTIES
......@@ -65,11 +65,11 @@ option (FLAG_STOP_SIMULATION
# Simbody
option (FLAG_SIMBODY
"Simbody" OFF)
"Simbody" ON)
# 3D model
option (FLAG_3D_MODEL
"3D model" OFF)
"3D model" ON)
# Release flag
option (FLAG_RELEASE_VERSION
......@@ -94,9 +94,9 @@ option (FLAG_ADAPTIVE_TIME_STEP
#set(COMAN_VERSION "Basic_version")
#set(COMAN_VERSION "Short_feet")
#set(COMAN_VERSION "Compliant_feet")
set(COMAN_VERSION "Long_arms")
#set(COMAN_VERSION "Long_arms")
#set(COMAN_VERSION "SkyWalker")
set(COMAN_VERSION "Box_handling")
## ---- FLAGS DEPENDENCIES ---- ##
......@@ -285,6 +285,7 @@ message(STATUS "CMake generator: ${CMAKE_GENERATOR}")
# Project name in Robotran
file(GLOB_RECURSE ROBOTRAN_ROJECT_NAME "${PROJECT_SOURCE_DIR}/src/other/CoMan_versions/${COMAN_VERSION}/${MODEL_STANDALONE}/dataR/*.mbs")
message(STATUS "---------------> ${PROJECT_SOURCE_DIR}/src/other/CoMan_versions/${COMAN_VERSION}/${MODEL_STANDALONE}/dataR/*.mbs")
get_filename_component(ROBOTRAN_ROJECT_NAME ${ROBOTRAN_ROJECT_NAME} NAME_WE)
message(STATUS "Robotran project name: ${ROBOTRAN_ROJECT_NAME}")
......@@ -529,6 +530,11 @@ if (${COMAN_VERSION} STREQUAL "Long_arms")
add_definitions( -DSHORT_FEET )
endif (${COMAN_VERSION} STREQUAL "Long_arms")
# box handling
if (${COMAN_VERSION} STREQUAL "Box_handling")
add_definitions( -DBOX_HANDLING )
add_definitions( -DSHORT_FEET )
endif (${COMAN_VERSION} STREQUAL "Box_handling")
## ---- EXTERNAL LIBRARIES ---- ##
......
......@@ -271,48 +271,68 @@ try
Body::Rigid Body(MassProperties(BoxMass, comLoc, centralInertia));
CurBodyContProp = &(p_simbodyBodiesStruct->BodyContProp[i]);
char BodyFileName[FILENAME_MAX];
std::ifstream meshFile1;
PolygonalMesh BodyMesh;
printf("1. Open mesh-file %s ...",CurBodyContProp->FileName);
sprintf(BodyFileName,"%s%s%s",BODIES_OBJ_PATH"/",CurBodyContProp->FileName);
meshFile1.open(BodyFileName);
printf(" succeed! \n");
printf("2. Load a mesh from Obj-file ... ");
BodyMesh.loadObjFile(meshFile1);
printf(" succeed! \n");
meshFile1.close();
printf("3. Transform a mesh ... ");
BodyMesh.scaleMesh(CurBodyContProp->ScaleFactor);
const Rotation R_1(CurBodyContProp->Rotation[0]*Pi/180.,XAxis);
const Rotation R_2(CurBodyContProp->Rotation[1]*Pi/180.,YAxis);
const Rotation R_3(CurBodyContProp->Rotation[2]*Pi/180.,ZAxis);
BodyMesh.transformMesh(Transform(R_1*R_2*R_3,Vec3(CurBodyContProp->Transform))); //TODO check the order of rotations!
printf(" succeed! \n");
// apply a contactGeometry for WheelBody
printf("4. Convert a polygonal mesh to triangle mesh ... ");
ContactGeometry::TriangleMesh BodyTrM(BodyMesh);
printf(" succeed! \n");
printf("Number of faces = %i\n",BodyTrM.getNumFaces());
printf("5. Add contact surface ... ");
printf("\n k = %lf \n",CurBodyContProp->k);
Body.addContactSurface(Transform(Vec3(0,0,0)),
ContactSurface(BodyTrM,
ContactMaterial(CurBodyContProp->k,CurBodyContProp->c,CurBodyContProp->us,CurBodyContProp->ud,CurBodyContProp->uv),
CurBodyContProp->thickness)
);
printf(" succeed! \n\n");
if (CurBodyContProp->Geometry == 1) // mesh
{
char BodyFileName[FILENAME_MAX];
std::ifstream meshFile1;
PolygonalMesh BodyMesh;
printf("1. Open mesh-file %s ...",CurBodyContProp->FileName);
sprintf(BodyFileName,"%s%s%s",BODIES_OBJ_PATH"/",CurBodyContProp->FileName);
meshFile1.open(BodyFileName);
printf(" succeed! \n");
printf("2. Load a mesh from Obj-file ... ");
BodyMesh.loadObjFile(meshFile1);
printf(" succeed! \n");
meshFile1.close();
printf("3. Transform a mesh ... ");
BodyMesh.scaleMesh(CurBodyContProp->ScaleFactor);
const Rotation R_1(CurBodyContProp->Rotation[0]*Pi/180.,XAxis);
const Rotation R_2(CurBodyContProp->Rotation[1]*Pi/180.,YAxis);
const Rotation R_3(CurBodyContProp->Rotation[2]*Pi/180.,ZAxis);
BodyMesh.transformMesh(Transform(R_1*R_2*R_3,Vec3(CurBodyContProp->Transform))); //TODO check the order of rotations!
printf(" succeed! \n");
// apply a contactGeometry for WheelBody
printf("4. Convert a polygonal mesh to triangle mesh ... ");
ContactGeometry::TriangleMesh BodyTrM(BodyMesh);
printf(" succeed! \n");
printf("Number of faces = %i\n",BodyTrM.getNumFaces());
printf("5. Add contact surface ... ");
printf("\n k = %lf \n",CurBodyContProp->k);
Body.addContactSurface(Transform(Vec3(0,0,0)),
ContactSurface(BodyTrM,
ContactMaterial(CurBodyContProp->k,CurBodyContProp->c,CurBodyContProp->us,CurBodyContProp->ud,CurBodyContProp->uv),
CurBodyContProp->thickness)
);
printf(" succeed! \n\n");
}
else if (CurBodyContProp->Geometry == 2) // box
{
Body.addContactSurface(Transform(Vec3(0,0,0)),
ContactSurface(ContactGeometry::Brick(Vec3(0.075,0.075,0.075)),
ContactMaterial(CurBodyContProp->k,CurBodyContProp->c,CurBodyContProp->us,CurBodyContProp->ud,CurBodyContProp->uv),
CurBodyContProp->thickness)
);
}
else if (CurBodyContProp->Geometry == 3) // sphere
{
Body.addContactSurface(Transform(Vec3(0,0,0)),
ContactSurface(ContactGeometry::Sphere(0.02),
ContactMaterial(CurBodyContProp->k,CurBodyContProp->c,CurBodyContProp->us,CurBodyContProp->ud,CurBodyContProp->uv),
CurBodyContProp->thickness)
);
}
// it is only for visualization. Doesn't work under Linux
#ifdef VIZ
......
<mbsdata xml_tb_version="3.1" idx="1" type="struct" size="1 1">
<mbsname idx="1" type="char" size="1 10">coman_robotran</mbsname>
<dpt idx="1" type="double" size="3 57">0 -0.023 0 0 0.023 0 0.020281504 0 0.11912053 -0.026391145 -0.00058216364 0.052632312 0 0 0 0 -0.0496 0 -0.0003269678 -0.023587321 -0.00026496509 0 0 -0.1024 0.0012591632 -0.016896372 -0.058903336 0 0 -0.1234 0.00098720058 0.00067037262 -0.075716843 0 0 -0.201 0.0024612666 -0.0053099614 -0.085989484 0 0 0 0.00088067281 -0.00092224881 0.00023038476 0 0 -0.1 0.0096921046 -0.0090460227 -0.043062308 0 0.0496 0 -0.0003269678 0.023587321 -0.00026496509 0 0 -0.1024 0.0012591632 0.016896372 -0.058903336 0 0 -0.1234 0.00098720058 -0.00067037262 -0.075716843 0 0 -0.201 0.0024612666 0.0053099614 -0.085989484 0 0 0 0.00088067281 0.00092224881 0.00023038476 0.0096921046 0.0090460227 -0.043062308 0 0 -0.1 0 0 0 -0.0021273416 0.0033575235 -0.0010076896 0 0 0 0 0 0.0475 0.00042999707 -0.0097650317 0.033011157 0 0 0.2 -0.03585012 1.8286043e-05 0.117557148 -0.015 -0.0825 0.1554 -0.015 0.0825 0.1554 0.0099500565 -0.038682024 0.00016446924 0 -0.071 0 -0.0038936743 2.2022151e-06 -0.0048616005 0 0 -0.0425 0.0022714213 -0.0071091517 -0.057455221 0.015 0 -0.1375 -0.00065553403 -0.00093464748 -0.00093101289 0 0 -0.05 -0.015 -0.005 -0.21 0.0099500565 0.038682024 0.00016446924 0 0.071 0 -0.0038936743 -2.2022151e-06 -0.0048616005 0 0 -0.0425 0.0022714213 0.0071091517 -0.057455221 0.015 0 -0.1375 -0.00065553403 0.00093464748 -0.00093101289 0 0 -0.05 -0.015 0.005 -0.21 0 0 0</dpt>
<npt idx="1" type="double" size="1 1">57</npt>
<l idx="1" type="double" size="3 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.026391145 -0.00058216364 0.052632312 -0.0003269678 -0.023587321 -0.00026496509 0.0012591632 -0.016896372 -0.058903336 0.00098720058 0.00067037262 -0.075716843 0.0024612666 -0.0053099614 -0.085989484 0.00088067281 -0.00092224881 0.00023038476 0.01 0 -0.095 -0.0003269678 0.023587321 -0.00026496509 0.0012591632 0.016896372 -0.058903336 0.00098720058 -0.00067037262 -0.075716843 0.0024612666 0.0053099614 -0.085989484 0.00088067281 0.00092224881 0.00023038476 0.01 0 -0.095 -0.0021273416 0.0033575235 -0.0010076896 0.00042999707 -0.0097650317 0.033011157 -0.03585012 1.8286043e-05 0.117557148 0.0099500565 -0.038682024 0.00016446924 -0.0038936743 2.2022151e-06 -0.0048616005 0.0022714213 -0.0071091517 -0.057455221 -0.00065553403 -0.00093464748 -0.00093101289 0.0099500565 0.038682024 0.00016446924 -0.0038936743 -2.2022151e-06 -0.0048616005 0.0022714213 0.0071091517 -0.057455221 -0.00065553403 0.00093464748 -0.00093101289 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</l>
<m idx="1" type="double" size="1 35">0 0 0 0 0 1.8008695 0.89258227 1.0246101 1.7001134 1.4098179 0.72992131 0.489756 0.89258227 1.0246101 1.7001134 1.4098179 0.72992131 0.489756 0.75398402 0.54588774 6.3617175 0.56782202 0.77683752 1.0462304 0.63306933 0.56782202 0.77683752 1.0462304 0.63306933 0 0 0 0 0 1.5</m>
<In idx="1" type="double" size="9 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0051032982 0 0.0016920543 0 0.006241636 1.7225949e-05 0.0016920543 1.7225949e-05 0.0024517762 0.00047672294 0 0 0 0.0005458038 0 0 0 0.0005126859 0.0009165719 0 0 0 0.0010484958 2.5492874e-05 0 2.5492874e-05 0.00068637197 0.0038979546 1.7802399e-06 2.6403262e-05 1.7802399e-06 0.0039360845 4.522711e-05 2.6403262e-05 4.522711e-05 0.00090218711 0.0040604004 1.1227206e-05 1.2260973e-05 1.1227206e-05 0.0040056528 0.00051899176 1.2260973e-05 0.00051899176 0.0012414054 0.00032034425 7.6346303e-06 2.5430158e-07 7.6346303e-06 0.00036584358 0 2.5430158e-07 0 0.00036065156 0.00033467 0 0 0 0.00080402 0 0 0 0.0011 0.00047672294 3.9936567e-06 0 3.9936567e-06 0.0005458038 3.3389575e-06 0 3.3389575e-06 0.0005126859 0.0009165719 1.4449904e-06 0 1.4449904e-06 0.0010484958 0 0 0 0.00068637197 0.0038979546 0 2.6403262e-05 0 0.0039360845 0 2.6403262e-05 0 0.00090218711 0.0040604004 0 1.2260973e-05 0 0.0040056528 0 1.2260973e-05 0 0.0012414054 0.00032034425 0 2.5430158e-07 0 0.00036584358 3.6889276e-06 2.5430158e-07 3.6889276e-06 0.00036065156 0.00033467 0 0 0 0.00080402 0 0 0 0.0011 0.00034093348 0 0 0 0.00039581916 1.443019e-06 0 1.443019e-06 0.00037449753 0.00097126578 0 1.1440119e-06 0 0.00074686706 0 1.1440119e-06 0 0.00062196235 0.034089342 0 0 0 0.030117357 6.2443771e-06 0 6.2443771e-06 0.025296582 0.00078337456 0.00019035768 0 0.00019035768 0.00063399921 4.3840774e-06 0 4.3840774e-06 0.001008054 0.00045812904 0 9.2521185e-06 0 0.00043089204 0 9.2521185e-06 0 0.00034174855 0.0030934574 6.6702837e-05 0.00030222291 6.6702837e-05 0.0029181573 0 0.00030222291 0 0.00080830389 0.00022599075 0 0 0 0.00027781302 0 0 0 0.00021878992 0.00078337456 0 0 0 0.00063399921 0 0 0 0.001008054 0.00045812904 2.4111086e-07 9.2521185e-06 2.4111086e-07 0.00043089204 4.721695e-07 9.2521185e-06 4.721695e-07 0.00034174855 0.0030934574 0 0.00030222291 0 0.0029181573 0.00052663661 0.00030222291 0.00052663661 0.00080830389 0.00022599075 2.637647e-07 0 2.637647e-07 0.00027781302 2.0435288e-06 0 2.0435288e-06 0.00021878992 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.005625 0 0 0 0.005625 0 0 0 0.005625</In>
<g idx="1" type="double" size="3 1">0 0 -9.81</g>
<nbody idx="1" type="double" size="1 1">35</nbody>
<Njoint idx="1" type="double" size="1 1">35</Njoint>
<qu idx="1" type="double" size="1 32">1 3 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35</qu>
<nqu idx="1" type="double" size="1 1">32</nqu>
<qc idx="1" type="double" size="1 3">2 4 6</qc>
<nqc idx="1" type="double" size="1 1">3</nqc>
<qlocked idx="1" type="double" size="0 0"/>
<nqlocked idx="1" type="double" size="1 1">0</nqlocked>
<qdriven idx="1" type="double" size="1 3">2 4 6</qdriven>
<nqdriven idx="1" type="double" size="1 1">3</nqdriven>
<qa idx="1" type="double" size="0 0"/>
<nqa idx="1" type="double" size="1 1">0</nqa>
<qv idx="1" type="double" size="0 0"/>
<nqv idx="1" type="double" size="1 1">0</nqv>
<hu idx="1" type="double" size="0 0"/>
<nhu idx="1" type="double" size="1 1">0</nhu>
<hv idx="1" type="double" size="0 0"/>
<q idx="1" type="double" size="35 1">0 0 0.5268 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0 0.55 0 0 0</q>
<qd idx="1" type="double" size="35 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</qd>
<qdd idx="1" type="double" size="35 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</qdd>
<qmin idx="1" type="double" size="35 1">-1 -1 -0.4732 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.8 -1 -0.45 -1 -1 -1</qmin>
<qmax idx="1" type="double" size="35 1">1 1 1.5268 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.2 1 1.55 1 1 1</qmax>
<frc idx="1" type="double" size="3 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</frc>
<trq idx="1" type="double" size="3 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</trq>
<Qq idx="1" type="double" size="35 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</Qq>
<tsim idx="1" type="double" size="1 1">0</tsim>
<lrod idx="1" type="double" size="0 0"/>
<Nloopc idx="1" type="double" size="1 1">0</Nloopc>
<Ncons idx="1" type="double" size="1 1">0</Ncons>
<lambda idx="1" type="double" size="0 0"/>
<Nuserc idx="1" type="double" size="1 1">0</Nuserc>
<user_constraints idx="1" type="cell" size="0 0"/>
<Nlink idx="1" type="double" size="1 1">0</Nlink>
<Z idx="1" type="double" size="0 0"/>
<Zd idx="1" type="double" size="0 0"/>
<Fl idx="1" type="double" size="0 0"/>
<Nlink3D idx="1" type="double" size="1 1">0</Nlink3D>
<link3D idx="1" type="double" size="0 0"/>
<Nsensor idx="1" type="double" size="1 1">52</Nsensor>
<Nxfrc idx="1" type="double" size="1 1">6</Nxfrc>
<xfidpt idx="1" type="double" size="1 6">16 29 35 47 56 57</xfidpt>
<SWr idx="1" type="double" size="0 0"/>
<xfscale idx="1" type="double" size="3 6">0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001</xfscale>
<rnom idx="1" type="double" size="0 0"/>
<Nwheel idx="1" type="double" size="1 1">0</Nwheel>
<Nuser_model idx="1" type="double" size="1 1">1</Nuser_model>
<user_model idx="1" type="cell" size="0 0"/>
<ux idx="1" type="double" size="46 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</ux>
<uxd idx="1" type="double" size="46 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</uxd>
<ux0 idx="1" type="double" size="46 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</ux0>
<Nux idx="1" type="double" size="1 1">46</Nux>
<user_var idx="1" type="struct" size="0 0"/>
<DonePart idx="1" type="double" size="1 1">1</DonePart>
<DoneDirdyn idx="1" type="double" size="1 1">0</DoneDirdyn>
<DoneInvdyn idx="1" type="double" size="1 1">0</DoneInvdyn>
<DoneEquil idx="1" type="double" size="1 1">0</DoneEquil>
<inbody idx="1" type="double" size="1 35">0 1 2 3 4 5 6 7 8 9 10 11 6 13 14 15 16 17 6 19 20 21 22 23 24 21 26 27 28 0 30 31 32 33 34</inbody>
<prjpath idx="1" type="char" size="1 38">/home/nico/Documents/Robotran/Projects</prjpath>
<mbspath idx="1" type="char" size="1 44">/home/nico/Documents/Robotran/Robotran_files</mbspath>
</mbsdata>
This source diff could not be displayed because it is too large. You can view the blob instead.
<mbsdata xml_tb_version="3.1" idx="1" type="struct" size="1 1">
<mbsname idx="1" type="char" size="1 10">coman_robotran</mbsname>
<dpt idx="1" type="double" size="3 57">0 -0.023 0 0 0.023 0 0.020281504 0 0.11912053 -0.026391145 -0.00058216364 0.052632312 0 0 0 0 -0.0496 0 -0.0003269678 -0.023587321 -0.00026496509 0 0 -0.1024 0.0012591632 -0.016896372 -0.058903336 0 0 -0.1234 0.00098720058 0.00067037262 -0.075716843 0 0 -0.201 0.0024612666 -0.0053099614 -0.085989484 0 0 0 0.00088067281 -0.00092224881 0.00023038476 0 0 -0.1 0.0096921046 -0.0090460227 -0.043062308 0 0.0496 0 -0.0003269678 0.023587321 -0.00026496509 0 0 -0.1024 0.0012591632 0.016896372 -0.058903336 0 0 -0.1234 0.00098720058 -0.00067037262 -0.075716843 0 0 -0.201 0.0024612666 0.0053099614 -0.085989484 0 0 0 0.00088067281 0.00092224881 0.00023038476 0.0096921046 0.0090460227 -0.043062308 0 0 -0.1 0 0 0 -0.0021273416 0.0033575235 -0.0010076896 0 0 0 0 0 0.0475 0.00042999707 -0.0097650317 0.033011157 0 0 0.2 -0.03585012 1.8286043e-05 0.117557148 -0.015 -0.0825 0.1554 -0.015 0.0825 0.1554 0.0099500565 -0.038682024 0.00016446924 0 -0.071 0 -0.0038936743 2.2022151e-06 -0.0048616005 0 0 -0.0425 0.0022714213 -0.0071091517 -0.057455221 0.015 0 -0.1375 -0.00065553403 -0.00093464748 -0.00093101289 0 0 -0.05 -0.015 -0.005 -0.21 0.0099500565 0.038682024 0.00016446924 0 0.071 0 -0.0038936743 -2.2022151e-06 -0.0048616005 0 0 -0.0425 0.0022714213 0.0071091517 -0.057455221 0.015 0 -0.1375 -0.00065553403 0.00093464748 -0.00093101289 0 0 -0.05 -0.015 0.005 -0.21 0 0 0</dpt>
<npt idx="1" type="double" size="1 1">57</npt>
<l idx="1" type="double" size="3 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.026391145 -0.00058216364 0.052632312 -0.0003269678 -0.023587321 -0.00026496509 0.0012591632 -0.016896372 -0.058903336 0.00098720058 0.00067037262 -0.075716843 0.0024612666 -0.0053099614 -0.085989484 0.00088067281 -0.00092224881 0.00023038476 0.01 0 -0.095 -0.0003269678 0.023587321 -0.00026496509 0.0012591632 0.016896372 -0.058903336 0.00098720058 -0.00067037262 -0.075716843 0.0024612666 0.0053099614 -0.085989484 0.00088067281 0.00092224881 0.00023038476 0.01 0 -0.095 -0.0021273416 0.0033575235 -0.0010076896 0.00042999707 -0.0097650317 0.033011157 -0.03585012 1.8286043e-05 0.117557148 0.0099500565 -0.038682024 0.00016446924 -0.0038936743 2.2022151e-06 -0.0048616005 0.0022714213 -0.0071091517 -0.057455221 -0.00065553403 -0.00093464748 -0.00093101289 0.0099500565 0.038682024 0.00016446924 -0.0038936743 -2.2022151e-06 -0.0048616005 0.0022714213 0.0071091517 -0.057455221 -0.00065553403 0.00093464748 -0.00093101289 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</l>
<m idx="1" type="double" size="1 35">0 0 0 0 0 1.8008695 0.89258227 1.0246101 1.7001134 1.4098179 0.72992131 0.489756 0.89258227 1.0246101 1.7001134 1.4098179 0.72992131 0.489756 0.75398402 0.54588774 6.3617175 0.56782202 0.77683752 1.0462304 0.63306933 0.56782202 0.77683752 1.0462304 0.63306933 0 0 0 0 0 1.5</m>
<In idx="1" type="double" size="9 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0051032982 0 0.0016920543 0 0.006241636 1.7225949e-05 0.0016920543 1.7225949e-05 0.0024517762 0.00047672294 0 0 0 0.0005458038 0 0 0 0.0005126859 0.0009165719 0 0 0 0.0010484958 2.5492874e-05 0 2.5492874e-05 0.00068637197 0.0038979546 1.7802399e-06 2.6403262e-05 1.7802399e-06 0.0039360845 4.522711e-05 2.6403262e-05 4.522711e-05 0.00090218711 0.0040604004 1.1227206e-05 1.2260973e-05 1.1227206e-05 0.0040056528 0.00051899176 1.2260973e-05 0.00051899176 0.0012414054 0.00032034425 7.6346303e-06 2.5430158e-07 7.6346303e-06 0.00036584358 0 2.5430158e-07 0 0.00036065156 0.00033467 0 0 0 0.00080402 0 0 0 0.0011 0.00047672294 3.9936567e-06 0 3.9936567e-06 0.0005458038 3.3389575e-06 0 3.3389575e-06 0.0005126859 0.0009165719 1.4449904e-06 0 1.4449904e-06 0.0010484958 0 0 0 0.00068637197 0.0038979546 0 2.6403262e-05 0 0.0039360845 0 2.6403262e-05 0 0.00090218711 0.0040604004 0 1.2260973e-05 0 0.0040056528 0 1.2260973e-05 0 0.0012414054 0.00032034425 0 2.5430158e-07 0 0.00036584358 3.6889276e-06 2.5430158e-07 3.6889276e-06 0.00036065156 0.00033467 0 0 0 0.00080402 0 0 0 0.0011 0.00034093348 0 0 0 0.00039581916 1.443019e-06 0 1.443019e-06 0.00037449753 0.00097126578 0 1.1440119e-06 0 0.00074686706 0 1.1440119e-06 0 0.00062196235 0.034089342 0 0 0 0.030117357 6.2443771e-06 0 6.2443771e-06 0.025296582 0.00078337456 0.00019035768 0 0.00019035768 0.00063399921 4.3840774e-06 0 4.3840774e-06 0.001008054 0.00045812904 0 9.2521185e-06 0 0.00043089204 0 9.2521185e-06 0 0.00034174855 0.0030934574 6.6702837e-05 0.00030222291 6.6702837e-05 0.0029181573 0 0.00030222291 0 0.00080830389 0.00022599075 0 0 0 0.00027781302 0 0 0 0.00021878992 0.00078337456 0 0 0 0.00063399921 0 0 0 0.001008054 0.00045812904 2.4111086e-07 9.2521185e-06 2.4111086e-07 0.00043089204 4.721695e-07 9.2521185e-06 4.721695e-07 0.00034174855 0.0030934574 0 0.00030222291 0 0.0029181573 0.00052663661 0.00030222291 0.00052663661 0.00080830389 0.00022599075 2.637647e-07 0 2.637647e-07 0.00027781302 2.0435288e-06 0 2.0435288e-06 0.00021878992 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.005625 0 0 0 0.005625 0 0 0 0.005625</In>
<g idx="1" type="double" size="3 1">0 0 -9.81</g>
<nbody idx="1" type="double" size="1 1">35</nbody>
<Njoint idx="1" type="double" size="1 1">35</Njoint>
<qu idx="1" type="double" size="1 35">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35</qu>
<nqu idx="1" type="double" size="1 1">35</nqu>
<qc idx="1" type="double" size="0 0"/>
<nqc idx="1" type="double" size="1 1">0</nqc>
<qlocked idx="1" type="double" size="0 0"/>
<nqlocked idx="1" type="double" size="1 1">0</nqlocked>
<qdriven idx="1" type="double" size="0 0"/>
<nqdriven idx="1" type="double" size="1 1">0</nqdriven>
<qa idx="1" type="double" size="0 0"/>
<nqa idx="1" type="double" size="1 1">0</nqa>
<qv idx="1" type="double" size="0 0"/>
<nqv idx="1" type="double" size="1 1">0</nqv>
<hu idx="1" type="double" size="0 0"/>
<nhu idx="1" type="double" size="1 1">0</nhu>
<hv idx="1" type="double" size="0 0"/>
<q idx="1" type="double" size="35 1">0 0 0.5268 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0 0.55 0 0 0</q>
<qd idx="1" type="double" size="35 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</qd>
<qdd idx="1" type="double" size="35 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</qdd>
<qmin idx="1" type="double" size="35 1">-1 -1 -0.4732 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.8 -1 -0.45 -1 -1 -1</qmin>
<qmax idx="1" type="double" size="35 1">1 1 1.5268 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.2 1 1.55 1 1 1</qmax>
<frc idx="1" type="double" size="3 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</frc>
<trq idx="1" type="double" size="3 35">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</trq>
<Qq idx="1" type="double" size="35 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</Qq>
<tsim idx="1" type="double" size="1 1">0</tsim>
<lrod idx="1" type="double" size="0 0"/>
<Nloopc idx="1" type="double" size="1 1">0</Nloopc>
<Ncons idx="1" type="double" size="1 1">0</Ncons>
<lambda idx="1" type="double" size="0 0"/>
<Nuserc idx="1" type="double" size="1 1">0</Nuserc>
<user_constraints idx="1" type="cell" size="0 0"/>
<Nlink idx="1" type="double" size="1 1">0</Nlink>
<Z idx="1" type="double" size="0 0"/>
<Zd idx="1" type="double" size="0 0"/>
<Fl idx="1" type="double" size="0 0"/>
<Nlink3D idx="1" type="double" size="1 1">0</Nlink3D>
<link3D idx="1" type="double" size="0 0"/>
<Nsensor idx="1" type="double" size="1 1">52</Nsensor>
<Nxfrc idx="1" type="double" size="1 1">6</Nxfrc>
<xfidpt idx="1" type="double" size="1 6">16 29 35 47 56 57</xfidpt>
<SWr idx="1" type="double" size="0 0"/>
<xfscale idx="1" type="double" size="3 6">0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001</xfscale>
<rnom idx="1" type="double" size="0 0"/>
<Nwheel idx="1" type="double" size="1 1">0</Nwheel>
<Nuser_model idx="1" type="double" size="1 1">1</Nuser_model>
<user_model idx="1" type="cell" size="0 0"/>
<ux idx="1" type="double" size="46 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</ux>
<uxd idx="1" type="double" size="46 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</uxd>
<ux0 idx="1" type="double" size="46 1">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0</ux0>
<Nux idx="1" type="double" size="1 1">46</Nux>
<user_var idx="1" type="struct" size="0 0"/>
<DonePart idx="1" type="double" size="1 1">1</DonePart>
<DoneDirdyn idx="1" type="double" size="1 1">0</DoneDirdyn>
<DoneInvdyn idx="1" type="double" size="1 1">0</DoneInvdyn>
<DoneEquil idx="1" type="double" size="1 1">0</DoneEquil>
<inbody idx="1" type="double" size="1 35">0 1 2 3 4 5 6 7 8 9 10 11 6 13 14 15 16 17 6 19 20 21 22 23 24 21 26 27 28 0 30 31 32 33 34</inbody>
<prjpath idx="1" type="char" size="1 38">/home/nico/Documents/Robotran/Projects</prjpath>
<mbspath idx="1" type="char" size="1 44">/home/nico/Documents/Robotran/Robotran_files</mbspath>
</mbsdata>
This source diff could not be displayed because it is too large. You can view the blob instead.
#include "MBSdataStruct.h"
#include "MBSfun.h"
void cons_hJ(double *h,double **Jac, MBSdataStruct *s, double tsim)
{
}
#include "MBSdataStruct.h"
#include "MBSfun.h"
void cons_jdqd(double *Jdqd, MBSdataStruct *s, double tsim)
{
}
This source diff could not be displayed because it is too large. You can view the blob instead.
#include "MBSdataStruct.h"
#include "MBSfun.h"
void link3D(double **frc,double **trq, MBSdataStruct *s, double tsim)
{
}
#include "MBSdataStruct.h"
#include "MBSfun.h"
#ifdef __cplusplus
void link1D(double **frc,double **trq,double *Flnk,double *Z,double *Zd,MBSdataStruct *s, double tsim)
#else
void link(double **frc,double **trq,double *Flnk,double *Z,double *Zd,MBSdataStruct *s, double tsim)
#endif
{
}
##############################################################
# file9b.gen 14/02/2015 12:46:26 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file3.gen 14/02/2015 12:46:26 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file7.gen 14/02/2015 12:46:26 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file4.gen 14/02/2015 12:46:26 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file1b.gen 14/02/2015 12:46:27 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file10.gen 14/02/2015 12:46:27 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file0.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file6.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file11.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file9.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file15.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file5.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file2.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file12.gen 14/02/2015 12:46:28 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file8.gen 14/02/2015 12:46:29 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file1.gen 14/02/2015 12:46:29 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file13.gen 14/02/2015 12:46:29 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
##############################################################
# file14.gen 14/02/2015 12:46:29 errors
##############################################################
/usr/local/robotran/bin/robotran: /usr/lib/libxml2.so.2: no version information available (required by /usr/local/robotran/bin/robotran)
......@@ -14,7 +14,7 @@
IF (UNIX)
IF (APPLE)
## ---- MAC OS ---- ##
......@@ -24,28 +24,36 @@ IF (APPLE)
ELSE (APPLE)
## ---- LINUX ---- ##
## ---- LINUX ---- ##
# possible paths for: 'Simbody.h'
SET(TRIAL_PATHS_INC
/usr/local/simbody/include
/usr/local/include/simbody
/usr/local/simbody/include/simbody
)
# possible paths for: 'libSimTKcommon.so'
SET(TRIAL_PATHS_LIB_COM
/usr/local/simbody/lib
/usr/local/simbody/lib/x86_64-linux-gnu
/usr/local/lib
)
# possible paths for: 'libSimTKmath.so'
SET(TRIAL_PATHS_LIB_MATH
/usr/local/simbody/lib
/usr/local/simbody/lib/x86_64-linux-gnu
/usr/local/lib
)
# possible paths for: 'libSimTKsimbody.so'
SET(TRIAL_PATHS_LIB_SIMB
/usr/local/simbody/lib
/usr/local/simbody/lib/x86_64-linux-gnu
/usr/local/lib
)
FIND_PATH(SIMBODY_INCLUDE_PATH Simbody.h ${TRIAL_PATHS_INC})
......
//---------------------------
// Nicolas Van der Noot
//
// Creation : 19-Sep-2013
// Last update : 13-Oct-2014
//---------------------------
#include <stdlib.h>
#include "ControllersStruct.h"
// ---- Controlleres initialization ---- //
// ControllerInputsStruc
ControllerInputs * init_ControllerInputs(void)
{
ControllerInputs *cvs;
int i;
cvs = (ControllerInputs*) malloc(sizeof(ControllerInputs));
//---------------------------
// Nicolas Van der Noot
//
// Creation : 24-Jan-2014
// Last update : Tue Feb 17 15:55:09 2015
//---------------------------
#include <stdlib.h>
#include "ControllersStruct.h"
// ---- Controllers initialization ---- //
// ControllerInputs
ControllerInputs * init_ControllerInputs(void)
{
ControllerInputs *cvs;
int i;
cvs = (ControllerInputs*) malloc(sizeof(ControllerInputs));
cvs->t = 0.0;
for (i=0;i<29;i++)
......@@ -83,18 +83,18 @@ ControllerInputs * init_ControllerInputs(void)
cvs->IMU_Acceleration[i] = 0.0;
}
return cvs;
}
// ControllerOutputsStruc
ControllerOutputs * init_ControllerOutputs(void)
{
ControllerOutputs *cvs;
int i;
cvs = (ControllerOutputs*) malloc(sizeof(ControllerOutputs));
return cvs;
}
// ControllerOutputs
ControllerOutputs * init_ControllerOutputs(void)
{
ControllerOutputs *cvs;
int i;
cvs = (ControllerOutputs*) malloc(sizeof(ControllerOutputs));