February 5, 2011, Marilou 2009 (M08 4.5.5)

Marilou 2009 updates

Moderator: Admins

Post Reply
Site Admin
Posts: 95
Joined: Wed Feb 07, 2007 11:10 am
Location: Montpellier - FR

February 5, 2011, Marilou 2009 (M08 4.5.5)

Post by adminforum » Mon Oct 26, 2009 1:36 pm

4.5.5 (February 5, 2011)
- Fixed some small unwanted IDE behaviours
- Fixed: Gravitational forces configuration was disabled on first activation (Configuration->physics panel)
- Fixed: System.Drawing.Color assert because ‘contacts management’ button's color was out of 255,255,255

New: Servo's GetPositionXXX returns an absolute angle (accumulated) if the 'Maintain an absolute angle' property is checked. So, it affects the ModaCPP::DeviceServoMotor::GetPositionXXX functions.

4.5.4 (November 15, 2010)
- DeviceMotor odometer counter limit is now 300000 tops per 1 wheel turn (100000 before).
- Fixed: Tank Crawler prefab tool : material ambient color is missing on created entities
- Fixed: The default slices count (16) is ignored when creating a cylinder/capsule (10 was used)
- Tube mesh entity : Fixed: the geometry is un-selectable when using a small opening angle value.

- Fixed: HeightField geometry disappears after a simulation reset
- Fixed: Physics mesh graphics representation matrix is reseted to identity after a simulation reset.
- Fixed: Crash when physics mesh file is missing

- Fixed : DevicesGroup messages management returns -4 (MODA_ETCPCHANNELBUSY) on connexion lost: it returns now -5 (MODA_EDISCONNECTED)

- New DivicesGroupServo::GoPositionDeg/Rad : assigns the same speed to each servo in the group

4.5.3 (October 1, 2010)
- Fixed: 'file write exception' when trying to save a device configuration in a read-only file
- Servo motors default angular accuracy is now set to 0 by default (perfect servo )
- Improved the DeviceLCD exclusion filter (excluded Viewpoint and Light entities)

- Fixed: object size was multiplied by the scale matrix at each rotation while rotating the object by using the mouse
- Fixed: possible crash when moving mouse cursor over the 3D view during the world's initialization phase
- DeviceLCD: the self-illumination is now working even if ambient LCD's ambient material is as 'minimum object's color'
- Improved the Wav sound file support
- Added an angular speed filter in order to produce better sound effect

- Improved the DeviceSoundSource::SetData function in order to read more .wav sub formats

4.5.2 (August 13, 2010)
- Improved the refactor tool
- CommandGeomParent and CommandGeomChild improved
- Fixed: Marilou update : update list proposes wrong new version in some cases
- Fixed: Same X/Y/Z commands do not set the document's ’modified' flag
- Manage named selections: fixed some invalid button enable/disable states

- Fixed: explicit On/Off device message was ignored in some cases by DeviceContact and DeviceDistance

3D engine:
Fixed: UV adresses mapping ignored in some configuration

