Emotional Core: in details

Now after some polishing of the basic emotional core I can tell about how it works and about it’s structure.

Emotional core consists of three main parts (see the picture bellow):

  • Input Data Descriptors - describes data from sensors and how it should affect the core
  • Emotional States Descriptors - named states of the core described by specific values of core parameters
  • Core State - contains core parameters, value of sensors and pointer to relevant to parameters Emotional States Descriptors

Or more detailed:

The Emotional Core Test (attention: pretty boring!)

Testing the new Emotional Core for the R.Giskard project

Emotional Core Sketch

Well, the third milestone is in progress. It’s time for the most interesting part of the project - emotions and reflexes. Now, let’s talk about emotions, but in short. In my view and my understanding of what should be going on here, emotions - it is just the name of our mental state. We are going to have a set of such emotional states - to use those states as a simple indicator for our systems using my emotions implementation.

Zakhar Milestone: Zakharos

Startup check

The startup system check is shown on an OLED display. The display has its separated i2c bus (I2C-3) to communicate with the Raspberry. The startup process is the following: Greeting Test I2C-1 devices: moving platform, sensor platform, and face module. If something is not represented on the bus, the error will be shown. Waiting while ssh service will be loaded Waiting while the network will be connected Waiting while roscore will be launched Infinite loop showing the network and project info.


[Bad Idea, canceled] Power post. Part one.

There are a lot of issues when you connect low- and high-current devices to the same electrical circuit. Basically, you are getting: Noise at sensors’ output Freezes and resets of MCUs Artefacts on LCD and backlight’s flashing Other unexpected issues That’s really annoying that’s why I spend last several weeks thinking how to implement power supply for Zakhar. There are two things I want from this update: to avoid things mentioned above and to simplify development allowing me to work with every platform separately.

Turns: -45, +45, -90, +90 degrees

Assembled with the new moving platform! Turn 90 degree

From the Raspberry the moving platform gets an argument 0x5a (90) degrees, then a command to turn right. If the argument is 0x00 command is executing during 100ms then the platform stops.

New ESP32-based platform testing: Angles!