Tag: hardware

Sensor Platform with STM32

Done! Now sensors data is collecting by a powerful STM32 MCU with FreeRTOS. This will help adding even more sensors. For now, there are two: Ultrasonic Distance Sensor - HC-SR04 KY-018 Photoresistor Module Here is a video of the update in action: Links: Updated source code with STM32 support Repository of my SharedVirtualRegisters library that I used in the update - it is thread-safe and supports FreeRTOS, but can work without any OS as well Repository of the logging library - it is a fork of the log.

Calm prototyping evening

It’s a good night to move the sensor platform to a new MCU and add some sensors to demonstrate working of the emotional core (roadmap). PR for the update (WIP): https://github.com/an-dr/zakhar_sensors/pull/4

Emotional Core: temp impacts + refactoring

Just finished a huge update for the Core. New feature is temporary impacts. It simulates a situation, that you can get watching a screamer (Caution! ). Something scarry is happening, you are getting a lot of adrenaline and cortisol, after 5 minutes you are ok. Also, the structure of the core was dramatically simplified. On the picture temporary impacts are called Conscious Data because I’m going to use it to simulate “bad thoughts” of the robot.

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.