Sunday, January 24, 2021

GoPiGo3 Robot Carl Is Dreaming Of A Time

Carl: Cute and Real Lovable - An Autonomous Personal Robot Life Form






 Goal: My “Dream for Carl” is "to be" an autonomous personal robot that:

- is operating 24/7 (Achieved)
- manages its own health (Substantially implemented)
- maintains, uses, and extends an AuR/CORA templated RDF/OWL knowledge base
- interacts with humans, (using speech to text, text to speech, and a remote desktop window), with information and common courtesies (Substantially implemented)
- learns about its environment using vision, dialog, and reasoning
- set self decided learning goals (for self-learning and programmer code requests)


Learning Aspect: 
  • takes photo of “interesting, unknown” objects in the robot’s environment
  • processes the photo for object segmentation to isolate the unknown object
  • Starts an “unknown object 12345” in the robot’s RDF database
  • analyses the object for “locally discernible features” such as shape, size, color, proximity to known objects, mobility, …?
  • Asks me if “now is a good time” to help identify and classify some objects?
  • Puts the image on the robot’s desktop with a text entry window for dialog
  • Dialogs to add to the “unknown object 123” a minimal set of RDF knowledge relations
    such as identity, class, features, purpose, utility to the bot
  • Dialogs to add “how does it differ from xyz that I know about?” (just another instance, or some true difference)
  • If not just another instance, revisit the object to collect more photos
  • File transfer all the photos of the object to a folder on my Mac for “transfer learning update” to the robot’s TensorFlow-Lite Object Detection model
  • ADDITIONALLY, the big if:
    • search the Internet to find “potentially useful to the bot” information about the object
    • Periodically review knowledge gained from the Internet to see if ever used, and delete unused learning!

 

I am reasonably certain all of this is possible on the Raspberry Pi 3B of Carl, (excepting the TensorFlow-Lite transfer learning model update that would use the Radeon RX 580 Graphics Processor attached to my Mac Mini)