AxiBot¶
AxiBot is an alternative control interface for the AxiDraw pen plotting robot from Evil Mad Scientist Labs.
The design goals are:
- Maintainable, hackable, codebase with light dependencies and the ability to run on a wide variety of embedded platforms.
- Excellent motion control, tuned to eliminate undesirable plotting artifacts.
- Easy command-line and programmatic use.
Contents¶
Quick Start¶
Install¶
The recommended installation method is pip.:
$ pip install axibot
You can also download a source package here directly from the Python Package Index.
AxiBot can be used via the command line or Python code. Tasks like real-time control or plotting from sources other than SVG will generally require writing Python code.
Plot a File¶
A number of example files are included in the source distribution. With a typical rollerball pen and a sheet of US Letter paper (8.5” x 11”) you can plot the world map example:
$ axibot plot examples/worldmap.svg
Command Line Usage¶
The main way to use AxiBot is the axibot
command-line utility. Some examples are shown here. You can also see the utility itself for more info:
$ axibot -h
Manual Control¶
Issue single manual commands:
$ axibot manual pen_up 1000
$ axibot manual disable_motors
Enter a shell to use the same commands:
$ axibot manual
(axibot) pen_down 1000
(axibot) xy_move 400 400 100
File Estimation¶
Print info about the motion plan that would be used to plot an SVG file:
$ axibot info examples/worldmap.svg
Plotting¶
Actually plot an SVG file:
$ axibot plot examples/worldmap.svg
By default, this will use an interface interface to prompt certain user actions.
API Reference¶
Contributing¶
Patches and suggestions are strongly encouraged! GitHub pull requests are preferred, but other mechanisms of feedback are welcome.
A test suite is included. To run the tests, simply run in the top level of the repo:
$ tox
This will also ensure that the Sphinx documentation builds correctly, and that there are no PEP8 or Pyflakes warnings in the codebase.
Any pull requests should preserve all of these things.