<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>pathfinder</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/" />
    <link rel="self" type="application/atom+xml" href="http://roderickmann.org/pathfinder/atom.xml" />
   <id>tag:roderickmann.org,2008:/pathfinder/4</id>
    <link rel="service.post" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4" title="pathfinder" />
    <updated>2006-06-01T00:16:43Z</updated>
    <subtitle>EE192 Project Log, Spring 2006, Team 9 (John Breneman, Bobby Gregg, Roderick Mann)
rmann (AT) latencyzero (DOT) com</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2</generator>
 
<entry>
    <title>NatCar 2006 First Run</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/05/natcar_2006_first_run.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=195" title="NatCar 2006 First Run" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.195</id>
    
    <published>2006-05-28T22:06:21Z</published>
    <updated>2006-06-01T00:16:43Z</updated>
    
    <summary>Here&apos;s a crude video of our first run. I don&apos;t have video of the second (winning) run; we&apos;ll have to get that from the school. This one resulted in a time (also fast enough to have won) of a little...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Here's a crude video of our first run. I don't have video of the second (winning) run; we'll have to get that from the school. This one resulted in a time (also fast enough to have won) of a little over 36 and a half seconds. The winning run video will come later.</p>

<p>This video requires <a href="http://www.apple.com/quicktime/">QuickTime 7</a> to play.</p>

<p style="text-align: center;"><a href="http://roderickmann.org/NatcarTeam9FirstRun.mov"><img alt="NatcarMovie.png" src="http://roderickmann.org/pathfinder/images/NatcarMovie.png" width="320" height="240" /></a></p>
]]>
        
    </content>
</entry>
<entry>
    <title>We Did It! We Took 1st Place in NatCar 2006</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/05/we_did_it_we_took_1st_place_in.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=194" title="We Did It! We Took 1st Place in NatCar 2006" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.194</id>
    
    <published>2006-05-27T02:42:28Z</published>
    <updated>2006-06-01T00:13:19Z</updated>
    
    <summary>We ran our best time at a PWM setting of 75, resulting in 34.072 s, for a computed average speed of 3.01 m/s (9.86 ft/s), a new competition record (previously set in 2000 by UCB team 4 at 9.82 ft/s)....</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>We ran our best time at a PWM setting of 75, resulting in 34.072 s, for a computed average speed of 3.01 m/s (9.86 ft/s), a new competition record (previously set in 2000 by UCB team 4 at 9.82 ft/s).</p>

<p>Cal also took the number 2 and 3 places.</p>

<p>Official NatCar stats:</p>

<p style="text-align: center;"><a href="http://www.ece.ucdavis.edu/natcar/Race_Results.html">http://www.ece.ucdavis.edu/natcar/Race_Results.html</a></p>]]>
        
    </content>
</entry>
<entry>
    <title>NatCar is Coming Up</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/05/natcar_is_coming_up.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=193" title="NatCar is Coming Up" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.193</id>
    
    <published>2006-05-22T20:45:09Z</published>
    <updated>2006-05-22T20:51:24Z</updated>
    
    <summary>John and I managed to track down a bizarre error. We discovered that from revision 68 to 69, a change was introduced in the port configuration that revealed a manufacturing defect in the controller board PCB. One of PORTA&apos;s pins...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>John and I managed to track down a bizarre error. We discovered that from revision 68 to 69, a change was introduced in the port configuration that revealed a manufacturing defect in the controller board PCB. One of PORTA's pins was shorted to one of the PWM output pins. Up until r69, PORTA had been configured as all-inputs, but when the software was changed to set PORTA to all-outputs, it was preventing the PWM channel from reaching 5 V (I'm glad we didn't damage anything).</p>

<p>This seemed to cause the motor to run rough up to a speed of about 4 increments on the joystick (PWM duty cycle value 20).</p>

<p>Anyway, we worked around that by not setting that pin to be an output, and then went on to find the actual code that had been used for Round 2—it was on my older PowerBook, and had not been checked in (bad Rick!), so it took a bit of finagling to get Subversion to accept it.</p>

<p>The next steps are to add in the derivative term, speed up the control loop, and tweak on the courtyard track in Cory. I also want to get our ZigBee link working, and I need build a new sensor board (I hate perfboard!). NatCar is on Friday, and we have a lot to do to be competitive.</p>

<p>Here's hoping the card keys still work…</p>]]>
        
    </content>
