Machina.NET: A Library for Programming and Real-Time Control of Industrial Robots

Machina is a .NET library for programming and control of industrial robots. It is designed to build applications that interface with robotic devices in real time. The library features a high-level API of simple, device-agnostic action verbs to issue motion requests to robots, and translates them to...

Full description

Bibliographic Details
Main Author: Jose Luis García del Castillo y López
Format: Article
Language:English
Published: Ubiquity Press 2019-08-01
Series:Journal of Open Research Software
Subjects:
Art
C#
HRI
HMI
HCI
Online Access:https://openresearchsoftware.metajnl.com/articles/247
Description
Summary:Machina is a .NET library for programming and control of industrial robots. It is designed to build applications that interface with robotic devices in real time. The library features a high-level API of simple, device-agnostic action verbs to issue motion requests to robots, and translates them to device-specific instructions using low-level communication protocols and managing priority queues. It also features a set of execution-related events to notify users of changes in the asynchronous state of the robot, fostering programming styles that are reactive rather than prescriptive. These features promote an enactive approach to robotics, and provide an immediate and intuitive entry point to real-time robot control, making Machina particularly suitable for controlling systems that require concurrent responsiveness to sensory or user input. While Machina currently supports mostly six-axis industrial robotic arms, it can be easily extended to any actuable device that moves in three-dimensional space, such as 3D printers, CNC machines, drones, robotic toys, etc. Machina is geared towards users in the creative fields, like designers, artists, makers and creative coders, and promotes features such as interactivity, intuitiveness, feedback, concurrency and cross-platform compatibility, over performance or feature-fullness. We hope this framework will help ease access for novice users to the field of robotics.
ISSN:2049-9647