Sourceshttps://github.com/tinkerator/saxis

saxis - a 6 degrees of freedom robot arm

Overview

This program models a 6 degrees of rotational freedom robot arm using the sixaxis kinematics package. The arm renders via a web page using the three.js rendering API.

To run the program you should do:

$ git clone https://github.com/tinkerator/saxis
$ cd saxis
$ git submodule init
$ git submodule update
$ go mod tidy
$ go build
$ ./saxis

NOTE The git submodule ... parts are to cache a local copy of the three.js sources that are needed to get the 3D rendering of the robot to work.

Then you point your web browser at http://localhost:8080 and watch the saxis robot dance a Hilbert curve with the various modes of movement that it supports.

What you see looks like this:

saxis robot in motion

The saxis program cycles through a series of programmed sequences: program numbers 1, 2, … There are 4 distinct sequences that endlessly repeat. They deomonstrate the zappem.net/pub/kinematics/sixaxis robot motion patterns as follows:

Notes for submodules

This was the setup for the threejs code:

$ git submodule add https://github.com/mrdoob/three.js.git

The various …min.js files from this submodule are symbolically linked from ./html/js/ locations.

License info

The saxis program is distributed with the same BSD 3-clause license as that used by golang itself. Viewing in a browser depends on three.js to render its image in a browser and that has its own MIT license.

Reporting bugs and feature requests

The saxis program was developed purely out of self-interest to try to understand how robots like this work. Should you find a bug or want to suggest a feature addition, please use the bug tracker.


Markdown rendering courtesy of gomarkdown/markdown.