Sign in

The Official Blog of Arimac

This is the second part of my previous article Machine Learning for Software Developers. Earlier, my intension was to make it easier to reach the term machine learning for those who’re in the software development field. So to avoid confusion at first reading I merely added theory in previous article.

Today, We’re going to look further into machine learning with the same task we practiced before, but this time in more details. Hence this article will be lengthier.

As per…

As a software developer, Have you ever tried to run machine learning model? If you’re answer is big “No!”, Don’t worry this article will walk you through steps on implementing a machine learning model and explain some differences you may find in machine learning and traditional programming.

Now lets get into the topic that we really considered about, As a developer you would make a computer programme by constructing some classes,variables and methods ,right? within methods you form business logics according to the requirement using conditions,in other words you put if/else, switch statements in order to control the data flow…

The onset of pandemics cannot be stopped by technology; however, it can help deter the spread and lessen the impact considerably

COVID-19 struck with zero warning. Amidst the escalating global outbreak, the lockdowns caused disconnection and isolation. It was then, that the importance of digital readiness came to the forefront. Today, it has become possible to test many creative approaches to pandemic response with converging technologies such as mobile, cloud, analytics, robotics, AI/ML, 4G/5G and high-speed Internet. …

Final Model

Mobile robots are used in most of the ROS applications. These mobile robots can be categorized in to different types by its steering mechanism such as differential drive, ackerman steering, skid steering etc. To simulate these robots in Gazebo as well as to visualize in Rviz, a robot description is needed. In ROS, URDF (Universal Robot Description Format) is used for this task. This article is a step-by-step guide on creating a differential drive mobile robot using ROS and URDF.

Step 1 — Creating the 3D files

First, a CAD model of the robot should be designed. This can be…

In autonomous robotic exploration, two main types of obstacles can be encountered — namely, positive obstacles and negative obstacles. Cliffs are considered to be negative obstacles as the absence of the floor has to be detected as an obstacle. Cliff detection is important in autonomous navigation and exploration to detect and avoid obstacles such as staircases and putholes.

The Basic Idea

In an autonomous mobile robot, one possible way to implement cliff detection and avoidance is to detect cliffs using range sensors and to add the detected cliff data into the existing ROS navigation stack. …

Behavior trees

A Behavior Tree (BT) is a way to structure the switching between different tasks in an autonomous agent, such as a robot or a virtual entity in a computer game.

BTs are a very efficient way of creating complex systems that are both modular and reactive. These properties are crucial in many applications, which has led to the spread of BT from computer game programming to many branches of AI and Robotics.

BehaviorTree.CPP project has an implementation of behavior trees that can be used alongside with ROS. All the node which are required to build a basic behavior…

What is flash memory?

Flash memory is a non-volatile storage medium that can be electrically erased and reprogrammed. There are two types of flash memory technologies; NAND flash and NOR flash. In most of the STM32 devices, NOR flash is used because of its suitability in embedded applications.

Why do we need flash memory?

In microcontrollers, the flash memory is primarily used to store the program which is to be executed. Also, the application can use the flash memory as an easy replacement for an EEPROM ( Electrically Erasable Programmable Read Only Memory). …

Implementing Snow Surface Deformation System

Runtime Virtual Texture (RVT) is a new feature available in Unreal Engine from its version 4.23, which generates and caches its texel data in memory on demand using the GPU at runtime. With this feature, material could directly draw to a Runtime Virtual Texture (RVT) within the material editor, as well as sample a RVT texture.

A transaction is a unit of processes that are performed with a database. Transaction handling is done by some sort of database program automatically or by a user manually.

Sometimes, we want to execute a set of queries together and if one of those queries is failed, we want to rollback all queries that had been executed. Therefore transaction handling is more important for database error handling and ensuring the data integrity.

In this short blog, I have exposed an easy code level implementation of transaction handling.

I have used two commands for handling transaction.

1. COMMIT=> To save changes


Augmented Reality (AR) is one of the most actively developing technology side today. In the Gaming industry, we can create many interactive games with AR technology. In this tutorial, I am going to explain an easy way to create an Android Multiplayer AR Game using the Unity Engine.


  • Unity Engine: You can download it Here.
  • Vuforia Plugin: Vuforia is a software platform to develop Augmented Reality (AR) applications. Vuforia support in Android, iOS, and UWP platforms. You can download Vuforia from Here.
  • PUN 2: Photon Unity Network (PUN) is a real-time Multiplayer Game development framework for Unity Engine. …


The Official Blog of Arimac

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store