Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WB-Toolbox 3.0 Release Notes #65

Closed
diegoferigo opened this issue Dec 6, 2017 · 0 comments
Closed

WB-Toolbox 3.0 Release Notes #65

diegoferigo opened this issue Dec 6, 2017 · 0 comments

Comments

@diegoferigo
Copy link
Member

diegoferigo commented Dec 6, 2017

Find below the changelog draft of the upcoming WB-Toolbox 3.0 release. A legacy 2.0 version will be temporary stored in the master-legacy branch after the release. @robotology/codyco-developers

WB-Toolbox 3.0

WB-Toolbox Users

  • The new Configuration block substitutes the yarpWholeBodyInterface.ini.
  • A simulink model can now handle more than one robot / urdf model.
  • A Configuration block placed deeper in a hierarchy (e.g. in a Subsystem) overrides the ones present in the higher level. All blocks which need data from a Configuration block have in their mask a button to highlight the Configuration block to which they refer to.
  • Get Measurement block substitutes Get Estimate.
  • SetReferences block now supports PWM and Current control modes.
  • All the discrete filters hardcoded in the toolbox have been removed. Now the data read from the robot are the raw values from the control boards. A new Discrete Filter block has been developed in order to provide filtering capabilities.
  • Greaty improved log messages. Warnings support has been included.
  • Included in the configuration the possibility to set an alternative gravity vector. All the blocks which did accept external gravity have been updated accordingly.
  • The SetLowLevelPID block does not read anymore data from files. New PID and WBTPIDConfig classes have been developed to store PID data. The block's mask reads the name of the object which must be present in the workspace before the simulation starts. Furthermore, support of multiple configurations has been dropped.
  • InverseKinematics and RemoteInverseKinematics have been temporary disabled.

WB-Toolbox Developers

Matlab

  • The WBToolboxLibrary which contains the blocks displayed in the Simulink Library Browser is now exported only in slx format (Matlab >= 2014b).
  • All matlab functions and classes used by the toolbox are contained in the new +WBToolbox package.
  • The new WBToolboxConfig class is used to store the robot configuration.
  • All the blocks inheriting from WBBlock must call BlockInitialization.m in their mask's Initialization.
  • Mask2WBToolboxConfig.m reads the Configuration block's mask and creates a WBToolboxConfig object.
  • WBToolboxConfig2Mask.m fills a Configuration block's mask with data parsed from a WBToolboxConfig object.
  • The WBBlock parameters are now passed to C++ using a struct extracted from a WBToolboxConfig object in the mask's Initialization.
  • S-Functions based on Block need only 1 parameter: the ::ClassName.
  • S-Functions based on WBBlock needs only 3 parameter: the ::ClassName, the WBTConfigParameters (struct extracted from a WBToolboxConfig), and the configBlockAbsName (name of the Configuration block from the root or the Simulink model).
  • Adding a new parameter to class inheriting from WBBlock does not require anymore changing all the block's masks. It is enough adding a new option in the WBToolboxConfig Matlab class and then handling its parsing in the C++ side.

C++

  • A new AnyType interface has been developed. MxAnyType is one of its implementationand is used to parse generic mxArray pointers (including structs, cells, and vectors).
  • All the methods that access parameters from Simulink return a boolean.
  • The entire wholeBodyInterface has been deprecated.
  • iDynTree is now required by the entire WB-Toolbox.
  • The model is now handled by iDynTree::KinDynComputations.
  • Actuators and sensors are directly accessed by yarp::dev::RemoteControlBoardRemapper.
  • WBInterface singleton has been renamed to ToolboxSingleton.
  • A new class Configuration has been developed. It contains data parsed from the WBToolboxConfig Matlab's class.
  • A new class RobotInterface has been developed. It contains a Configuration instance, and it handles in a lazy way all the resources used to communicate to the robot.
  • Blocks which require accessing actuators and sensors must call retainRemoteControlBoardRemapper in their initialization method, and must call releaseRemoteControlBoardRemapper in ther terminate method.
  • WBIBlock class has been renamed to WBBlock.
  • WBIModelBlock class has been deprecated.
  • The Signal class has been rewritten. It supports both contiguous and non-contiguous input signals (output are always contiguous). By default, input signals are now contiguous.
  • The new sigletor Log substitutes Error.
  • For blocks which inherit from WBBlock, the robot state passed directly to iDynTree is now stored in the parent's WBBlock::iDynTreeRobotState struct.
  • The DoFs converter block uses the new ModelPartitioner class instead of YARPWBIConverter.
  • GetMeasurement substitutes GetEstimate.

Other

  • C++11 is now required.
  • CMake > 3.3 is now required.

you can find more details about this major release in #46 and #56.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant