mecanum
This library is just a helper to work with a mecanum wheel configuration. Set the values for cw, ccw, and stop and the mecanum helper will spit out the values to set each motor/servo at.
Last updated 4 years ago by virgilvox .
ISC · Original npm · Tarball · package.json
$ cnpm install mecanum 
SYNC missed versions from official npm registry.

Mecanum

This library is just a helper to work with a mecanum wheel configuration. Set the values for cw, ccw, and stop and the mecanum helper will spit out the values to set each motor/servo at.

To install

npm install mecanum

Require it in your code.

var Mecanum = require('mecanum')
// Set the base values for your motor or servo

Set the values for cw, ccw, and stop and the mecanum helper will spit out the values to set each motor/servo at.

var mec = new Mecanum({
    'cw': 60,
    'ccw': 40,
    'stop': 51,
  });

Call as a function

var values = mec.move('forward');

Or as a callback

mec.move('forward', function(data){
    console.log(data);
  });

Returns

{ "LF": 60,
  "LB": 60,
  "RF": 60,
  "RB": 60
}

Directions

        'forward'
        'backward'
        'left'
        'right'
        'ne'
        'nw'
        'se'
        'sw'
        'stop'
        'cw'
        'ccw'

Use the values to set your motors.

 //This part will be different based on what robotics library
 //you are using, but it gives you the idea.

left_front_motor.speed(values.LF);
left_back_motor.speed(values.LB);
right_front_motor.speed(values.RF);
right_back_motor.speed(values.RB);

With johnny-five continuous servos

var five = require("johnny-five");
var Mecanum = require('mecanum')
// Don't provide options and it will default to servo settings
// which is to say it will return string 'cw', 'ccw', or 'stop'
var mec = new Mecanum();
var board = new five.Board();

  board.on("ready", function() {
    var leftb  = new five.Servo.Continuous(3).stop();
    var leftf  = new five.Servo.Continuous(5).stop();
    var rightf = new five.Servo.Continuous(6).stop();
    var rightb = new five.Servo.Continuous(9).stop();

    mec.move('forward', function(values){
      leftf[values.LF];
      leftb[values.LB];
      rightf[values.RF];
      rightb[values.RB];
    });  
  });

With Johnny-Five ESC

var five = require("johnny-five");
var Mecanum = require('mecanum')
var mec = new Mecanum({
    'cw': 60,
    'ccw': 40,
    'stop': 51,
  });

  var board = new five.Board();

  board.on("ready", function() {
    var leftf = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 9
      });

      var leftb = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 5
      });

      var rightb = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 3
      });

      var rightf = new five.ESC({
        device: "FORWARD_REVERSE",
        neutral: 50,
        pin: 6
      });

    mec.move('forward', function(values){
      leftf.speed(values.LF);
      leftb.speed(values.LB);
      rightf.speed(values.RF);
      rightb.speed(values.RB);
    });  
  });

Current Tags

  • 1.0.6                                ...           latest (4 years ago)

6 Versions

  • 1.0.6                                ...           4 years ago
  • 1.0.5                                ...           4 years ago
  • 1.0.4                                ...           4 years ago
  • 1.0.3                                ...           4 years ago
  • 1.0.2                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 4
Dependencies (1)
Dev Dependencies (0)
None
Dependents (2)

Copyright 2014 - 2016 © taobao.org |