This program is for an autonomous robot for the competition at the Hochschule Luzern. We are one of the 32 teams. <a href="http://cruisingcrepe.wordpress.com/">http://cruisingcrepe.wordpress.com/</a> 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: <a href="http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf">http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf</a>
Fork of autonomousRobotAndroid by
main.cpp
- Committer:
- chrigelburri
- Date:
- 2013-02-07
- Revision:
- 0:31f7be68e52d
- Child:
- 1:6cd533a712c6
File content as of revision 0:31f7be68e52d:
/* * main.cpp * Copyright (c) 2012, Pren Team1 HSLU T&A * All rights reserved. */ /////////////////////////////////////////////////////////////////////////////////////////////////////// // INCLUDES /////////////////////////////////////////////////////////////////////////////////////////////////////// #include "mbed.h" #include "math.h" #include "defines.h" #include "State.h" #include "HMC5883L.h" #include "HMC6352.h" #include "RobotControl.h" #include "Ping.h" #include "PowerControl/EthernetPowerControl.h" #include "Android.h" // LiPo Batterie AnalogIn battery(p15); // Battery check // compass //HMC5883L compass(p9, p10, PERIOD_COMPASS); // sda, sdl (I2C) HMC6352 compass(p9, p10, PERIOD_COMPASS); // sda, sdl (I2C) // ultrasonic sensor //Ping ultrasonic(p30); //Hallsensor //hall1, hall2, hall3 Hallsensor hallLeft(p18, p17, p16); //hall1, hall2, hall3 Hallsensor hallRight(p27, p28, p29); // Motors //enb, ready, pwm, actualSpeed, Hallsensor object MaxonESCON leftMotor(p26, p25, p24, p19, &hallLeft); //enb, ready, pwm, actualSpeed, Hallsensor object MaxonESCON rightMotor(p23, p22, p21, p20, &hallRight); // Robot Control RobotControl robotControl (&leftMotor, &rightMotor, &compass, PERIOD_ROBOTCONTROL); // Logging & State state_t s; // stuct state State state(&s, &robotControl, &leftMotor, &rightMotor, &compass, &battery, PERIOD_STATE); // Communication //Android android(&s, &robotControl, &leftMotor, &rightMotor, PERIOD_ANDROID); // PC USB communications Serial pc(USBTX, USBRX); DigitalOut myled(LED1); float magout[3] = {0}; // LiPo Batterie float batterie_voltage; int main() { /** Normal mbed power level for this setup is around 690mW * assuming 5V used on Vin pin * If you don't need networking... * Power down Ethernet interface - saves around 175mW * Also need to unplug network cable - just a cable sucks power */ PHY_PowerDown(); robotControl.start(); compass.setOpMode(HMC6352_CONTINUOUS, 1, 20); compass.start(); robotControl.setEnable(false); wait(1); robotControl.setEnable(true); wait(1); }