Blog

Latest entries for tag 'announcement'

Fawkes 1.0.0 released

Today we are happy to announce the release of Fawkes 1.0.0. This release four years after the last major release (we still need to get better on this) contains a vast amount of new software components and plugins, sub-systems, and overall system and framework improvements. You may also call this the tenth anniversary release (the first commit was done on Sep 5th 2006). In the past years, Fawkes (or parts thereof) has especially been used in domestic service robot and industrial multi-robot logistics tasks.

In the following we present some additions and changes in 1.0.0 since 0.5.0.

Behavior Modeling
A crucial part of a robotics system is the system to model, reason about and decide on, and eventually execute the intended behavior for the robot to accomplish its task. This version contains some significant improvements.
  • CLIPS-based agent framework: based on the integration of the CLIPS rule-based production system of the 0.5 release we now include several plugins that allow for the easy modeling and execution of agents as a rule-based action selection system.
  • OpenPRS: we have integrated and used the procedural reasoning system in the RoboCup Logistics League.
  • ECLiPSe CLP: this constraint logic programming system is used to power a Golog-based agent framework.
  • ROS-BE: we have backported advances made to the ROS version of the Lua-based Behavior Engine back to Fawkes. Additionally, it allows for native access to the ROS universe using roslua
Topological Map Graph
A topological map graph can be useful for global path finding, relating relevant points of interest (POI) from symbolic names to geometric coordinates, and to store semantic information and properties. In Fawkes, the newly introduced navgraph component and provides these capabilities. It is integrated with the behavior components and additionally provides constraint management (block nodes or edges, apply cost factors to edges), which can be used, for example, for path reservation. It features automatic navgraph generation given POIs, obstacles, and a cell-based map. A navgraph can be represented as a YAML file and there is support for interactive manipulation through ROS rviz.
Gazebo Simulation
The new Gazebo simulation system allows easy access to many types of sensors and full interaction with the Gazebo middleware. This integration is the basis for the simulation integration of the RoboCup Logistics League 2015 domain release.
New Hardware Drivers
Fawkes 1.0 supports several new hardware components, such as the Sick TiM 55x and 57x laser range finders, the Asus Xtion, Point Grey Bumblebee2, Cruizcore XG1100 IMU, and arbitrary Dynamixel servo chains. Based on our libkindrv library the Jaco arm is fully supported, even in dual-arm configurations. The Robotino driver supports direct-access communication mode that completely bypasses OpenRobotino (tested on Robotino 3). This allows for access to sensor timestamps and better control. This also includes a simple acceleration controller which makes the Robotino drive much more smoothly.
Other Items
Some of the other noteworthy changes include switching to YAML-based configuration files, switching to the tf2 transforms library, a plugin to recognize clusters in laser data, bash completion support, and support for IPv6 networking. Additionally, a full pipeline for storing, retrieving, and merging point clouds to and from a MongoDB database has been added. Interfaces are now packed more densely, which means external access libraries must be updated (e.g., jfawkes).
There are many other fixes and performance improvements throughout the software.

Thank you to the contributors who made this release possible. The new release is available on the download page. The documentation is continuously extended and improved in our Trac Wiki.

Posted by Tim Niemueller on December 30, 2016 16:17

Fawkes 0.5.0 released

Today we are happy to announce the release of Fawkes 0.5.0. This release two years after the last major release (we need to get better on this) contains a vast amount of new software components and plugins, sub-systems, and overall system and framework improvements. For this release, the large majority of additions and changes has been made to functional components and plugins, rather than the core framework. This indicates that Fawkes has matured over the years and provides a solid base for robot software applications.

The new software components cover typical robot tasks like self-localization, (point cloud based) perception, robot arm motion planning, and integration with other software frameworks. Many of these components are possible because we integrated other third party robot software components and make it available within the Fawkes ecosystem. We have also added support for several common robot platforms like the Nao, the Robotino, and the Roomba. These robots can now be used easily out-of-the box with Fawkes.

Here is a more detailed (yet still incomplete) list of additions and changes in Fawkes 0.5.0.

ROS Integration
This version integrates closely with ROS, the Robot Operating System. It can provide data acquired in Fawkes to ROS and vice versa, integrate ROS' move_base locomotion planner, and several plugins now use rviz to visualize their internal state.
OpenNI Integration
Fawkes can now use OpenNI to acquire RGB-D data from sensors like the Kinect, and make use of the provided hand and user tracking capabilities.
Point Cloud Processing
New tool support and plugins have been added to make use of the Point Cloud Library (PCL). For example, a plugin to analyse tabletop scenes has been added identifying the position of table in front of the robot and objects on it.
OpenRAVE Manipulation Planning
An integration plugin for OpenRAVE has been added that allows plugins to use, for example, its motion planning capabilities. The Katana 5 DoF arm hardware plugin has been extended to make use of this new capability.
New Hardware Platforms
Fawkes can now work on robot platforms like the Nao, the Robotino, and the Roomba. The plugins integrate the robot's hardware capabilities and make it easily available to other plugins.
Self-localization
Fawkes now comes with an Adaptive Monte Carlo Localization plugin which has been ported from ROS. Using a known map an frequently taken 2D laser scans it can determine the robot's position within the map.
Coordinate Frame Transforms Framework
Fawkes now includes a framework and library for easily calculating transforms for points in different coordinate frames. The system is based on and thus compatible with ROS' tf framework.
RRD graphing
A new plugin provides RRD graphing capabilities for plugins. For example, for a MongoDB Logging project performance graphs have been created with this framework.
CLIPS Expert System Integration
The CLIPS rule engine for building Expert Systems has been integrated into Fawkes. Plugins can now easily acquire a CLIPS environment and start using it. For example, the Carologistics team has used this to create a reasoning agent to participate in the RoboCup Logistics League sponsored by Festo.

