max-4711 / libmirobot

Library to generate g code to control the (WLKATA) Mirobot. No official project and not affiliated to WLKATA at all.
MIT License
0 stars 1 forks source link

libmirobot

CI Build (.NET Core 3.1)

Description

Library to easily control the WLKATA Mirobot. No official project and not affiliated to WLKATA at all.

G-code protocol over a serial connection is being used; official specification can be downloaded from the manufacturer's website.

License

MIT License

Installation

Libmirobot is available as package on nuget.org.

Use package manager console to install:

PM> Install-Package Libmirobot

or .NET CLI:

dotnet add package Libmirobot

Example Usage

using Libmirobot;

//...

var comPorts = RobotConfigurator.GetAvailableComports();
using (var configuredRobot = RobotConfigurator.PreconfigureRobot(comPorts[0])) //Select the com port fitting to your setup, doesn't have to be comPorts[0]!
{
    //Homing will be performed automatically, if needed (see 'Special features' down below):
    //configuredRobot.Robot.HomeAxes(HomingMode.InSequence);
    configuredRobot.Robot.MoveToCartesian(150, 20, 55, 0, 0, 0, 2000, MovementMode.Linear);
}

Documentation / available methods for controlling the robot

Most important interface in the library, ISixAxisRobot, is being used to control the robot and offers the following methods for this purpose:

The robot will fire events in some cases, which can be subscribed also via the ISixAxisRobot interface. The events are:

The robot will need some configuration, before it can be used (for example wiring to the serial port). It is recommended to use the RobotConfigurator class (just like shown in the example), as this will produce a fully configured robot, ready for use, which should be sufficient for most use cases.

Documentary comments, with detailed information for the purpose of every method, all input parameters, events and so on are available and should be automatically shown by IntelliSense while coding ;-)

Technical remarks

General

Behavioural / Remarkable quirks / Special features

Contribution

Feedback and/or pull requests are always welcome :-)