Control for RenBuggy

Dependencies:   PID PinDetect mbed

Files at this revision

API Documentation at this revision

Comitter:
salatron
Date:
Thu Mar 06 09:56:11 2014 +0000
Parent:
1:8a2a7adb3c5d
Commit message:
version 3

Changed in this revision

RenBuggy_PID.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 8a2a7adb3c5d -r cd7543fdcb8c RenBuggy_PID.cpp
--- a/RenBuggy_PID.cpp	Wed Mar 05 13:37:10 2014 +0000
+++ b/RenBuggy_PID.cpp	Thu Mar 06 09:56:11 2014 +0000
@@ -143,6 +143,7 @@
     
     int halfAxleLength = (m_axleLength + 1)/2;
     RadiusLeft = RadiusLeft < halfAxleLength ? halfAxleLength : RadiusLeft;
+    AngleLeft = AngleLeft > 90 ? 90 : AngleLeft;
     
     float m_fDistanceL = (2*pi*(RadiusLeft - halfAxleLength))*(m_countsPerRev/m_wheelCircumference)/(360/AngleLeft); 
     float m_fDistanceR = (2*pi*(RadiusLeft + halfAxleLength))*(m_countsPerRev/m_wheelCircumference)/(360/AngleLeft); //gives the length of the arc over which the wheel will travel, and translates that into a number of wheel stripes
@@ -190,6 +191,7 @@
     
     int halfAxleLength = (m_axleLength + 1)/2;
     RadiusRight = RadiusRight < halfAxleLength ? halfAxleLength : RadiusRight;
+    AngleRight = AngleRight > 90 ? 90 : AngleRight;
     
     float m_fDistanceL = (2*pi*(RadiusRight + halfAxleLength))*(m_countsPerRev/m_wheelCircumference)/(360/AngleRight); //Forcing it to an int beforehand didn't work. It twitches instead of going argh no, but it still doesn't really work.
     float m_fDistanceR = (2*pi*(RadiusRight - halfAxleLength))*(m_countsPerRev/m_wheelCircumference)/(360/AngleRight);
@@ -327,4 +329,4 @@
     m_controllerR.setTunings(p, i, d);
 }
 
-#endif
+#endif
\ No newline at end of file
diff -r 8a2a7adb3c5d -r cd7543fdcb8c main.cpp
--- a/main.cpp	Wed Mar 05 13:37:10 2014 +0000
+++ b/main.cpp	Thu Mar 06 09:56:11 2014 +0000
@@ -1,10 +1,35 @@
+/*******************************************************************************
+* RenBED PID Motor Control for RenBuggy                                        *
+* Copyright (c) 2014 Sally Brown & Liz Lloyd                                   *
+*                                                                              *
+* Permission is hereby granted, free of charge, to any person obtaining a copy *
+* of this software and associated documentation files (the "Software"), to deal*
+* in the Software without restriction, including without limitation the rights *
+* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell    *
+* copies of the Software, and to permit persons to whom the Software is        *
+* furnished to do so, subject to the following conditions:                     *
+*                                                                              *
+* The above copyright notice and this permission notice shall be included in   *
+* all copies or substantial portions of the Software.                          *
+*                                                                              *
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR   *
+* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,     *
+* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE  *
+* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER       *
+* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,*
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN    *
+* THE SOFTWARE.                                                                *
+*                                                                              *
+*******************************************************************************/
 
 #include "RenBuggy_PID.h"
 
 int main()
 {
-    //the code defaults to the striped wheel buggy configuration
+    //The code defaults to the striped wheel buggy configuration for counts per rev, wheel circumference, axle width
     //pins are motor l, motor r, brake l, brake r, sensor l, sensor r
+    //Supply the appropriate pins for the motors, brakes and sensors.
+    //i.e. if you left motor is wired to pin p25 then supply p25 as the parameter for the left motor
     //PID_Stripes pid(p25, p10, p8, p7, p9, p21);