From plskeggs@noeticdesign.com Wed Oct 05 19:06:31 2005 Return-Path: Delivered-To: mailman-wheelwatcher@list.nubotics.com Received: (qmail 11304 invoked from network); 5 Oct 2005 19:06:31 -0000 Received: from triton.noeticdesign.com (HELO ?127.0.0.1?) (192.168.0.5) by tencom.list4email.org with SMTP; 5 Oct 2005 19:06:31 -0000 Message-ID: <43442435.102@noeticdesign.com> Date: Wed, 05 Oct 2005 12:06:29 -0700 From: Pete Skeggs Organization: Noetic Design, Inc. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.11) Gecko/20050728 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Support forum for the WheelWatcher encoder kit." Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [WheelWatcher] Robonexus X-BeenThere: wheelwatcher@list.nubotics.com X-Mailman-Version: 2.1.3-b-pls Precedence: list Reply-To: plskeggs@noeticdesign.com, "Support forum for the WheelWatcher encoder kit." List-Id: Support forum for the WheelWatcher encoder kit. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Oct 2005 19:06:31 -0000 Hi, folks. I'll be attending Robonexus tomorrow and Friday. If you are in the area and would like to meet me, give me a call at 503-223-9239 -- it will forward to my cell. I will also be at Robothon on Saturday and Sunday in Seattle. Sincerely, Pete Skeggs Nubotics Support From taco_5158@msn.com Fri Oct 28 23:32:02 2005 Return-Path: Delivered-To: mailman-wheelwatcher@list.nubotics.com Received: (qmail 2827 invoked from network); 28 Oct 2005 23:32:01 -0000 Received: from bay108-dav16.bay108.hotmail.com (HELO hotmail.com) (65.54.162.88) by 69-30-73-98.dq1mn.easystreet.com with SMTP; 28 Oct 2005 23:32:01 -0000 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Fri, 28 Oct 2005 16:32:00 -0700 Message-ID: Received: from 64.222.170.167 by BAY108-DAV16.phx.gbl with DAV; Fri, 28 Oct 2005 23:32:00 +0000 X-Originating-IP: [64.222.170.167] X-Originating-Email: [taco_5158@msn.com] X-Sender: taco_5158@msn.com From: "THOMAS COULOMBE" To: Date: Fri, 28 Oct 2005 19:33:24 -0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0006_01C5DBF6.76A834E0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: MSN 9 Seal-Send-Time: Fri, 28 Oct 2005 19:33:24 -0400 X-MimeOLE: Produced By MSN MimeOLE V9.10.0011.1703 X-OriginalArrivalTime: 28 Oct 2005 23:32:00.0705 (UTC) FILETIME=[CB892B10:01C5DC17] X-Mailman-Approved-At: Sun, 30 Oct 2005 01:23:02 -0700 X-Content-Filtered-By: Mailman/MimeDel 2.1.3-b-pls Subject: [WheelWatcher] (no subject) X-BeenThere: wheelwatcher@list.nubotics.com X-Mailman-Version: 2.1.3-b-pls Precedence: list Reply-To: WW-01/WW-02 WheelWatcher Encoder Support List List-Id: WW-01/WW-02 WheelWatcher Encoder Support List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Oct 2005 23:32:02 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0006_01C5DBF6.76A834E0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable ------=_NextPart_000_0006_01C5DBF6.76A834E0-- From rob.stehlik@sympatico.ca Sun Oct 30 03:58:06 2005 Return-Path: Delivered-To: mailman-wheelwatcher@list.nubotics.com Received: (qmail 2963 invoked from network); 30 Oct 2005 03:58:06 -0000 Received: from bay15-f27.bay15.hotmail.com (HELO hotmail.com) (65.54.185.27) by 69-30-73-98.dq1mn.easystreet.com with SMTP; 30 Oct 2005 03:58:06 -0000 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sat, 29 Oct 2005 20:58:05 -0700 Message-ID: Received: from 65.94.133.105 by by15fd.bay15.hotmail.msn.com with HTTP; Sun, 30 Oct 2005 03:58:05 GMT X-Originating-IP: [65.94.133.105] X-Originating-Email: [rob.stehlik@sympatico.ca] X-Sender: rob.stehlik@sympatico.ca From: To: wheelwatcher@list.nubotics.com Bcc: Date: Sun, 30 Oct 2005 03:58:05 +0000 X-Priority: 1 Importance: High Mime-Version: 1.0 Content-Type: text/plain; format=flowed X-OriginalArrivalTime: 30 Oct 2005 03:58:05.0669 (UTC) FILETIME=[21CF1950:01C5DD06] X-Mailman-Approved-At: Sun, 30 Oct 2005 01:23:02 -0700 Subject: [WheelWatcher] Help with tuning X-BeenThere: wheelwatcher@list.nubotics.com X-Mailman-Version: 2.1.3-b-pls Precedence: list Reply-To: WW-01/WW-02 WheelWatcher Encoder Support List List-Id: WW-01/WW-02 WheelWatcher Encoder Support List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Oct 2005 03:58:06 -0000 Hello, I have just installed a couple WW02's on my robot which has custom wheels and motors. I am currently trying to get the advanced velocity and position control code working (I am using a PIC 16F877A with CCS), but am quite confused about the way the feedback controller is tuned. I am used to adjusting gains for P, I and D terms, but this code seems different. Currently I have it so the code functions properly, but the robot's movements are not well controlled. IE when driving in a square, the robot always overshoots, especially in the turns, and sometimes does not recover. Many times the robot will get stuck oscillating around the target really slowly. The positioning accuracy is terrible. I have tried adjusting the divisor in the integral calculation, as well as the acceleration value. And I played with the deceleration term (was originally 150). After running tests for several hours, the robot performs a little better, but it really leaves a lot to be desired. So, I guess my question is what approach should I take when tuning the controller? Which parameters should I vary? And considering my robot is quite heavy and fast, is there anything I should keep in mind when adjusting the parameters? Is there a way to set a minimum PWM duty cycle? Because of my robots weight, it does not move well at slow speeds. I appreciate your help, Rob From plskeggs@noeticdesign.com Sun Oct 30 08:33:55 2005 Return-Path: Delivered-To: mailman-wheelwatcher@list.nubotics.com Received: (qmail 7157 invoked from network); 30 Oct 2005 08:33:54 -0000 Received: from dsl-66-78-76-138.ipns.com (HELO ?127.0.0.1?) (66.78.76.138) by 69-30-73-96.dq1mn.easystreet.com with SMTP; 30 Oct 2005 08:33:54 -0000 Message-ID: <4364856D.504@noeticdesign.com> Date: Sun, 30 Oct 2005 01:33:49 -0700 From: Pete Skeggs Organization: Noetic Design, Inc. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 X-Accept-Language: en-us, en MIME-Version: 1.0 To: WW-01/WW-02 WheelWatcher Encoder Support List Subject: Re: [WheelWatcher] Help with tuning References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: wheelwatcher@list.nubotics.com X-Mailman-Version: 2.1.3-b-pls Precedence: list Reply-To: plskeggs@noeticdesign.com, WW-01/WW-02 WheelWatcher Encoder Support List List-Id: WW-01/WW-02 WheelWatcher Encoder Support List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Oct 2005 08:33:55 -0000 Rob, Sorry you are having trouble. I do need to update that example to fix some problems in it -- it's not your fault that it is unstable at low speeds. I've been buried with putting finishing touches on the new WheelCommander WC-132, which includes many of the same ideas as the example you refer to, but has a lot more in it, and is a "canned" solution. One big difference internally is that I gave up on having nested velocity and position loops, and made the position loop such that it produces motor commands (PWM values and directions) directly, bypassing the velocity loop. I also found that I had to add an offset to the calculated PWM value to overcome friction and deadbands (in servos at least) at the low speed end. Finally, it helps to have a low loop bandwidth (6 Hz) when slow motions are required. Making low speeds stable was not trivial, but is doable. I'm really busy tomorrow, so it might be a day or two before I get back to you. Thanks. Sincerely, Pete Skeggs WheelWatcher Tech Support rob.stehlik@sympatico.ca wrote: > Hello, > > I have just installed a couple WW02's on my robot which has custom > wheels and motors. I am currently trying to get the advanced velocity > and position control code working (I am using a PIC 16F877A with CCS), > but am quite confused about the way the feedback controller is tuned. I > am used to adjusting gains for P, I and D terms, but this code seems > different. Currently I have it so the code functions properly, but the > robot's movements are not well controlled. IE when driving in a square, > the robot always overshoots, especially in the turns, and sometimes does > not recover. Many times the robot will get stuck oscillating around the > target really slowly. The positioning accuracy is terrible. I have > tried adjusting the divisor in the integral calculation, as well as the > acceleration value. And I played with the deceleration term (was > originally 150). After running tests for several hours, the robot > performs a little better, but it really leaves a lot to be desired. > So, I guess my question is what approach should I take when tuning the > controller? Which parameters should I vary? And considering my robot is > quite heavy and fast, is there anything I should keep in mind when > adjusting the parameters? Is there a way to set a minimum PWM duty > cycle? Because of my robots weight, it does not move well at slow speeds. > > I appreciate your help, > > Rob From rob.stehlik@sympatico.ca Mon Oct 31 05:46:12 2005 Return-Path: Delivered-To: mailman-wheelwatcher@list.nubotics.com Received: (qmail 9193 invoked from network); 31 Oct 2005 05:46:12 -0000 Received: from bay15-f20.bay15.hotmail.com (HELO hotmail.com) (65.54.185.20) by 69-30-73-98.dq1mn.easystreet.com with SMTP; 31 Oct 2005 05:46:12 -0000 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sun, 30 Oct 2005 21:46:10 -0800 Message-ID: Received: from 65.95.236.188 by by15fd.bay15.hotmail.msn.com with HTTP; Mon, 31 Oct 2005 05:46:10 GMT X-Originating-IP: [65.95.236.188] X-Originating-Email: [rob.stehlik@sympatico.ca] X-Sender: rob.stehlik@sympatico.ca From: To: wheelwatcher@list.nubotics.com Bcc: Date: Mon, 31 Oct 2005 05:46:10 +0000 Mime-Version: 1.0 Content-Type: text/plain; format=flowed X-OriginalArrivalTime: 31 Oct 2005 05:46:10.0751 (UTC) FILETIME=[65A1D4F0:01C5DDDE] X-Mailman-Approved-At: Sun, 30 Oct 2005 22:09:30 -0800 Subject: [WheelWatcher] Help with tuning X-BeenThere: wheelwatcher@list.nubotics.com X-Mailman-Version: 2.1.3-b-pls Precedence: list Reply-To: WW-01/WW-02 WheelWatcher Encoder Support List List-Id: WW-01/WW-02 WheelWatcher Encoder Support List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Oct 2005 05:46:12 -0000 Pete, I'm glad to hear the low speed instability is a known problem. I have begun working on my own motion control code, and am getting pretty overwhelmed. Programming is not my strong point, which is why I had hoped your sample code would have worked for my robot. I am very interested in the WheelCommander. Let me know if you want a beta tester :) Rob >Rob, >Sorry you are having trouble. I do need to update that example to fix some >problems in it -- it's not your fault that it is unstable at low speeds. >I've been buried with putting finishing touches on the new WheelCommander >WC-132, which includes many of the same ideas as the example you refer to, >but has a lot more in it, and is a "canned" solution. >One big difference internally is that I gave up on having nested velocity >and position loops, and made the position loop such that it produces motor >commands (PWM values and directions) directly, bypassing the velocity loop. > I also found that I had to add an offset to the calculated PWM value to >overcome friction and deadbands (in servos at least) at the low speed end. >Finally, it helps to have a low loop bandwidth (6 Hz) when slow motions are >required. >Making low speeds stable was not trivial, but is doable. I'm really busy >tomorrow, so it might be a day or two before I get back to you. >Thanks. >Sincerely, >Pete Skeggs >WheelWatcher Tech Support >rob.stehlik at sympatico.ca wrote: >>Hello, >> >>I have just installed a couple WW02's on my robot which has custom wheels >>and motors. I am currently trying to get the advanced velocity and >>position control code working (I am using a PIC 16F877A with CCS), but am >>quite confused about the way the feedback controller is tuned. I am used >>to adjusting gains for P, I and D terms, but this code seems different. >>Currently I have it so the code functions properly, but the robot's >>movements are not well controlled. IE when driving in a square, the robot >>always overshoots, especially in the turns, and sometimes does not >>recover. Many times the robot will get stuck oscillating around the target >>really slowly. The positioning accuracy is terrible. I have tried >>adjusting the divisor in the integral calculation, as well as the >>acceleration value. And I played with the deceleration term (was >>originally 150). After running tests for several hours, the robot performs >>a little better, but it really leaves a lot to be desired. >>So, I guess my question is what approach should I take when tuning the >>controller? Which parameters should I vary? And considering my robot is >>quite heavy and fast, is there anything I should keep in mind when >>adjusting the parameters? Is there a way to set a minimum PWM duty cycle? >>Because of my robots weight, it does not move well at slow speeds. >> >>I appreciate your help, >> >>Rob From plskeggs@noeticdesign.com Mon Oct 31 06:11:17 2005 Return-Path: Delivered-To: mailman-wheelwatcher@list.nubotics.com Received: (qmail 9617 invoked from network); 31 Oct 2005 06:11:17 -0000 Received: from dsl-66-78-76-138.ipns.com (HELO ?127.0.0.1?) (66.78.76.138) by 69-30-73-96.dq1mn.easystreet.com with SMTP; 31 Oct 2005 06:11:17 -0000 Message-ID: <4365B582.3040503@noeticdesign.com> Date: Sun, 30 Oct 2005 22:11:14 -0800 From: Pete Skeggs Organization: Noetic Design, Inc. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 X-Accept-Language: en-us, en MIME-Version: 1.0 To: WW-01/WW-02 WheelWatcher Encoder Support List Subject: Re: [WheelWatcher] Help with tuning References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: wheelwatcher@list.nubotics.com X-Mailman-Version: 2.1.3-b-pls Precedence: list Reply-To: plskeggs@noeticdesign.com, WW-01/WW-02 WheelWatcher Encoder Support List List-Id: WW-01/WW-02 WheelWatcher Encoder Support List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Oct 2005 06:11:17 -0000 rob.stehlik@sympatico.ca wrote: > I'm glad to hear the low speed instability is a known problem. I have > begun working on my own motion control code, and am getting pretty > overwhelmed. Programming is not my strong point, which is why I had > hoped your sample code would have worked for my robot. I am very > interested in the WheelCommander. Let me know if you want a beta tester :) The first batch of WheelCommanders has shipped to Acroname.com. I am hoping they will be able to ship later this week. As for beta testing, we've gone through our beta period already, but I'll keep you in mind for new designs. We will come out with a stackable h-bridge board for it, for example. -Pete