</entry>
<entry>
    <title>We made c|net!</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/we_made_cnet.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=183" title="We made c|net!" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.183</id>
    
    <published>2006-04-26T06:25:53Z</published>
    <updated>2008-04-08T06:49:05Z</updated>
    
    <summary>Thanks to John for pointing this out. c|net came and covered the Maker Faire, and we&apos;ve got a few seconds of our car running the laps. The video timer counts down, but check time 2:25 (click the image for the...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Thanks to John for pointing this out. c|net came and covered the Maker Faire, and we've got a few seconds of our car running the laps. The video timer counts down, but check time 2:25 (click the image for the video page):</p>

<p style="text-align: center;"><a href="http://news.com.com/1606-2_3-6064203.html?tag=ne.vid"><img alt="CNetCoverage.png" src="http://roderickmann.org/pathfinder/images/CNetCoverage.png" width="318" height="239" /></a></p>]]>
        
    </content>
</entry>
<entry>
    <title>Pizza!</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/pizza.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=182" title="Pizza!" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.182</id>
    
    <published>2006-04-25T08:22:41Z</published>
    <updated>2006-04-27T09:21:14Z</updated>
    
    <summary>Our professor (Ron Fearing) did a very nice thing for us tonight after Round 2: he took us all out for pizza. Fairly rare (for a prof. to do so), and very nice. Thank you, professor!...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Our professor (Ron Fearing) did a very nice thing for us tonight after Round 2: he took us all out for pizza. Fairly rare (for a prof. to do so), and very nice. Thank you, professor!</p>]]>
        
    </content>
</entry>
<entry>
    <title>Round 2...Second Place :-(</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/round_2second_place.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=181" title="Round 2...Second Place :-(" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.181</id>
    
    <published>2006-04-25T05:46:32Z</published>
    <updated>2006-04-25T05:58:05Z</updated>
    
    <summary>Sigh. We missed first place by about 0.6 seconds. We had a lap time of 43.9x seconds, the other guys were 43.3x (something like that). Starting at around 1pm I re-tuned the sensor board, and re-wrote the linearization code to...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Sigh. We missed first place by about 0.6 seconds. We had a lap time of 43.9x seconds, the other guys were 43.3x (something like that).</p>

<p>Starting at around 1pm I re-tuned the sensor board, and re-wrote the linearization code to compute 1-over-right minus 1-over-left, and just tweaked the values 'till the car did something right. There was still no time to add the derivative term.</p>

<p>We might've been able to run the last lap a little faster, but we just ran out of time to do so.</p>

<p>So, next steps are: 1) catch up in all my other classes (HA!), 2) prepare for Natcar. Sigh.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Mythbusters!</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/mythbusters.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=178" title="Mythbusters!" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.178</id>
    
    <published>2006-04-23T21:15:00Z</published>
    <updated>2006-04-27T09:32:09Z</updated>
    
    <summary>Awesome. Highlight of our day. L-R: Quan Gan, John Breneman, Grant Imahara, Jamie Hyneman, Adam Savage, cute kid (Adam&apos;s son?), Rick Mann, Charlie Chiau, Tracy Wang We asked them to bless our car, so Jamie rubbed his head on it...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Awesome. Highlight of our day.</p>

<div style="text-align: center;"><p style="text-align: center;"><a href="http://roderickmann.org/pathfinder/images/Mythbusters.jpg"><img alt="Mythbusters" src="http://roderickmann.org/pathfinder/images/ThMythbusters.jpg" width="500" height="260" /></a><br/>L-R: Quan Gan, John Breneman, Grant Imahara, Jamie Hyneman, Adam Savage, cute kid (Adam's son?), Rick Mann, Charlie Chiau, Tracy Wang</p></div>

<p>We asked them to bless our car, so Jamie rubbed his head on it and they all signed the MCU board. We're sure to win Natcar now:</p>

<p style="text-align: center;"><a href="http://roderickmann.org/pathfinder/images/Autograph.jpg"><img alt="Autograph" src="http://roderickmann.org/pathfinder/images/ThAutograph.jpg" width="500" height="375" /></a></p>

<p>Many thanks to Bobby for manning the fort while we went to play!</p>]]>
        
    </content>
