Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: PID PinDetect mbed
Revision 2:cd7543fdcb8c, committed 2014-03-06
- 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 |
--- 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
--- 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);