Software core (ROS-based) for the Zakhar project
- Part of the Zakhar's Brain
- Part of the Zakhar Project
The repository is represented by ROS-packages:
- zakhar_common - facilities used by all packages
- zakhar_i2c - Zakhar's ROS I2C server and an abstract I2C device class
- zakhar_i2c_devices - nodes representing parts of the robot
- aliveos_interpreters - convert data to concepts understandable to ego-like nodes and vice versa
- zakhar_launch - robot launching configurations
- zakhar_i2c_mind - nodes executing high level processes
- zakhar_i2c_mind_tests - used for development purposes
- zakhar_i2c_msgs - ROS communication descriptors
Some of the packages contain ROS-nodes. Each node is a program that operates through roscore
- main node of ROS
Interaction and data flows are shown at the picture:
Why Zakhar uses this specific architecture you can read in the article: Robot with the Conscious: Imitating animal behavior for reducing user’s anxiety – technical_
You need:
- Raspberry Pi (>=2Gb)
- ROS noetic installed
- Python >= 3.6
- zakhar_pycore package (
pip install zakhar_pycore
)
- Clone the repository into your home folder:
cd ~
git clone https://github.com/an-dr/zakharos_core.git
- Build
bash ./build.sh
- If the build was successful you have to source the environment (can be placed into
.bashrc
):
source ./source_env.sh
- Start any defined configuration from the
zakhar_launch
package, e.g.:
roslaunch zakhar_launch demo_reptile.launch
Done!