</entry>
<entry>
    <title>Maker Faire This Weekend</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/maker_faire_this_weekend.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=177" title="Maker Faire This Weekend" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.177</id>
    
    <published>2006-04-23T04:06:57Z</published>
    <updated>2006-04-23T21:07:55Z</updated>
    
    <summary>Charlie and I (almost) finished setting up the track a while ago. I&apos;ll post pictures of the space, and tomorrow a better entry showing the booth....</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Charlie and I (almost) finished setting up the track a while ago. I'll post pictures of the space, and tomorrow a better entry showing the booth.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Telemetry and BlueSMiRF Details</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/telemetry_and_bluesmirf_detail.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=176" title="Telemetry and BlueSMiRF Details" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.176</id>
    
    <published>2006-04-17T06:07:18Z</published>
    <updated>2006-04-17T06:47:06Z</updated>
    
    <summary>Okay, I&apos;ve been beating my head against the BlueRadios wall all weekend, and I think I finally came up with enough of a solution. Sending Telemetry First off, I&apos;ve written a buffered, interrupt-driven packet transmit API. One packet can be...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Okay, I've been beating my head against the BlueRadios wall all weekend, and I think I finally came up with enough of a solution.</p>

<h3>Sending Telemetry</h3>

<p>First off, I've written a buffered, interrupt-driven packet transmit API. One packet can be assembled and queued while another is being transmitted. The calling context only blocks for the time it takes to assemble the packet (and possibly copy it to the send buffer, if no packet is currently being transmitted). </p>

<p>It does not yet respect the RTS signal, because I don't have a good way of restarting transmission when RTS comes back. Ideally, RTS would generate an interrupt, but RTS and CTS are connected to port G, and on the ATmega128 there's no interrupt-on-change on Port G (oh, how I long for the ATmega1281…).</p>

<p>The alternative is to set a timer to go off and try again in some short period of time, but that solution is inelegant. I've opted to ignore the problem for now. The firmware doesn't send data until after a connection is established and data is requested, and it doesn't send it so fast that the link gets saturated. Note that as the range increases, so do transmission errors (we were unable to run in the courtyard at 76,800 bps, had to drop to something terribly slow to get it to work), and the risk of saturation is much higher. I've ordered the <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=158">new BlueSMiRF module</a> which can accommodate a better antenna, hopefully that will help guard against range issues.</p>

<h3>BlueSMiRF Send While Receive</h3>

<p>I was having a very serious problem sending data to the car while it was sending back telemetry. I think I've managed to solve it, thanks to some hints dropped on the BlueSMiRF forums. Basically, the BlueRadios part is overwhelmed trying to parse the input stream, and can't send data in both directions when it's busy. Switching it into "fast data mode" stops the parser, allowing overall faster transmission speeds, and seems to allow data to go both ways. The drawback is that settings cannot be changed in this mode, which means the mode cannot be exited if permanently set.</p>

<p>So, the Java app will do this on connect: Send <code>+++\ratmf\r</code>. This will put it into fast data mode until power is lost. It's the best we can do.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Step Response Checkpoint Prep</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/step_response_checkpoint_prep.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=175" title="Step Response Checkpoint Prep" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.175</id>
    
    <published>2006-04-14T07:51:44Z</published>
    <updated>2006-04-14T08:04:51Z</updated>
    
    <summary>In preparation for tomorrow&apos;s (today&apos;s?) checkpoint, we gathered some data from the car. The graph below shows the car&apos;s computed error and velocity over a period of about 3 seconds. This graph shows the car&apos;s computed position error against the...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>In preparation for tomorrow's (today's?) checkpoint, we gathered some data from the car. The graph below shows the car's computed error and velocity over a period of about 3 seconds.</p>

<p style="text-align: center;"><a href="http://roderickmann.org/pathfinder/images/StepResponse.png"><img alt="ThStepResponse.png" src="http://roderickmann.org/pathfinder/images/ThStepResponse.png" width="500" height="172" /></a></p>

<p>This graph shows the car's computed position error against the actual error (distance from the track).</p>

<p style="text-align: center;"><a href="http://roderickmann.org/pathfinder/images/ComputedVsActual.png"><img alt="ThComputedVsActual.png" src="http://roderickmann.org/pathfinder/images/ThComputedVsActual.png" width="500" height="213" /></a></p>
]]>
        
    </content>
