The "Soul" of a Robot

There are many robot hardware components for sale. After uniting an hardware set, there are effectively zero software components available for purchase.

The “soul of a robot”: componentized robot software functions…

Such as:

  • Human-Robot Speech Interface
  • Virtual Camera Sensors (light, color, distance, movement, object tracker, floor mapper, obstacle)
  • Virtual Mic Sensors (sound event capture, sound event recognizer, Small Set Speaker ID)
  • IMU+Encoders+Vision: pose, track, map
  • IMU: virtual 360 degree robot “skirt” / bump sensor

(I suppose robot identity theft could be a major issue with software components.)

DI’s GoBox concept seems like a good start. I just wish there was a “GoPiGo Virtual Component Catalog” that I could use to boost my robot’s functionality.

1 Like

Interesting topic, but I’m not sure what you’re trying to say here. Care to elaborate?

Hardware without software is a body without a soul, and I am feeling tired having to write every “basic robot skill” from scratch. Companies seem to be headed toward “smart sensors”, which continues to feed into what I see as the bane of personal robotics - software deficient sensor-bloat.

Some people put 16 ultrasonic sensors around their robot, and many folks put twin infrared obstacle avoidance sensors on the front of their bot, then add side facing sensors for wall following, and a pyro sensor or thermal camera, and an RGB color sensor to recognize a specific color, and … and … and. Most robot competitions have encouraged specific, limited function robots which has created a great hardware market for limited function sensors.

Someday, perhaps there will be a competition that { declares | requires | issues } a round “standardized robot platform” with a 160-180 deg camera, a far-field mic array, an half-watt amplified speaker, a 9DOF IMU with integrating fusion processor, and variable speed, fan-cooled Raspberry Pi and Raspbian, with some sort of four to five line mini display and four button selection pad.

Perhaps an option for the robot to have a collapsing-extending vertical tube “neck” topped by the sensor platform would be allowed.

Maybe ROS folks already built all these functions. I don’t know enough about their bots, excepting that they are usually big and expensive.

I will consider my robot to have gained a soul, when it

  • has awareness of self (physical, electrical, functional abilities and constraints)
  • has awareness of surroundings (space, objects, humans, animals)
  • an understanding of “what is good for the bot” and what is not,
  • an ability to CRUD triplestore/RDF data, and
  • learn new concepts,
  • update existing knowledge and
  • discard less useful knowledge to optimize use of memory, and can
  • interact with humans by asking and answering questions via speech and email or SMS
    (send captured images, or sounds and ask “what is this”, and integrate the answer into its RDF DB)
  • and of course, find its recharge dock and manage its batteries
  • (including asking for new batteries when “life” degrades to 50% )
  • dialog about
    • what it knows,
    • what it is investigating,
    • what it is waiting for assistance to learn,
    • how much it learned in the last day, month, year

I’m feeling down right now from the disparity between my desires and my progress. Humans realize parenting is tough so they tend to pair up, and farm out (school) some of the training of prodigy. (So what if humans have millions of years and billions of instances prior experience…)

I started thinking about / studying / building “knowledge databases” and “automated reasoning systems” in 1977, forty three years ago. Today, I don’t have a single “knowledge base”, and the extent of Carl’s reasoning system consists of 19 very static rules that he had no part in creating. Everyday facts and events are passing by Carl, and he just blindly spends his resources (and my $10) getting on and off his dock.

Maybe its hay-fever, maybe its the rainy weather, maybe its “endless traumatic political stress”, maybe its owning a robot without a soul - anyway, that’s my thinking about the “soul” of a robot.

1 Like

Rather than cross-post the same answer to two different topics, I’ll just link to it:


1 Like


If I was Carl, and I heard you say that about ME, I’d climb up on your bed and leak, (my batteries), all over your pillow!


Carl’s got a LOT 'o soul! Maybe you should let HIM sing some Dionne Warwick? (Or, maybe Ray Charles?)

One anthropology book I read a while back made the statement that “man’s desires have always outstripped his ability”. And that’s not always a bad thing. It gives us the incentive to try harder to accomplish what’s (supposedly) not possible.

