So,  I've been playing around a bit with using Solr as the basis for recording data that flows through MyRobotLab and exposing it for search later on.  Here's a screen shot of the new (very sparse) solr search gui in the swing gui.

 

 

You can see a standard search bar at the top with a search button.  This search bar accepts solr query syntax.  The main result page shows on the left hand side a break down of all the services, methods, and types of data that is being searched.  The results on the right side show the raw data as it's stored in the solr index.

This solr service works by attaching to the in and out boxes of all services that are running in MyRobotLab.  Additionally, we have attach methods for specific types of callbacks such as onOpenCVData or onYoloClassification.

Now you can do a google style search across all of the data that was generated by you robot, this includes what the robot has seen, heard, said and done...

 

 

Spawn32

6 years 5 months ago

Really lookig forware to to test this out Kwatters :)

GroG

6 years 5 months ago

WOOOT !!!

 INDEXES !

Now our robots have very fast memories they can search.

Does banana become part of the webgui ? :D

Probably no banana in the short term.  embedded solr server doesn't expose a http endpoint for running searches.  We'd have to plumb that through if we were going to enable banana.  Alternatively, you can point at an external (non-embedded) solr server and you could use banana with that.

I think it'll be interesting to see what sort of data model evolves.  I've already started realizing that having frame Index as a common element that is searchable is a good thing.

I'm sure we'll want to revisit text search stuff on what was heard, and said.  Also, it'd be interesting to try to get some basic news and current event search working though program ab.  "Are there any articles about X today?"   

Lastly, i think there are some messages that don't go through the inbox/outbox of services, a good example is calling moveTo on a servo.  There isn't an easy way to capture these sort of calls to make them searchable.  Maybe it's going a bit overboard, but I'd like to be able to record and then search for and playback servo movements... There is probably a better approach than the one I took which wired in a callback when moveTo was called..

anyway.. at least now we have a simple gui that lets use have a sense of what sort of data is in the index.  It'd be nice to make this a considerably more functional search UI, but for now, I was just looking for something to debug with..

 

 

 

hairygael

6 years 5 months ago

Data shall be the religion of robots!

I wish I knew how to start using solr. I must stay patient.