01/12/2021 at 12:38 •
Complexity of the networks is getting increased in a non-linear manner with any new type of node added, so documentation of the development is becoming more crucial than ever. So, I've decided to, firstly redraw the network diagram to make it easier to read and contain more useful information. Then I've spent some time on how the Emotional Core should interact with other nodes.
Initially, I thought that naming each condition based on a set of emotional parameters is a clever idea. With that approach, we would only send the name of the emotion to the main program and that emotion would affect the robot behavior. But it leads to the situation when the robot has a set of discrete states, in other words, I would develop a pretty sophisticated state machine - and it is way far from how the animals behave.
Analyzing my feelings, I also cannot say that the name of emotions defines my behavior, I would say that it is rather an uninterrupted specter of states. So, it would be that the researches of Carroll Izard and his colleagues in distinguishing human emotions I've read a lot last months are not applicable to my project. As well as the part of the Emotional Core responsible for changing emotions depending on a set of emotional parameters. A bit sad about spent time, but it is the development process.
So now I have a draft of the structure I will use integrating the Emotional Core into the mind of Zakhar.
01/10/2021 at 21:32 •
Hi! I merged a huge update for zakharos_core - the main part of the Zakhar project.
The repository is a Robot Operating System network where the main application consists of ego-like nodes: the consciousness (the main application) and instincts (interruptions). Each of them operates with concepts in the manner as our mind works.
As I already said, my aim is to make a robot that behaves like an animal, and hence having more understandable for the user behavior.
After this update the next step is to integrate my already developed emotional core , which is basically an attempt to recreate the endocrine system of alive organisms.
Returning to the update. Currently the robot uses three ego-like nodes:
- node-consciousness: the Small researcher - robot is moving by circles.
- instinct: Bird Panic - analyzing light changing patterns to recognizing a single moving fast shadow, then put the robot in the panic state, when it is trying to find a darker (safer) place.
- instinct: Avoid Close Objects - every object closer then 5 cm should be avoided. Object in front leads to moving backward. Objects at sides activate the algorithm: move back, turn on 60 degrees.
The ROS-network is shown on the picture bellow. Also have a look at the robot in action on a video. Thanks!
01/09/2021 at 16:15 •
Just added illustrations describing hardware used in the project to the repository:
Here are the pictures:
And detailed for each device:---------- more ----------
01/08/2021 at 23:13 •
Testing of the mind of Zakhar with two "instincts":
1. If a bird-like shadow above him, he expresses anxious and hides
2. If any obstacle in front - move back
01/07/2021 at 20:44 •
Just finished a new site for tests and demonstrations!
New place, new hardware, more updates soon!
12/17/2020 at 20:02 •
Unfortunately, I broke my ultrasound sensor during resoldering of connectors. Taking advantage of necessity of buying something, I've bought three new ones!
Updated code with a new ultrasound sensor driver:
12/07/2020 at 20:10 •
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:
Here is a video of the update in action:
- 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.c library by rxi.
Photos bellow.---------- more ----------
- 11/16/2020 at 20:03 • 0 comments
10/28/2020 at 15:04 •
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.
Update is here (there is an example you can try :) ):