Commit 46e0b945 authored by Olivier Lantsoght's avatar Olivier Lantsoght 🏁
Browse files

Merge branch 'release_1.11.2' into 'master'

Merge branch 'release_1.11.2' into master

See merge request robotran/mbsysc!248
parents b80d34af 2f06848b
This diff is collapsed.
## Changes for next release
* ? Coupling VPM branch merge : to check with DG
## Robotran v1.11.2
* [New] error management in all module
* See the wiki in gitlab for the corresponding .pptx
* The results files are written when an error is raised during dirdyn and solvekin process.
* [New][CI]
* automatic tests added for equil module + file tree of example project remodeled.
* Ubuntu 18.04 is used for testing
* [New] usefull function`scalar_product_0` and `matrix_product_0` created (previously exists for fixed size vector)
* [New] module called [Solvekin] to study kinematics. Refer to MBsysC documentation for instruction or example in `/ExampleProjects/TutorialProjects/analysisModules/`
* [Python] interface:
* [New] mbs_gensensor is callable from Python interface
* [Update] interface for W10 working, see instructions in the "readme_aux/interface_python.md"
* [Fix] The user model include the "lut.h" header file when needed.
* [DEV] The arguments of some core function of Modal and Equilibrium module has changed. No impact for user.
## Robotran v1.11.1
* Fixing the server call for symbolic generation
## Robotran v1.11.0
* Windows 32 bit is no longer supported. An error message is shown when the user try to execute cmake with 32 bit and the process stops.
* __Change to existing function(s):__
......
......@@ -91,7 +91,7 @@ endif()
# MBSysC libraries
if ( FLAG_SEPARATE_BUILD ) # find MBSysC dynamic libraries
find_package( LibRobotranC 1.11.0 REQUIRED )
find_package( LibRobotranC 1.11.2 REQUIRED )
add_definitions(${LIB_MBSYSC_DEFINITIONS})
target_link_libraries(Project_symbolic ${LIB_MBSYSC_MODULES})
endif()
......
......@@ -136,7 +136,7 @@ endif()
# MBSysC libraries
if ( FLAG_SEPARATE_BUILD ) # find MBSysC dynamic libraries
find_package( LibRobotranC 1.11.0 REQUIRED )
find_package( LibRobotranC 1.11.2 REQUIRED )
add_definitions(${LIB_MBSYSC_DEFINITIONS})
endif()
......
......@@ -171,7 +171,7 @@ flags_clean()
if ( FLAG_SEPARATE_BUILD ) # find MBSysC dynamic libraries
find_path(LibRobotranC_DIR LibRobotranCConfig.cmake "${ROBOTRAN_SOURCE_DIR}/build")
find_package( LibRobotranC 1.11.0 REQUIRED )
find_package( LibRobotranC 1.11.2 REQUIRED )
target_link_libraries( ${Executable} ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES} )
add_definitions(${LIB_MBSYSC_DEFINITIONS})
......@@ -184,13 +184,21 @@ if ( FLAG_SEPARATE_BUILD ) # find MBSysC dynamic libraries
get_filename_component(LIB_MBSYSC_LOAD_DIR ${LIB_MBSYSC_LOAD} DIRECTORY)
get_filename_component(LIB_MBSYSC_UTILITIES_DIR ${LIB_MBSYSC_UTILITIES} DIRECTORY)
get_filename_component(LIB_MBSYSC_REALTIME_DIR ${LIB_MBSYSC_REALTIME} DIRECTORY)
get_filename_component(VERSION ${LIB_MBSYSC_LOAD_DIR} NAME)
message(STATUS "built in ${VERSION} mode ")
# copy all the dll used for Windows
# these dll files are copied in the Executable directory (Debug)
file(COPY ${LIB_MBSYSC_MODULES_DIR}\\MBsysC_module.dll DESTINATION ${CMAKE_BINARY_DIR}\\Debug)
file(COPY ${LIB_MBSYSC_LOAD_DIR}\\MBsysC_loadXML.dll DESTINATION ${CMAKE_BINARY_DIR}\\Debug)
file(COPY ${LIB_MBSYSC_UTILITIES_DIR}\\MBsysC_utilities.dll DESTINATION ${CMAKE_BINARY_DIR}\\Debug)
file(COPY ${LIB_MBSYSC_REALTIME_DIR}\\MBsysC_realtime.dll DESTINATION ${CMAKE_BINARY_DIR}\\Debug)
# these dll files are copied in the Executable directory (Release)
file(COPY ${LIB_MBSYSC_MODULES_DIR}\\MBsysC_module.dll DESTINATION ${CMAKE_BINARY_DIR}\\Release)
file(COPY ${LIB_MBSYSC_LOAD_DIR}\\MBsysC_loadXML.dll DESTINATION ${CMAKE_BINARY_DIR}\\Release)
file(COPY ${LIB_MBSYSC_UTILITIES_DIR}\\MBsysC_utilities.dll DESTINATION ${CMAKE_BINARY_DIR}\\Release)
file(COPY ${LIB_MBSYSC_REALTIME_DIR}\\MBsysC_realtime.dll DESTINATION ${CMAKE_BINARY_DIR}\\Release)
endif ( )
......
......@@ -107,7 +107,7 @@ pre.writeBodies(bdys,chemin=datbox_path)
pre.writeDrvDof(bdys,chemin=datbox_path)
pre.writeDofIni(bdys,chemin=datbox_path)
pre.writeModels(mods,chemin=datbox_path)
pre.writeBulkBehav(mats,chemin=datbox_path)
pre.writeBulkBehav(mats,chemin=datbox_path,dim=dim, gravy=[0.,-9.81,0.])
pre.writeTactBehav(tacs,sees,chemin=datbox_path)
pre.writeVlocRlocIni(chemin=datbox_path)
pre.writePostpro(commands=post, parts=bdys, path=datbox_path)
......
......@@ -20,7 +20,7 @@ outputter.SetOutputDirectory(output_path)
# Set the name of the output files
outputter.SetOutputFilename("dirdyn")
# Set the number of timestep between to output files
# Set the number of timestep in the .anim file between two output files
outputter.SetFrameStep(500)
# Print the files
......
<?xml version="1.0" encoding="UTF-8"?>
<mbsDescR7>
<mbsname>PendulumPneumaticCushing</mbsname>
<mbsyspad_version>1.11.0</mbsyspad_version>
<base>
<!--this is the base body-->
<gravity>
<coordinates>
<x>0.0</x>
<y>0.0</y>
<z>-9.81</z>
</coordinates>
</gravity>
<baseBodyName>Body_0</baseBodyName>
<graphics>
<x2D>
<position>
<x>625.0</x>
<y>271.0</y>
</position>
<base_body>
<position>
<x>-88.0</x>
<y>-34.0</y>
</position>
<name_pos>
<x>0.0</x>
<y>0.0</y>
</name_pos>
<shape>rectangle</shape>
<size>
<x>191.0</x>
<y>59.0</y>
</size>
<control_points>
<control_point>
<x>103.0</x>
<y>-34.0</y>
</control_point>
<control_point>
<x>103.0</x>
<y>25.0</y>
</control_point>
<control_point>
<x>-88.0</x>
<y>25.0</y>
</control_point>
<control_point>
<x>-88.0</x>
<y>-34.0</y>
</control_point>
</control_points>
<angle>0.0</angle>
</base_body>
</x2D>
<x3D>
<x3D_points />
<x3D_lines />
<x3D_shapes>
<box>
<name>New_Shape</name>
<position>
<x>0.0</x>
<y>-0.25</y>
<z>0.0</z>
</position>
<scale>
<x>1.0</x>
<y>1.0</y>
<z>1.0</z>
</scale>
<rotation>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</rotation>
<color R="153" G="153" B="153" />
<specularColor R="255" G="255" B="255" />
<shininess>250.0</shininess>
<transparency>0.0</transparency>
<size>
<x>1.0</x>
<y>0.5</y>
<z>0.01</z>
</size>
</box>
</x3D_shapes>
</x3D>
</graphics>
</base>
<bodytree>
<!--this is the body tree-->
<body>
<bodyname>mass</bodyname>
<parent>
<bodyname>base</bodyname>
<pointname>origin</pointname>
</parent>
<joint>
<jointname>T3_mass</jointname>
<type>T3</type>
<nature>independent</nature>
<initialvalue>
<q>0.25</q>
</initialvalue>
<graphics>
<x2D>
<position>
<x>625.0</x>
<y>174.0</y>
</position>
</x2D>
<x3D>
<x3D_joint />
<x3D_frame />
</x3D>
</graphics>
</joint>
<mass>600.0</mass>
<graphics>
<x2D>
<position>
<x>-42.0</x>
<y>-65.0</y>
</position>
<name_pos>
<x>0.0</x>
<y>0.0</y>
</name_pos>
<shape>rectangle</shape>
<size>
<x>96.0</x>
<y>97.0</y>
</size>
<control_points>
<control_point>
<x>54.0</x>
<y>-65.0</y>
</control_point>
<control_point>
<x>54.0</x>
<y>32.0</y>
</control_point>
<control_point>
<x>-42.0</x>
<y>32.0</y>
</control_point>
<control_point>
<x>-42.0</x>
<y>-65.0</y>
</control_point>
</control_points>
<angle>0.0</angle>
</x2D>
<x3D>
<x3D_com />
<x3D_points />
<x3D_lines />
<x3D_shapes>
<box>
<name>New_Shape</name>
<position>
<x>0.0</x>
<y>-0.1</y>
<z>0.1</z>
</position>
<scale>
<x>1.0</x>
<y>1.0</y>
<z>1.0</z>
</scale>
<rotation>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</rotation>
<color R="153" G="51" B="255" />
<specularColor R="255" G="255" B="255" />
<shininess>250.0</shininess>
<transparency>0.10000000149011612</transparency>
<size>
<x>0.2</x>
<y>0.2</y>
<z>0.2</z>
</size>
</box>
</x3D_shapes>
</x3D>
</graphics>
</body>
<body>
<bodyname>Pendulum</bodyname>
<parent>
<bodyname>mass</bodyname>
<pointname>origin</pointname>
</parent>
<joint>
<jointname>R2_pendulum</jointname>
<type>R2</type>
<nature>independent</nature>
<graphics>
<x2D>
<position>
<x>701.0</x>
<y>355.0</y>
</position>
</x2D>
<x3D>
<x3D_joint />
<x3D_frame />
</x3D>
</graphics>
</joint>
<mass>5.0</mass>
<com>
<coordinates>
<x>0.0</x>
<y>0.0</y>
<z>-0.4</z>
</coordinates>
</com>
<inertia>
<Iyy>0.1</Iyy>
</inertia>
<point>
<pointname>Point_0</pointname>
<coordinates>
<x>0.0</x>
<y>0.0</y>
<z>-0.5</z>
</coordinates>
<graphics>
<x2D>
<position>
<x>701.0</x>
<y>507.0</y>
</position>
</x2D>
<x3D />
</graphics>
</point>
<graphics>
<x2D>
<position>
<x>-14.0</x>
<y>0.0</y>
</position>
<name_pos>
<x>0.0</x>
<y>0.0</y>
</name_pos>
<shape>rectangle</shape>
<size>
<x>28.0</x>
<y>160.0</y>
</size>
<control_points>
<control_point>
<x>14.0</x>
<y>0.0</y>
</control_point>
<control_point>
<x>14.0</x>
<y>160.0</y>
</control_point>
<control_point>
<x>-14.0</x>
<y>160.0</y>
</control_point>
<control_point>
<x>-14.0</x>
<y>0.0</y>
</control_point>
</control_points>
<angle>0.0</angle>
</x2D>
<x3D>
<x3D_com />
<x3D_points />
<x3D_lines />
<x3D_shapes>
<box>
<name>Pendulum</name>
<position>
<x>0.0</x>
<y>0.0</y>
<z>-0.25</z>
</position>
<scale>
<x>1.0</x>
<y>1.0</y>
<z>1.0</z>
</scale>
<rotation>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</rotation>
<color R="0" G="0" B="0" />
<specularColor R="255" G="255" B="255" />
<shininess>250.0</shininess>
<transparency>0.0</transparency>
<size>
<x>0.025</x>
<y>0.005</y>
<z>0.5</z>
</size>
</box>
</x3D_shapes>
</x3D>
</graphics>
</body>
<body>
<bodyname>Slider</bodyname>
<parent>
<bodyname>Pendulum</bodyname>
<pointname>Point_0</pointname>
</parent>
<joint>
<jointname>T3_slider</jointname>
<type>T3</type>
<nature>independent</nature>
<initialvalue>
<q>-0.1</q>
</initialvalue>
<graphics>
<x2D>
<position>
<x>696.0</x>
<y>611.0</y>
</position>
</x2D>
<x3D>
<x3D_joint />
<x3D_frame />
</x3D>
</graphics>
</joint>
<mass>2.0</mass>
<graphics>
<x2D>
<position>
<x>0.0</x>
<y>0.0</y>
</position>
<name_pos>
<x>0.0</x>
<y>0.0</y>
</name_pos>
<shape>circle</shape>
<size>
<x>41.0</x>
<y>41.0</y>
</size>
<control_points>
<control_point>
<x>25.0</x>
<y>0.0</y>
</control_point>
</control_points>
<angle>0.0</angle>
</x2D>
<x3D>
<x3D_com />
<x3D_points />
<x3D_lines />
<x3D_shapes>
<sphere>
<name>Slider</name>
<position>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</position>
<scale>
<x>1.0</x>
<y>1.0</y>
<z>1.0</z>
</scale>
<rotation>
<x>0.0</x>
<y>0.0</y>
<z>0.0</z>
</rotation>
<color R="204" G="0" B="0" />
<specularColor R="255" G="255" B="255" />
<shininess>250.0</shininess>
<transparency>0.0</transparency>
<radius>0.025</radius>
</sphere>
</x3D_shapes>
</x3D>
</graphics>
</body>
</bodytree>
<user_models>
<!--this is the userModel list-->
<user_model>
<name>Suspension</name>
<parameter>
<name>Z0</name>
<type>scalar</type>
<value>0.2222222</value>
</parameter>
</user_model>
<user_model>
<name>Pneumatic</name>
<parameter>
<name>states</name>
<type>state</type>
<value>0.0</value>
<value>4.0</value>
<value>0.01902037914</value>
<value>4.0</value>
<value>0.0332856635</value>
</parameter>
<parameter>
<name>Vc0</name>
<type>scalar</type>
<value>0.004</value>
</parameter>
<parameter>
<name>Ae0</name>
<type>scalar</type>
<value>0.018</value>
</parameter>
<parameter>
<name>Vr</name>
<type>scalar</type>
<value>0.007</value>
</parameter>
<parameter>
<name>Lt</name>
<type>scalar</type>
<value>51.0</value>
</parameter>
<parameter>
<name>dt</name>
<type>scalar</type>
<value>0.012</value>
</parameter>
<parameter>
<name>gamma</name>
<type>scalar</type>
<value>1.4</value>
</parameter>
<parameter>
<name>R</name>
<type>scalar</type>
<value>287.1</value>
</parameter>
<parameter>
<name>p0</name>
<type>scalar</type>
<value>400000.0</value>
</parameter>
<parameter>
<name>pa</name>
<type>scalar</type>
<value>100000.0</value>
</parameter>
<parameter>
<name>Ta</name>
<type>scalar</type>
<value>293.0</value>
</parameter>
<parameter>
<name>lambda</name>
<type>scalar</type>
<value>0.012</value>
</parameter>
<parameter>
<name>xsi</name>
<type>scalar</type>
<value>2.5</value>
</parameter>
<parameter>
<name>dAedz</name>
<type>scalar</type>
<value>-0.352</value>
</parameter>
</user_model>
</user_models>
<x3D>
<background>
<!--This is the background properties-->
<color R="51" G="102" B="204" />
</background>
<shapeScaleFactors>
<!--This is the scale factors-->
<frame>0.2</frame>
<joint>0.3</join