Zakhar relaunch: Zakha_ros

After a lot of experiments with Raspberry, ESP32, STM32 and Arduino boards I’ve decided what will be a spine of the Zakhar project. ROS seems the most interesting and extendible. Inside it, I could combine Python, C, C++ programs (hence, libraries ) working inside a Linux environment and communicate with any other platforms.

Say, I could build a system on a Raspberry, which will communicate with developer board like ESP-WROVER-KIT working on FreeRTOS. Even more, I could use my desktop as a part of the system for High-level computing (say, for image recognition with OpenCV).

I have bought some hardware for the new version of Zakhar, called Zakha_ros:

Setting up Virtual Machine with Ubuntu to work through console in Windows

Here is how to work with Linux inside a virtual machine from Windows using ssh client and VirtualBox. If you will use any command line ssh client you could use all Linux functions right inside your standard Windows Command Line

0 Setup Software to the Host

Set up VirtualBox, VirtualBox Extension and Ubuntu Server Edition (or Ubuntu Desktop) in a regular mode. I called the machine just: “ubuntu”

General Purposes CMakeFile.txt template

Working with CLion all the time I had to write a new CMakeFile. Finally, I created a simple template and decided to share by it.

https://gist.github.com/an-dr/cee58b52eec3467249ba4ed1aa3704ac

Zakhar the Robot

Today I decided to present my small robotics project. I called it Zakhar. It is not really a robot of flesh (though, sometimes I’m assembling different prototypes).  it is a research project where I develop new interesting ways in robotics architecture.

The project is full of abstractions and parallels with human psychology. The main aim if the project is to create a robot(s), which behavior would be understandable and familiar to a human as an observer.

The reason why it is interesting:

C state machine code example

For purposes of a comfortable working with serial interfaces, I wrote some template of a state machine, which is easy to modify for any given application. It could one of the good way to work with some processes.

https://gist.github.com/an-dr/f8f76cfc6498ab4b04ffd31c4b3dd31d

Configure Visual Studio toolchain on Eclipse

1. Install software: Eclipse IDE for C/C++ Developers Visual Studio 2. Open Eclipse -> Help -> Install New Software… -> Work with: http://download.eclipse.org/tools/cdt/releases/9.4/ -> CDT Optional Features -> C/C++ Visual C++ Support 9.4.3.201802261533 -> Next -> Agree -> Install -> Finish -> Restart 3. Close Eclipse 4. Open Developer Command Prompt for VS 2017 and run from it Eclipse (this trick will add all needed VS environment variables to path)

Install OpenCV for Visual Studio C++ development

1. Get software:

2. Install Visual Studio; Unpack OpenCV somethere and add enviromental variable

Turn On UART on Raspberry

  1. Download and write Raspbian or something similar;
  2. Add to config.txt on flash card:
1
2
# Enable UART
enable\uart=1