<div style="color:black;font: 10pt Arial, Helvetica, sans-serif;">The slight surge is likely due to windup. The gears were at limit when the first rotation stopped, so the second rotation would have a delay and then a jerk.
<div><br>
</div>

<div>Also, the caster has to rotate, and that creates an effect that the control system might not know about.<br>
<br>
Suggest a windup preamble in all motor commands.</div>

<div><br>
</div>

<div>I am not a mech eng, but I joined DPRG to learn relevant mechanical things, and I've learned more than I expected.</div>

<div><br>
</div>

<div>Later,</div>

<div>John Swindle</div>

<div><br>
<br>

<div style="font-family:arial,helvetica;font-size:10pt;color:black">-----Original Message-----<br>
From: Murray Altheim via DPRGlist <dprglist@lists.dprg.org><br>
To: dprglist@lists.dprg.org<br>
Sent: Mon, Jan 25, 2021 1:52 am<br>
Subject: Re: [Dprglist] KD01 Rotate in Place video<br>
<br>

<div dir="ltr">I've just updated the KD01 Rotate-in-Place Test video on YouTube, which now<br>
</div>

<div dir="ltr">performs a bit better than the previous version: the KD01 accelerates properly<br>
</div>

<div dir="ltr">up to speed counter-clockwise, maintains that for 10 seconds, then decelerates<br>
</div>

<div dir="ltr">to a stop, then does the same thing clockwise:<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">   KD01 Rotate in Place Test<br>
</div>

<div dir="ltr">   <a href="https://youtu.be/HICrQzAZPow" target="_blank">https://youtu.be/HICrQzAZPow</a><br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">The position of the robot at the end of the test is about 4cm from its initial<br>
</div>

<div dir="ltr">position, which isn't too bad all things considered. There is a noticeable<br>
</div>

<div dir="ltr">surge when the robot starts again clockwise after a pause. I'm not sure what<br>
</div>

<div dir="ltr">this is caused by -- nothing in the code is indicative -- but I'm overall<br>
</div>

<div dir="ltr">happy with the result. I think it helped that I ran the test this time on<br>
</div>

<div dir="ltr">some smooth particle board.<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">The NZPRG Python robot code can be found at:<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">    <a href="https://github.com/ifurusato/ros" target="_blank">https://github.com/ifurusato/ros</a><br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">with the rotate-in-place test file at:<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">   <a href="https://github.com/ifurusato/ros/blob/master/rotate_in_place.py" target="_blank">https://github.com/ifurusato/ros/blob/master/rotate_in_place.py</a><br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">The KD01 is a differential drive robot that uses a Raspberry Pi with a<br>
</div>

<div dir="ltr">PiBorg ThunderBorg motor controller, an OSEPP drive train and hall effect<br>
</div>

<div dir="ltr">motor encoders, a tiny Adafruit Mini PiTFT 135x240 Color display that I<br>
</div>

<div dir="ltr">use as a console window, which includes two small buttons I've wired up<br>
</div>

<div dir="ltr">to initiate/control the test. The rear caster is an OSEPP wheel installed<br>
</div>

<div dir="ltr">into the frame of a commercially-available caster.<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">Cheers,<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">Murray<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">On 23/01/21 4:04 pm, Murray Altheim via DPRGlist wrote:<br>
</div>

<div dir="ltr">> Sometimes it's important to prove one is making progress. Not that this is<br>
</div>

<div dir="ltr">> advancing the science at all but I've just posted a video showing the KD01<br>
</div>

<div dir="ltr">> differential drive robot rotating in place using its PID controllers: [...]<br>
</div>

<div dir="ltr">...........................................................................<br>
</div>

<div dir="ltr">Murray Altheim <murray18 at altheim dot com>                       = =  ===<br>
</div>

<div dir="ltr"><a href="http://www.altheim.com/murray/" target="_blank">http://www.altheim.com/murray/ </a>                                    ===  ===<br>
</div>

<div dir="ltr">                                                                    = =  ===<br>
</div>

<div dir="ltr">     In the evening<br>
</div>

<div dir="ltr">     The rice leaves in the garden<br>
</div>

<div dir="ltr">     Rustle in the autumn wind<br>
</div>

<div dir="ltr">     That blows through my reed hut.<br>
</div>

<div dir="ltr">            -- Minamoto no Tsunenobu<br>
</div>

<div dir="ltr"><br>
</div>

<div dir="ltr">_______________________________________________<br>
</div>

<div dir="ltr">DPRGlist mailing list<br>
</div>

<div dir="ltr"><a ymailto="mailto:DPRGlist@lists.dprg.org" href="mailto:DPRGlist@lists.dprg.org">DPRGlist@lists.dprg.org</a><br>
</div>

<div dir="ltr"><a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" target="_blank">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a><br>
</div>
</div>
</div>
</div>