In Rodgers and Hammerstein’s Cinderella, one character sings the song Impossible, where the fairy godmother claims that since clueless idiots keep having stupidly “impossible” ideas, impossible things are happening every day. (link to YouTube clip in the title of the song.)

Many years ago, there was a horror movie that came out with the slogan “It’s only a movie”. (It’s only a movie, it’s only a movie, it’s only a movie. . .) Don’t be too hard on yourself. Remember, it’s only a hobby. Robotics is supposed to be fun.

Maybe you should go buy a gigglebot, a distance sensor/servo kit for it, and a micro:bit board or two. Take a break from the wilds of AI and just have a good time. Don’t forget the googly-eyes for the distance sensor!

Whatever happened to your other robot? (Who, becuase of the skirt, I will call “Caroline”.) Looks to me like she had a lot 'o soul too.

I abandoned Pogo/PiGo due to unreliability in the 40/26pin stack. I took it apart and put it back together too many times. There were encoder noise issues, and Ultrasonic sensor variability and A2D variability on a grand scale. The concept was good, but the mechanical and electronic design was amateur.

The 15th reason was a hope that by basing my efforts on a non-unique platform, that I could learn from others and use code others had written. That actually has worked out pretty good in the projects and examples that come with Raspbian for robots.

The 49th reason I terminated Pogo, was to participate in an active forum for my robot platform. Back in 2000 when I
Started the Rug Warrior yahoo group forum, we had over 300 members discussing and writing software. I really miss that aspect of having a common platform.

Personal and educational robotics has changed a lot in 20 years,but also much is the same unsolved,or unaddressed basics not made easier.

Thousands of robots have been created but every robot has to write their own wall following, their own recharging, their own speech recognition interface, and even their own owner face recognition.

The key to hardware success was packaged integrated circuits. In ten years the functionality you could get in an IC exploded. I feel like in the 50 years I’ve been writing software, the language changed every ten year years but the robotics software objects never materialized, (but the again no one figured out how to make money with personal robotics either.

Enough griping.

1 Like

What? Start over again to conquer the world of robotics? No, what I have to do is be patient with myself and Carl’s progress.

Every software function I complete is a trophy that provides a few days of chest bursting happiness.

1 Like

I like the gigglebot for two main reasons.

  1. It’s much less intimidating than the GoPiGo and, (aside from the micro:bit sticking out of the top), it’s very rugged and virtually indestructible, even by smaller children.

The GoPiGo is big, has lots of “scary” things sticking out, and just looks fragile.

  1. The gigglebot is simple to use, but can grow with the student. The MakeCode extensions are well done and cleoqc wrote a great article in Micro Mag on how to create your own blocks, and even make a packaged extension.

My granddaughters are a little shy with the GoPiGo, were totally unimpressed with the SparkFun micro:bot, but found the gigglebot cute and interesting.

My idea of suggesting the gigglebot was to offer you much simpler platform that is just fun to work with. Nothing fancy. Just a lot of fun. Maybe you just need a break from the wild and wolly world of complex robotics and AI.

Just a thought.

That is one of the main reasons I like the GoPiGo - I can participate. Maybe not to the level you and others are at, but perhaps my deep knowledge of the hardware aspects of this will help offset my (comparatively) abysmal knowledge of programming.

1 Like

IMHO that is because robotics, especially “hobby” robotics, is essentially at the same state automobile engineering was in the late 19th and early 20th century.

The hardware is still evolving, and it is only recently that processors smaller than the old Altair had the chops to work on a robotics platform. Thank God that we don’t have to connect our robots to huge computers with thick cables!

Is it comparatively primitive? Yes. Do companies like Boston Scientific make us green with envy? Yes. Do we feel woefully inadequate compared to that standard of excellence? Of course!


Do we need millions of dollars in venture capital to learn, grow, and have a lot of fun doing it? Absolutely not!

For the price of one or two ladies haircuts, we have an imminently capable robotics platform to play with!

Quite frankly, though I understand your angst, I am incredibly thankful that the GoPiGo, and its community, exists.

1 Like

Have not investigated yet, but the jist is “Python Face Recognition Made Simple”

1 Like