Thank you to the contributors who made this release possible. The new release is available on the download page. The documentation is continuously extended and improved in our Trac Wiki.

Posted by Tim Niemueller on September 27, 2012 12:43

ROS Integration for Fawkes

Fawkes and ROS are robot software frameworks, each with unique features. Recently, we have added plugins to Fawkes to participate in the ROS ecosystem as a ROS node. Furthermore we have created rosfawkes. It encapsulates Fawkes in a ROS package for straight-forward inclusion.

The Fawkes ros plugin allows users of Fawkes to benefit from the wealth of code that is being written for ROS nowadays. Other components can access ROS and communicate with other nodes via topics or provide or invoke services. Fawkes plugins can be written that benefit from the focus and infrastructure on these closely implemented components, much like nodelets on steroids.

The rosfawkes package embeds Fawkes into ROS and provides a specialized main application embeds Fawkes in a ROS node. The package makes it possible to use all of Fawkes' libraries and tools in ROS nodes. For example, the ros-webview integration plugin allows ROS nodes to extend the Fawkes webview web interface.

With this code we have only made the first step, but an important one. We strive for an even closer integration in the future.

The basic installation instructions for the two ways of integration are described in the (preliminary) rosfawkes documentation.

Posted by Tim Niemueller on May 26, 2011 00:03

Google Summer of Code 2011

The Fedora Robotics SIG has completed the Fedora Robotics Suite, a set of robotics related software packages that are readily available in Fedora Linux. Fawkes is one prominent member of this package set. The original idea also envisioned creating an educational application, where a user would learn step by step to control a robot, then instruct, and finally program it. The project could not be completed due to a developer shortage.

The project has now been proposed as one possible candidate for the Google Summer of Code 2011 with the Fedora Project as mentoring organization. If you are a student with a background in robotics and experience in C++ software development please consider applying for this project. The Fedora Robotics SIG comprises many developers of upstream software projects providing a good way to get in touch with those projects. It will also be a very visible feature of the Fedora Robotics effort providing a good show case for later applications.

To apply please read information on the Fedora GSoC 2011 page and contact Tim Niemueller of the Fedora Robotics SIG.

Posted by Tim Niemueller on March 23, 2011 12:20

Fawkes 0.4.2 released

The new GCC version 4.6.0 uncovers more issues than previous GCC releases. With this release, these have been fixed. These bugs did not manifest in typical operation. Additionally, Linux 2.6.38 drops support for Video4Linux version 1, and thus its (non-)existence must be detected. On newer kernels, only the Video4Linux version 2 interface is built now. The issues had been fixed in the master branch a while ago.

These fixes have now been backported to the 0.4 branch, in particular for the upcoming Fedora 15 release. It was detected by our continuous integration build hosts.

Posted by Tim Niemueller on February 22, 2011 12:05

Fawkes 0.4.1 released

In the last few months some minor improvements have been made that we want to share with this release. In particular packaging Fawkes for Fedora shed light on some shortcomings.
Manual pages
All console and GUI tools now come with manual pages. They describe the available options more in-depth than the already existent usage instructions that you get when calling a tool with the "-h" parameter.
Configuration files in user home directories
Until now Fawkes expected a central configuration directory writable by everybody running Fawkes on the system. This is typical on real robots, but this can pose problems on multi-user systems, e.g. during development or using simulation environments. Now, the configuration can still be read from this directory, but information is stored in a .fawkes directory in the user's home directory.
Enforcing undefined symbols
On shared libraries and plugins undefined symbols were not enforced. This is the default behavior of the GNU linker. This can lead to plugins which cannot be loaded later. To uncover this kind of error earlier we now enforce all symbols.
Fixes
This release contains some minor bug fixes and adjustements for the latest version of libmicrohttpd.
This released contains 35 new commits (overview).

Posted by Tim Niemueller on January 9, 2011 19:55

Fedora now includes Fawkes

Recently we proposed Fawkes for inclusion into Fedora. The review has completed and the package has been accepted! Fawkes and its development environment can now be installed out of the box, see the download page for instructions.

On a related note Fawkes has been chosen by the Fedora Robotics SIG to play a major role in the Fedora Robotics Spin along with Player and Stage. The main idea of this spin is to have software on a LiveDVD providing a ready-to-use robotic simulation environment, with a demo application to introduce users step by step to the available software. Additionally as much robotics related software as possible, ranging from packages for hardware access (laser scanners, robotic arms) and robotic middleware frameworks, to full-blown simulation environments and libraries relevant for robotic applications like vision processing or task control will be added. The Robotics Spin has been proposed as a Fedora 15 Feature.

For this LiveDVD Fawkes will be used in combination with Player and Stage to provide the environment for the demonstration application. In particular, the behavior engine based on Lua will be the tools used to guide the user to complete tasks of increasing complexity within the Stage simulation environment. Among others like Player/Stage and the RoboCup 3D Soccer Server Fawkes will be one of the highlighted robot software packages.

Posted by Tim Niemueller on November 16, 2010 18:09

Final review of upcoming release 0.4

About half a year ago we made the initial Fawkes 0.3 release. Now we are close to releasing the next version 0.4, which contains several improvements and new functionality. For a developer's summary please have a look at the mailing list post. The code is currently under final review in the current-pre-0.4 branch, where all relevant feature branches have been merged and final fixes and cleanups have been applied. Everybody is invited to have a look at the code and give review suggestions before the release in about a week. Initial packages for Fedora have been built and with the release we will likely present binary packages for easy installation for the first time.

Posted by Tim Niemueller on February 4, 2010 16:08