1.0.0 • Published 6 years ago

aframe-lowroller-component v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

aframe-lowroller-component

Demo

https://jahbini.github.io/aframe-lowroller-component

Release

Version License

robot soccerball

For A-Frame.

API

A lowroller is a sphere with an internal mass that is confined inside the outer shell. Tetrahedral supports move the inner mass and shift the lowroller's center of gravity, causing it to roll, wobble and hop.

The supports are driven by four identical thrustors controlled by PID constants. The PID constants are P proportional, i integral, and d differential. The values of the thrustors controls the tracking behavior of the lowroller. They are tuned by hand to accomodate the best behavior for the masses of inner and outer.

PropertyDescriptionDefault Value
radiusouter sphere1
innerinner mass5
outerouter mass1
debugshow tetrahedral control forcesfalse
pursuitDOM ID or x y coordinateidle
pidProportional, Integral and Delta factors for thrustersp: 20, i: 20, d: 1

Installation

Browser

Install and use by directly including the browser files:

<head>
  <title>My A-Frame Scene</title>
  <script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
  <script src="//cdn.rawgit.com/donmccurdy/aframe-physics-system/v3.2.0/dist/aframe-physics-system.min.js"></script>
  <script src="https://unpkg.com/aframe-lowroller-component/dist/aframe-lowroller-component.min.js"></script>
</head>

<body>
  <a-scene>
    <a-sphere lowroller="debug:true; inner:4;outer:1;pursuit: 2,0;" radius="1" dynamic-body="">
    </a-sphere>
  </a-scene>
</body>

npm

Install via npm:

npm install aframe-lowroller-component

Then require and use.

require('aframe');
require('aframe-lowroller-component');