A new MIRA release is available.


- Switched to Eigen 3.2.0

- Fixed bug which caused incomplete ZIP binary packages, if a package contains
  multiple packages files.
- miracd autocompletion is now mush faster
- Added miramk for invoking make on a certain package
- miracd, mirals, etc. now use the colon syntax to be consistent with the
  syntax used config files, e.g. miracd MyPackage:some/path
- added miracp for copying files between packages
- reimplemented bash auto completion to allow the completion of packages, files and paths at the same time
- added support for multiple files to MIRA_INSTALL_FILES macro and renamed old MIRA_INSTALL_FILES macro to MIRA_INSTALL_FILE

- introduced new syntax <package>:<path> for specifying paths relative to packages
- added methods for printing a progress bar to the console (PrintProgressBar.h)
- added method AbstractTransformerNode::isAncestorOf()
- findPackages() now takes the maxAge parameter into account
- removed deprecated Square.h header, use pow2() from Power.h instead
- allow to add a link from a transform node to a parent node even if it was connected to another parent already (relinking)
- added XMLDom::sibling_iterator::add_child(XMLDom::const_sibling_iterator node)
- added methods to set uri of XML documents and siblings
- using uri path for resolving includes in XML files now
- added basic support for Eigen::SparseMatrix serialization
- added flag to JSONSerializer that activates reflection of read only properties (only for output, not for deserialization)
- print() now uses JSONSerializer with reflection of read only properties
- EigenFormat is now const-correct and predefined EigenFormats now allow to specify a precision parameter for output
- added eulerAngles() method to be independent of the varying implementation in different Eigen versions

- added TapeVisitor::iterator::read() method for more convenience
- if a config file does not exist a more helpful error message is shown to the
  user if the file exists in any of the mira project folders
- when loading multiple config files at startup they are now first merged into
  a single XML document before processing it to allow to change parameters of
  units across config files
- fixed bug in Channel::waitForPublisher(): timeout parameter was not taken into account
- fixed bug in Tape::write(...,Stamped<T> ...) method
- fixed bug in <parameter> preparer, it now handles <namespace> tags correctly that consist of more than one path part
- Framework::requestTermination() now allows to specify the exit code
- different mira processes started using the <process> tag, now connect to eachother automatically by default
- store framework protocol version in remote connection for future usage, to be
  able to handle differences if frameworks with different protocol versions are
- if a service name is aliased, the corresponding builtin service method will be aliased too

- added slider property delegate for float and double to support the slider
  property hint for these types
- Refactored QtUtils::toQImage, which invalidated the internal QImage memory for certain image types.
- fixed SignalBinder for methods with QString parameter
- added additional SignalBinder::connect methods to connect with boost functions
- fixed scrolling and zooming bug in 2D view
- better error handling when dropping invalid channels into visualizations
- implemented mip mapping for image object
- fixed Visualization3DContainer after CameraOrbitTool was renamed in version 0.20.0
- fully reworked LineStripObject which now handles one-pixel-wide lines and multiple line strips, therefore, the LineListObject becomes obsolete
- fixed bug in checking for 'reset view' shortcut
- fixed scrolling and zooming bug in 2D view
- changed MIME type of dragged channels to text/plain allowing them to be
  dropped into arbitrary text boxes

- Extended usage help message

- Channel updates and update rate is now shown in tooltip when hovering over the
  channel in the channel view
- Updated keyboard shortcut list

- Extended usage help message

- Fixed issue with wrong package<->repository association

- now using printProgressBar from MIRABase
- implemented the transcode command for changing the codec of compressed data

- Add external project lib dir to LD_LIBRARY_PATH automatically.
- By default mountdir.xml is created automatically for toolboxes and domains now

- adapted BoxVisualization, PathVisualization, PoseVisualization and
  RangeCircleVisualization to improved LineStripObject

- added header file for BasicGoalTool.C

- provided some constructors for the basic markers for more convenience
- scale of markers is represented by a Size3f now
- support for more than one RigidModel visualization at a time
- adapted MarkerVisualization to improved LineStripObject


- Fixed broken building of maps from stored mapping data.

- added mip mapping support for grid maps
- Removed GaussianInverseSensorModel1D

- using new MIRA_DIST_FILES macro

- using relink functionality now when the map changes

- splitted plan method of AbstractPlanner into update and plan. update is called even if there is no plan time left
- added default parameters to config file and added description

- MCU: Fixed mileage computation at startup and after resetOdometry
- MCU: Changed internal computation of mileage to double to increase precision.
  (But for backward compatibility the mileage channel is still a float channel.)
- MCU: Reading gear ratio and wheel diameter from hardware at startup to perform correct odometry calculation from distance readings
- updated documentation
- added MotionTracking module

- Made the laser used for template localization a parameter

- Added finalize method to scanner plugins
- Added support for SickTiM51X scanners

Additional information