The behavior layer for BonSAI has its own repository now and is available under
This includes the Skill classes as well as the Skill engine with according SCXML files.
We have just released the 0.11.0 version of the BonSAI core. You can find an according tag "0.11.0" in the git repository under http://opensource.cit-ec.de/git/bonsai/
The bonsai projects was moved from the original svn, which is still available under
https://opensource.cit-ec.de/svn/bonsai but will not accept any new commits. Please use the git repository under :
which will contain a stable master branch and an unstable branch for developmental stuff.
The API Doc for the BonSAI trunk is available from the CI server under:
which is updated automatically.
Older versions can be found here:
To checkout and build packages that are gained from svn at projects.cit-ec.uni-bielefeld.de, you will have to add
ebuild <package_to_merge>.ebuild manifest.
Make sure, you do not push your credentials into the git-tree... ;)
Update release 3.1.2 for XTT is now available and should be used by all current users of the XTT 3 branch.
It fixes an important issue when sequence numbers do not start from zero which may occur, e.g., when the server is restarted while the rest of the systems remains running (which has always been supported behavior, of course).
A new release of XTT, version 3.1, is now available via Maven.
Update Update release 3.1.2 is now available and fixes an important issue when sequence numbers do not start from zero. Please use it instead.
Previously, when using the XCF transport and initiating tasks very rapidly, their execution could be out-of-order, because XCF does not guarantee ordered delivery of the invocation messages. XTT 3.1 now includes a feature to ensure in-order execution for tasks from the same client. This behavior is optional, but activated by default, because it is what most people would expect.
XTT 3.1.1 is still fully backwards compatible, but ordering will only work if both client and server use XTT 3.1 and up.
In r2234, work on an integrated version of task trees has started. With these, a task can be composed of a sequence of sub-tasks. The definition of sub-task structure can be provided at deployment time, through a configuration file.
The new BonSAI release 0.10.0 now comes with maven as managment/build tool. Additionally the SCXML feature is no activated, which means that you can compose robot behaviors via SCXML files. Check the examples or the mailing list.
New General Features¶
- added Box-Plots upport to the PlotWidget
- applied some major changes to the default image visualization widget
- added fullscreen mode for single widget and an extra blue button for fullscreen (F11 works as well)
- added tooltips to the tiny blue widget buttons
- added tooltip to GUI compoenents (use @tooltip=text in your GUI definition)
- improved Kinect RGBD-Calibration tools
- replaced (wrong) homography based RGBD mapping with a more sophisticated projective geometry based mapping
- the new mapping works very well and seems to be comparable to the (unknown) open-NI RGBD-calibration method
- added performance optimizations (point-cloud creation + rgbd mappings takes less then 5ms)
- added a new SceneObject class called RGBDImageSceneObject (which will later use the already existent PointcloudSceneObject internally, but it will provide a much simpler and configurable interface)
- added triangle based rendering to the RGBDImageSceneObject class (quite slow still)
- added depthmap smoothing for better RGBD mapping
- added automatic IR-image shift to the Kinect grabber (which compensates for the hardware offset)
- added a new tool called icl-configurable-info, which can be used to list and inspect the properties of all classes that implement the Configurable-interface
- added a generic RANSAC implementation + demo-application for shape fitting
- moved ICLCore/Random.h to ICLUtils/Random.h
- added generic framework for direct least square model fitting (which was actually part of ICL some year ago in the ICLMEx package)
- extended the Scene's offscreen rendering method, so that it can also render the depth-buffer to simulate Kinect data
- added trylock to the Thread and Mutex class
- PylonGrabber based GIG-E camera support
- merged the development branch back to the trunk
- several optimizations and fixes
- added support for all image depth in the LocalThresholdOp class
- added new UnaryOp class that creates a color distance map: ColorDistanceOp
Important Changes to the Build System¶
- added (still experimental) support for building .deb packages using CMake /CPack
- try by using the debian-package.cfg configuration script. In the resulting build/debian-package/ directory, you can type 'cpack -G DEB' to create a debian package)
- completly re-implemented the dependeny tracking CMake code
- applied several fixes for linux-kernel 3.x support
- compiled ICL (with most dependencies) under Ubuntu 12.04 (beta1)
- in particular fixed the missing reference to pthread_atfork by finding out, that Intel IPP 6.1's libiomp is not compatible to the newest glibc. Instead, we now just suggest to use libiomp5.so from Intel IPP 7.0 (update 6) the new version of libiomp5 is already placed in our /vol/nivision/share/IPP/6.1/sharedlib directory
New Functions and Small Changes¶
- added SceneObject::clearAllPrimitives function
- added style presets to the PlotWidget class
- improved gui-component parsing now, the component string can also contains angular braces
- added linestrip and grid annotations to the PlotWidget class
- reimplemented the ICLWidget's histogram widget by using the new 2D PlotWidget
- accellerated 8u-histogram creation significantly
- added Color to the Common.h header
- added utlitiy method that allows for installing mouse-handler function directly to DataStore::Data instances
- added text(string,point) method to draw widget
- added new constructor to the UnaryCompare op, that allows for defining the comparison operation type as string (e.g. "<=")
Bug Fixes and internal changes¶
- fixed bug in Pylon Grabbers
- the documentation does now also show the icl-version number
- fixed GLImg::getColor(x,y)
- moved ProximityOp compilation into the HAVE_IPP section
- extended makefile system to only build a subset of examples
Also available in: Atom