<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:513955826;
        mso-list-type:hybrid;
        mso-list-template-ids:1698201888 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hey cool, so we integrated an SD shield so this Arduino can write files to external memory.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The adapter came today so now we can use the micro SD cards.  It works on the desktop:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=394 height=292 style='width:4.1041in;height:3.0416in' id="Picture_x0020_1" src="cid:image003.jpg@01D8D669.A5FD7130"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So far we have a three-axis accelerometer with three-axis gyro.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here’s the plan, kind of a crazy ass idea we cooked up.  Do feel free to point out if we are crazy, but if so be more specific than a simple: spike, yer crazy, lad.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We get this thing working to our satisfaction on the bench, then transfer our code over to Seeeduino, which is smaller, then solder the interface wires.  Test to make sure everything still works.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Then we package the Seeeduino with the three-axis accelerometers and gyros into a matchbox or condiment cup or something, attach it to our quadrotor drone with Velcro.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Then we fly the drone around the local softball field while the accelerometers gather data, starting at home plate and trying to fly over each base.  Run a few laps around the bases.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Take out the SD card, dump the data into a spreadsheet, double integrate to see if the resulting position data agrees you flew a pattern that looks like a player running the bases.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Follow me so far?  So if the double integration of acceleration data notion works better than I expect, we are ready to move up to the self-riding bicycle idea.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Plan: <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0in' start=1 type=1><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'> Mount this gyro/accelerometer package on our bicycle, start the program, ride the bicycle down the hill until it stops<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Double integrate the acceleration data the same way we did with the drone flights<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Use the resulting position information as an input to the self-riding bicycle as a guide for where it is supposed to go<o:p></o:p></li></ol><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note this is a bit different from the original idea.  This isn’t actually a feedback control system as I envisioned, but rather it’s a programmable bicycle.  You hafta ride it down the hill before it knows where the road is.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This might not work (I ha’ me doots, Captain) but we are having fun.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Adrian do you suppose this approach will work?  Or will the bike drift off and crash spectacularly?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>spike<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>