</entry>
<entry>
    <title>Gain Constant Kp</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/gain_constant_kp_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=174" title="Gain Constant Kp" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.174</id>
    
    <published>2006-04-14T05:44:08Z</published>
    <updated>2006-04-14T05:46:33Z</updated>
    
    <summary>Given a Kp=2 (with kSteerScale=256) in our C code units, the real-world value is Kp = (7*pi/180)/0.03 = 4.07 rad/meter. That&apos;s a map of about times-two in the linear region....</summary>
    <author>
        <name>Bobby</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Given a Kp=2 (with kSteerScale=256) in our C code units, the real-world value is Kp = (7*pi/180)/0.03 = 4.07 rad/meter.  That's a map of about times-two in the linear region.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Digital Filtering</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/digital_filtering.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=172" title="Digital Filtering" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.172</id>
    
    <published>2006-04-11T05:03:53Z</published>
    <updated>2006-04-11T17:10:10Z</updated>
    
    <summary>I wrote a simple 8-tap moving average, and some code to spit out values for the left-minus-right error, filtered error, and steering command. The steering command range is very small, so it doesn&apos;t show up like much on these graphs....</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>I wrote a simple 8-tap moving average, and some code to spit out values for the left-minus-right error, filtered error, and steering command. The steering command range is very small, so it doesn't show up like much on these graphs. The graphs are over time, with each data point coming in at 200 Hz, or every 0.005 s.</p>

<p>Click each graph for a larger version.</p>

<p>This graph shows a section from 1000 to 1500.</p>

<p style="text-align: center;"><a href="http://roderickmann.org/pathfinder/images/FiltereGraph.png"><img alt="ThFilterGraph.png" src="http://roderickmann.org/pathfinder/images/ThFilterGraph.png" width="400" height="142" /></a>
</p>

<p>This graph shows the filter startup (you can see the initial value is zero, and it ramps up).</p>

<p style="text-align: center;"><a href="http://roderickmann.org/pathfinder/images/FilterStartupGraph.png"><img alt="ThFilterStartupGraph.png" src="http://roderickmann.org/pathfinder/images/ThFilterStartupGraph.png" width="400" height="142" /></a>
</p>]]>
        
    </content>
</entry>
<entry>
    <title>Monday: Round 1 Winners!</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/monday_round_1_winners.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=171" title="Monday: Round 1 Winners!" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.171</id>
    
    <published>2006-04-11T05:01:46Z</published>
    <updated>2006-04-11T05:03:33Z</updated>
    
    <summary>Today was round 1 of class competition. We had the fastest lap time of 33.99 seconds, using proportional-only control, a speed of 6, and a Kp divider of 135. These numbers don&apos;t mean much, I know, but in the cp20060407...</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Today was round 1 of class competition. We had the fastest lap time of 33.99 seconds, using proportional-only control, a speed of 6, and a Kp divider of 135. These numbers don't mean much, I know, but in the cp20060407 branch, they make sense.</p>

<p>Video to follow later.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Sensor Board Pot</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/04/sensor_board_pot.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=168" title="Sensor Board Pot" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.168</id>
    
    <published>2006-04-04T02:32:45Z</published>
    <updated>2006-04-04T02:33:19Z</updated>
    
    <summary>Just noting a part number for potentiometers on the sensor board. DigiKey: 3223W-1-204ECT-ND....</summary>
    <author>
        <name>Rick</name>
        <uri>http://roderickmann.org/</uri>
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>Just noting a part number for potentiometers on the sensor board. DigiKey: 3223W-1-204ECT-ND.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Non-linear Control Simulations</title>
    <link rel="alternate" type="text/html" href="http://roderickmann.org/pathfinder/2006/03/nonlinear_control_simulations.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://roderickmann.org/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=4/entry_id=166" title="Non-linear Control Simulations" />
    <id>tag:roderickmann.org,2006:/pathfinder//4.166</id>
    
    <published>2006-03-19T23:54:52Z</published>
    <updated>2006-03-19T23:58:03Z</updated>
    
    <summary>After a day of playing with MATLAB&apos;s scoping characteristics, I was able to implement the PD controller in code (part 1a and 1b of the assignment). You can see that I was able to calculate an optimal pair of Kp/Kd...</summary>
    <author>
        <name>Bobby</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://roderickmann.org/pathfinder/">
        <![CDATA[<p>After a day of playing with MATLAB's scoping characteristics, I was able to implement the PD controller in code (part 1a and 1b of the assignment).  You can see that I was able to calculate an optimal pair of Kp/Kd coefficients (10/2) using my nifty Mathematica eigenvalue analysis.  Here is the <a href="http://roderickmann.org/pathfinder/PDSimulations.zip">code</a>, and here are the plots for Proportional and Proportional-Deriv control:</p>

<p><img alt="1a(Pcontrol).png" src="http://roderickmann.org/pathfinder/1a%28Pcontrol%29.png" width="560" height="420" /><br><br />
<img alt="1b(PDcontrol).png" src="http://roderickmann.org/pathfinder/1b%28PDcontrol%29.png" width="560" height="420" /></p>]]>
        
    </content>
</entry>

</feed> 