- Class Creator:
-> 'IsValid' function is now virtual ('Valid' property for C#)
-> New function SetValid
- New RobotPHX::On/Off Devices function

- New GetDevicesCount() function for DevicesGroup
- New RobotPHX::On/Off Devices function

4.5.0 (July 2, 2010)
This version is the Marilou 2010 BETA code source base. Learn more about Marilou 2009/2010 changes: http://doc.anykode.com/marilouversion.html

- Fixed: Meshtool: editing one OBJ mesh subsets's material can modify the X-1 subset's material.

- Improved video capture frame rate stability.
- New images squared formats for video recording.
- Video capture supports antialiased images recording (X2 and X4).
- Video capture can store images using a frame rate from real-time to *100 for creating accelerated videos.

- Downsampled images: fixed some format conversion problems from/to R8G8B8 and B8G8R8 (nmPhysics.dll and Image.cpp involved).
- Downsampled images: the downsampled image format is now the same as the source image one (instead of always X8R8G8B8).

4.4.12 (June 2, 2010)
- Configuration: it is now possible to define the static/viscous force thresholds: the static force is applied if the axis linear/rotational speed is less than or equals to the threshold, the viscous one otherwise.
- Physics meshes: rendered and physics subsets are dissociated: you can chose subsets that act in collision detection, and subsets that are rendered.
- Meshtool: the tool brings the 'properties panel’ to IDE front automatically
- New menu Tools->options: general IDE options.
- ‘Add Mesh’ dialogbox: the dialog box displays mesh information like bounding box size and mesh center translation in order to choose the good scaling while importing the file. The ‘autoscale’ option is no longer supported.
- Physics mesh entity: displays a warning on saving document if the entity does not define any subset
- Physics mesh entity: it is now possible to choose if mesh vs sphere contact points are merged or not. The default value is 'merge contact points'
- Bodies autodisable dialogbox: 3 new buttons for predefined values: soft, medium and hard thresholds
- Windows Shell extension: Right click on Marilou project files proposes to Open/Simulate the project (Marilou sub menu). This option is available if you have installed Marilou 4.4.12 from the installer : the update does not register the extension automatically.
- Fixed: 'Autobody' command allowed connecting a body with a PHX entity
- Fixed: 'document modified flag' is not set after modifying some properties in Configuration document.

- Static/viscous force along axes: minor improvements on fronts detection
- Static/viscous torque: 'big viscous torques' are now allowed without simulation explosion. It is preferable to use small viscous torque values in order to keep good joint stability.
- New: If the command line does not contain any configuration to start, Exec proposes to choose the configuration from a list
- Latest ODE updates
- Fixed: Lidar & RangeFindefs : rare crash when enable/disable distance sensors display from Exec settings dialogbox.
- Fixed: DeviceAccelGyro : X angle returned by GetInstantXYZValues can be NANd
- Fixed: MODAServer cached entities bug: several calls to robotPHX::QueryGeom for the same geometry name, returns several hGeom (Geometry identifier).
- Fixed: crash when no subset was defined for a physics mesh entity: the entity is now ignored at simulation startup
- Fixed: 'user can select and move' flag was ignored for pure 3D meshes
- Fixed: body's autodisable bad angular threshold unit (deg to rad missing)

3D engine:
- .X and .Obj meshes are now using the 'error.bmp' texture if a subset's texture was not found or is invalid
- 3D files: the material specular power is set to 3 when the input value is 0

DeviceCamera: new Get/SetSettingsEx functions. They are working like GetSetSettings but are using the DeviceImageSourceSettingsEx structure. The new structure contains information on viewpoint settings: zNear, zFar, FOV, MaxZoom and MaxZoomTime. These new intrinsic properties can be changed dynamically by the user application
- New Image::Downsampled2X and Image::Downsampled4X functions that construct antialised images from current object.
- New Connection::GetEXECVersion: returns the Marilou-Exec running version
GetServerVersion and GetProtocolVersion have been renamed GetServerProtocolVersion and GetCommunicationProtocolVersion
- Fixed: very low QueryGeom when using the function inside the class creator's OnStartup function override, due to an excessive TCP channels lock count.

- Modified the SampleCommunicationPort example in order to work with TCP port as well as COM5 (virtual) port (Fabulatech virtual serial port driver must be installed)
- Samples/Tools/CameraDisplay let choose normal/downsampled camera images

4.4.11 (april 19, 2010)
- Automatic sound on motors and servos (examples to be updated)
- DeviceCamera: new image squared resolutions added
- DeviceLidar: it is now possible to specify if scan direction is horizontal or vertical
- Configuration: it is now possible to define the static/viscous torques threshold: the static torque is applied if the axis rotational speed is less than or equals to the threshold, the viscous one otherwise.
- Configuration: the physics panel is exploded in 'General' and 'Exec' sub panels in order to define (in the future) some Exec specific properties
- Fixed: refactored object was displayed completely white when specular color was used.
- Fixed: some shortcuts (copy/cut/paste …) were still active when entering in X, Y or Z controls (under the 3D views)
- Materials:
-> physics rolling damping unit changed for producing better results. This is the quantity of energy (angular speed) lost per second.
-> it is now possible to choose the operator used to compute the final physics damping coefficient (min, max, average, constant)

- Bookmarks declared in Editor are now usable in Exec (F2). The next step is to name these bookmarks and allow to start-up Exec with a specific viewpoint location, from bookmark.
- New menu 'View'
- Physics loading is pretty faster
- Static/viscous torque: minor improvements on fronts detection
- Fixed: rolling damping is no longer time-step dependant

- Matrix constructor by float * (or array<float> for the managed version)
- Image::Get/SetPixel
- Image::Image( downsampling) : creates a down-sampled image from an Image (antialiasing)
- DeviceContact: it is now possible to collect raw information about contact points: position, normal, applied force/torque directly in the robotics application. It is useful for creating finger sensitive zones

4.4.9 (March 1, 2010)

Marilou.Moda.dll: function name changes:
Moda.Image.GetVerticalResolution-> GetHeight
Moda.Image.GetHortizontalResolution-> GetWidth
Moda.DevicesGroupMotor.SetVelocityDPS -> SetVelocitiesDPS
Moda.DevicesGroupMotor.GetVelocityDPS -> GetVelocitiesDPS
Moda.Vector -> Vector3

ModaCPP: protocol V3:
Geom::Get/SetPosition is now working in DirectX axes. If you don't rebuild your old application (V2), they will continue to work correctly because the ModaServer supports V1, V2 and V3 protocols.
Building your application with this Marilou version sets your protocol version to V3 ... you have to invert Y and Z vectors components.

- Object settings panel: position changes are propagated to the entire selection.
- Rectangular selection: invisible objects (due to document display properties) are no longer select-able
- SelectAll: invisible objects are no longer select-able
- Fixed: Torque sensor ‘MaxTorque’ variable was not saved in device's settings string. That causes the maximum measure was ranged by [-100.0, 100.0]

- It is now possible to rotate selected objects from the 3D view: select objects, activate the rotation mode ('R') then use the mouse like for translation.

- Fixed: laser range finders & lidar device was able to miss some triangles when scanning 3D meshes. Scan is faster.

MODA & Marilou.Moda:
- New Geom::SetMatrixAbsolute : transforms geometry's cinematic chain in order to place the geometry at the specified absolute transform.
- New Geom::Stop for stopping dynamic entities movements by cancelling rotation/translation speeds.
- Support for MODAMATRIX (and managed Moda.Matrix) improved (rotation, translation, inverse, multiply etc.)

4.4.7 (February 14, 2010)
- Fixed: 'Collide with connected bodies’ property was grayed if body was in kinematic mode
- Class creator tool: if selected PHX is a world, the tool proposes 'World' as class name instead of 'MyRobot' ….
- Meshtool: is it now possible to change mesh subset's color(s). Also, the view embeds some point light
- Meshes entities (rendering ones for now) detect mal formed materials (specular power = 0 and diffuse alpha =0)
- Documentation updates

- New feature Path Display: Displays the geometry movements by drawing an incremental path. ('Simulation' menu, can be activated per geometry or for several in the same time)


- ESC key unselect selected entities
- Distance sensors objects (distance, range finders, Lidar) and AirPressure rays are no longer visible in camera rendering

- Fixed: bad DeviceAbsolutCompass and DevicesGroupAbsolutCompass internal device class: causes Group::AddDevice to fail
- New TraceDisplay object: Use Geom::CreateTraceDisplay for creating a trace that is follows the geometry moves. The TraceDisplay object can be configured dynamically
- New sample Samples/Simple/TraceDisplay

4.4.6 (January 5, 2010)
- Improvements on "License Reminder" dialog-box
- Device ActuatingCylinder (Jack): new field 'Goto Indexed position' in the device's instance values.
- Improved the matrix precision on moving objects using Gizmo: the matrix rotation part is no more affected by this operation
- Fixed: the automatic view point placement (opening a document for the first time) was able to be affected by objects scaling matrix
- Documentation updates

- Fixed: Reading slider indexed position can introduce an unwanted offset.

4.4.5 (December 20, 2009)
- Entities from files (physics/3D meshes, PHX references) can be open by pressing Enter key (Select then ‘Enter’).
- DeviceMotor: instance values are always interpreted as 'after gear box'
- DeviceMotor: fixed: SetTorque startup value was ranged by MaxTorque, ignoring the Maxtorque location and gearbox reduction.
- Project explorer displays PHX/worlds file preview in the icon field (if the file was saved in binary format)
- New device AbsolutCompass, attachable on physics and rendering entities. The device measures the absolute angle between the sensor axis and earth magnetic north pole direction. The position of the north can be set in the project's configuration.
- Manage Selection: new buttons ‘Add to selection’ and ‘Add selected’.
- Class creator tool has been extended to C++ CLI. Also, it is possible to specify a namespace and include automatically ‘stdafx.h’ for C++ and C++CLI projects.
- Gazebo importer improvements: importing sub-sub models, joint axes orientation , meshes geoms (.mesh file must be converted in .X, .OBJ or .3DS, with the same name and in the same location), basic materials import.
- New warning: empty Rigidbody in 'auto' inertia mode and connected to some joint, is converted sphere inertia (0.1Kg) at simulation startup. Before this change, models were able to explode because the empty inertia matrix.
- New warning: Joint connected to disabled body. This situation made the joint was ignored in Exec. Now, the joint is working as if configured without the disabled body (if the joint accept it).
- New Wizard Dev-CPP for creating MODA projects for Bloodshedd DEV-CPP (File->New->New from Wizards)
- New Wizard CodeGear RAD studio 2009 for creating MODA projects for Borland builder 2009 (File->New->New from Wizards)
Fixed: user was able to select a hidden file from gallery: that can cause some unwanted behaviours.
Fixed: configuration ‘auto saving’ was disabled due to recent optimisations

- Improved display when using a low rendering frame rate: display refresh is immediate when moving the mouse or pressing keyboard keys.

- DevC++ outputs: xklib and moda libraries output is renamed in libxklib-x86-win-devcpp.a and libmoda-x86-win-devcpp.a (produce linux like library name).
- New Connection::SleepSec(float ) override in seconds.
- DeviceMotor: new GetGearboxReduction() for getting information about the motor's gearbox. Available in groups and managed code (Marilou.Moda.dll)
- New DeviceAbsolutCompass and DevicesGroupAbsolutCompass
- New sample Devices/AbsoluteCompass

- Rigid bodies in 'Auto' mode without any geometry defined but the joints, is converted in 'sphere' about 0.1Kg.
- Joint ignores disabled body instead of entering in error state.
- DeviceAbsolutCompass management

4.4.3 (December 2, 2009)
- Fixed a bug in 3D engine that affects range finders display (due to recent optimisations)
- Fixed a rare bug in relative/absolute resources file path management.
- Documentation updates

4.4.2 (November 25, 2009)
Improved the installer due to the issues with VISTA and Windows 7

- Minor IDE improvements (toolbars, menus ...)
- Named selection: new buttons 'remove selected' (remove PHX's selected entities from named selection(s)), and 'show' button that selects named selection entities in PHX.
- Fixed a bug that can cause 'Manage selected selections' dialog box crashes when deleting all registered objects
- New Inertia matrix type 'Trimesh' for custom meshes and file meshes. Computes the inertia matrix by taking in account the triangles surface area.
- Improved Undo/redo commands when using the refactoring tool
- DeviceDistance settings dialog box: some default values like noise or aperture are automatically modified when changing distance sensor type
- DeviceContact: the device embeds force sensors that measure the forces generated by contact points on the geometry. Each 6 half-axis owns it force sensor.
- Mesh entities (rendering and physics) detect automatically if a transparent colour is used in the mesh
- 3D meshes and physics meshes can be open in editing mode directly from the entity's ’Modify' panel.
- New COLLADA (1.4) importer: basic importer to be continued! (Send us your files for testing)
- New feature 'Bookmarks': store/toggle viewpoints position per view style. In the future, they will be usable in Exec’s window.

- Trimesh inertia matrix

- AirPressure: new function GetMaxForce that returns the maximum force that can by applied by the device
- AirPressure: new function GetCurrentForce that returns the current max force that is applied by the device (the one set previously by GoForce)
- DeviceContact: new GetForces for getting force sensors values (available in groups too)
- New sample ContactForces (you will have to unrar the sample if you updated your Marilou from the automatic update system)

Some improvements on the 3D engine that is pretty faster than before

4.4.0 (October 26, 2009)
- Some IDE commands improvement (IDE, galleries, marilou update)
- Marilou update improvements
- New dynamic friction property for surface materials

- Updated MATLAB sample
- New scene sample 'Conveyor' using C#: Illustrates how to create autonomous processes using a multithreaded architecture.
- New Sample ‘Dynamic friction’

- Fixed some minor bugs in Exec's window startup states (minimised, maximised etc.)
- 'Step' mode is now ungrayed (no longer awaiting for 'Pause mode')

- New 'Dynamic friction' management

Post Reply