Examples of Motor


Examples of ch.bfh.ti.kybernetik.engine.model.Motor

    panel.add(getRoboterMotorDistance(), "wrap");
  }

  private JSlider getRoboterMotorDistance() {
    if (roboterMotorDistance == null) {
      final Motor leftMotor = roboterComponent.getModelObject().getLeftMotor();
      final Motor rightMotor = roboterComponent.getModelObject().getRightMotor();
      roboterMotorDistance = new JSlider(JSlider.HORIZONTAL, 1, 180, (int) rightMotor.getDistanceX());
      initJSlider(roboterMotorDistance);
      roboterMotorDistance.addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent e) {
          JSlider source = (JSlider) e.getSource();
          int value = source.getValue();
          leftMotor.setDistanceX(-value);
          rightMotor.setDistanceX(value);
        }
      });
    }
    return roboterMotorDistance;
  }
View Full Code Here

Examples of lejos.nxt.Motor

   * @throws InterruptedException
   *
   */
  public void steer(int turnRate, int angle) throws InterruptedException
  {
    Motor inside;
    Motor outside;
    int rate = turnRate;
    if(rate <- 200)rate = -200;
    if(rate > 200)rate = 200;
    if(rate==0){
      if(angle<0)
        backward();
      else
        forward();
      return;
    }
    if (turnRate<0)    {
      inside = _right;
      outside = _left;
      rate = -rate;
    } else {
      inside = _left;
      outside = _right;
    }
    outside.setSpeed(_speed);
    float steerRatio = 1 - rate/100.0f;
    inside.setSpeed((int)(_speed*steerRatio));
    if(angle == Integer.MAX_VALUE) {//no limit angle for turn
      if(_parity == 1) outside.forward();
      else outside.backward();
      if( _parity*steerRatio > 0) inside.forward();
      else inside.backward();
      return;
    }
    float rotAngle  = angle*_trackWidth*2/(_wheelDiameter*(1-steerRatio));
    inside.rotate(_parity*(int)(rotAngle*steerRatio),true);
    outside.rotate(_parity*(int)rotAngle,true);

    busyWait();
    inside.setSpeed(outside.getSpeed());
  }
 
View Full Code Here

Examples of lejos.nxt.Motor

   * @param immediateReturn iff true, method returns immedediately.
   *
   */
  public void steer(int turnRate, int angle, boolean immediateReturn)
  {
    Motor inside;
    Motor outside;
    int rate = turnRate;
    if(rate <- 200)rate = -200;
    if(rate > 200)rate = 200;
    if(rate==0)
    {
      if(angle<0)backward();
      else forward();
      return;
    }
    if (turnRate<0)
    {
      inside = _right;
      outside = _left;
      rate = -rate;
    }
    else
    {
      inside = _left;
      outside = _right;
    }
    outside.setSpeed(_speed);
    float steerRatio = 1 - rate/100.0f;
    inside.setSpeed((int)(_speed*steerRatio));
    if(angle == Integer.MAX_VALUE) //no limit angle for turn
    {
      if(_parity == 1) outside.forward();
      else outside.backward();
      if( _parity*steerRatio > 0) inside.forward();
      else inside.backward();
      return;
    }
    float rotAngle  = angle*_trackWidth*2/(_wheelDiameter*(1-steerRatio));
    inside.rotate(_parity*(int)(rotAngle*steerRatio),true);
    outside.rotate(_parity*(int)rotAngle,true);
    if(immediateReturn)return;
    while (isMoving())Thread.yield();
    inside.setSpeed(outside.getSpeed());
  }
View Full Code Here

Examples of lejos.nxt.Motor

   * @param angle The angle through which the robot will rotate. If negative, robot traces the turning circle backwards.
   * @param immediateReturn If true this method returns immediately.
   */
  public void steer(final int turnRate, final int angle, final boolean immediateReturn) {
    // TODO: make this work with wheels of different size
    Motor inside;
    Motor outside;
    int rate = turnRate;
    if (rate < -200) {
      rate = -200;
    }
    if (rate > 200) {
      rate = 200;
    }
    if (rate == 0) {
      if (angle < 0) {
        backward();
      }
      else {
        forward();
      }
      return;
    }
    if (turnRate < 0) {
      inside = _right;
      outside = _left;
      rate = -rate;
    }
    else {
      inside = _left;
      outside = _right;
    }
    outside.setSpeed(_motorSpeed);
    float steerRatio = 1 - rate / 100.0f;
    inside.setSpeed((int) (_motorSpeed * steerRatio));
    if (angle == Integer.MAX_VALUE) // no limit angle for turn
    {
      if (_parity == 1) {
        outside.forward();
      }
      else {
        outside.backward();
      }
      if (_parity * steerRatio > 0) {
        inside.forward();
      }
      else {
        inside.backward();
      }
      return;
    }
    float rotAngle = angle * _trackWidth * 2 / (_leftWheelDiameter * (1 - steerRatio));
    inside.rotate(_parity * (int) (rotAngle * steerRatio), true);
    outside.rotate(_parity * (int) rotAngle, immediateReturn);
    if (immediateReturn) {
      return;
    }
    while (inside.isRotating() || outside.isRotating())
      Thread.yield();
    inside.setSpeed(outside.getSpeed());
  }
View Full Code Here

Examples of tgfx.system.Motor

    private void handleMotorEnter(final InputEvent event) throws Exception {
        //private void handleEnter(ActionEvent event) throws Exception {
        final KeyEvent keyEvent = (KeyEvent) event;
        if (keyEvent.getCode().equals(KeyCode.ENTER)) {
            TextField tf = (TextField) event.getSource();
            Motor _motor = TinygDriver.getInstance().machine.getMotorByNumber((motorTabPane.getSelectionModel().getSelectedItem().getText().toLowerCase().split(" "))[1]);
            //TODO: move the applyHardwareMotorSettings to this controller vs TinyGDriver.
             try {
                    tgfx.Main.postConsoleMessage("[+]Applying "+ tf.getId()+ ":"+ tf.getText()+"... \n");
                     TinygDriver.getInstance().applyHardwareMotorSettings(_motor, tf);
                } catch (NumberFormatException ex) {
                    tgfx.Main.postConsoleMessage("[!]" + tf.getText() +" is an invalid Setting Entered.. Ignoring.");
                    logger.error(ex.getMessage());
                    TinygDriver.getInstance().queryHardwareSingleMotorSettings(_motor.getId_number()); //This will reset the input that was bad to the current settings
                }
            }
        }
View Full Code Here

Examples of tgfx.system.Motor

        /**
         * Apply Motor Settings to TinyG from GUI
         */
        Tab selectedTab = _tab.getTabPane().getSelectionModel().getSelectedItem();
        int _motorNumber = Integer.valueOf(selectedTab.getText().split(" ")[1].toString());
        Motor _motor = this.machine.getMotorByNumber(_motorNumber);

        GridPane _gp = (GridPane) _tab.getContent();
        int size = _gp.getChildren().size();
        int i;
        //Iterate though each gridpane child... Picking out text fields and choice boxes
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.