Ticket #28 (closed feature: implemented)

Opened 4 years ago

Last modified 3 years ago

Implement simple world model

Reported by: tim Owned by: beck
Priority: major Milestone: 0.3
Component: Fawkes Version:
Keywords: world model Cc:
Git Branch:

Description

Fawkes needs a world model. The world model's task is to provide a consistent view of the world to all think/act plugins once the sensor readings have been integrated. A problem in the old software was that it could not be guaranteed that all higher level components worked with the same data.

The world model shall:

  • integrate local sensor data into one consistent world view
  • integrate remote (other robot's) data into the world model
  • use fusion approaches to integrate the remote robot's data (later)

It was decided that each robot has its own world model. There is no longer a central world model on a central machine since this leads to unacceptable latencies for communicating the data from all robots to this machine and then back to the robots. All robots will send a defined set of data using a world info UDP protocol via multicast networking. This way each robot gets all the data.

A basic plugin has been written but there is still a lot work left to be done. The next step is to create a simple copy-thru mode which copies the local and maybe some external readings into final interfaces that are then to be used by upper level plugins.

Change History

Changed 4 years ago by tim

  • owner changed from AllemaniACs to tim
  • status changed from new to assigned

Work is going on and I'm committing soon a simple copy-in copy-out WM, so that higher level applications can rely on the WM even if there is not a real one, yet.

Changed 4 years ago by tim

  • owner changed from tim to beck
  • status changed from assigned to new

Daniel has been working on this and should take this feature request now I think...

Changed 3 years ago by tim

  • status changed from new to closed
  • resolution set to implemented

Basic world model has been written (/trunk/src/plugins/worldmodel@2146). It is configurable to use different fusing elements (fusers) that take input data, mangle it, and write some output data. Currently mostly copying. Networking features using the world info protocol have been implemented. More powerful fusers will be implemented, but the basic system exists. Therefore closing this bug.

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Subscriber, Participant

  • Fawkes Trac List(Always)
  • Tim Niemueller(Reporter, Participant)