This program is for an autonomous robot for the competition at the Hochschule Luzern. http://cruisingcrepe.wordpress.com/ We are one of the 32 teams. http://cruisingcrepe.wordpress.com/ The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf

Dependencies:   mbed

Fork of autonomous Robot Android by Christian Burri

Revision:
12:235e318a414f
Parent:
11:775ebb69d5e1
Child:
13:a7c30ee09bae
--- a/Actuators/MaxonESCON.h	Fri Apr 05 10:58:42 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-#ifndef _MAXON_ESCON_H_
-#define _MAXON_ESCON_H_
-
-#include "Hallsensor.h"
-#include "defines.h"
-
-/**
- * @author Christian Burri
- *
- * @copyright Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe
- * All rights reserved.
- *
- * @brief
- *
- * This class implements the driver for the Maxon ESCON servo driver.
- * For more information see the Datasheet:
- * <a href="http://escon.maxonmotor.com">http://escon.maxonmotor.com</a>
- */
-class MaxonESCON
-{
-
-private:
-
-    /** @brief To Enable the amplifier */
-    DigitalOut _enb;
-    /** @brief Duty Cycle to set the speed */
-    PwmOut _pwm;
-    /** @brief Hallsensor Class */
-    Hallsensor* _hall;
-    /** @brief Ready output from ESCON */
-    DigitalIn _isenb;
-    /** @brief Actual speed from ESCON analog Output 1 */
-    AnalogIn _actualSpeed;
-    /** @brief increment the Hallpattern */
-    int    _pulses;
-
-public:
-
-    /**
-     * @brief Create a motor control object.
-     * @param enb DigitalOut, set high for enable
-     * @param isenb DigitalIn, high for enable
-     * @param pwm PwmOut pin, set the velocity
-     * @param actualSpeed AnalogIn filtered signal for ActualSpeed from Motor
-     * @param hall The object of the hallsensor from Motor
-     */
-    MaxonESCON(PinName enb,
-               PinName isenb,
-               PinName pwm,
-               PinName actualSpeed,
-               Hallsensor *hall);
-
-    /** 
-     * @brief Set the speed of the motor with a pwm for 10%..90%.
-     * 50% PWM is 0rpm.
-     * Caclulate from [1/s] in [1/min] and the Factor of the ESCON.
-     * @param speed The speed of the motor as a normalised value, given in [1/s]
-     */
-    void setVelocity(float speed);
-
-    /** 
-     * @brief Return the speed from ESCON.
-     * 0 rpm is defined in the Analog input as 1.65V
-     * @return speed of the motor, given in [1/s]
-     */
-    float getActualSpeed(void);
-
-    /** 
-     * @brief Set the period of the pwm duty cycle.
-     * Wrapper for PwmOut::period()
-     * @param period Pwm duty cycle, given in [s].
-     */
-    void period(float period);
-
-    /** 
-     * @brief Set the Motor to a enable sate.
-     * @param enb <code>false</code> for disable <code>true</code> for enable.
-     */
-    void enable(bool enb);
-
-    /**
-     * @brief Tests if the servo drive is enabled.
-     * @return <code>true</code> if the drive is enabled,
-     * <code>false</code> otherwise.
-     */
-    bool isEnabled(void);
-
-    /**
-     * @brief Return the number of Pulses.
-     * @return Pulses, given in [count]
-     */
-    int getPulses(void);
-
-    /**
-     * @brief Set the Pulses of the Motor, given in [count]
-     * @return Pulses, given in [count]
-     */
-    int setPulses(int setPos);
-};
-
-#endif