| | Re: TachoSpeed.nqc
|
|
(...) I 've done just that, but the problem I describe persists: When the TachoSpeed reported by watching the brick is around 57, the brick doesn't do anything if the response value is set to 62. It does at 66 or 67 but that also makes it impossible (...) (18 years ago, 12-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
Doesn't this make more sense. (...) The way it was written you hardly ever checked the TachoSpeed because most of the time was spent in the Wait(20). I assume the Wait is in there to allow the robot to get up to speed before you start checking for a (...) (18 years ago, 12-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) I don't really understand what you mean when you say "the brick doesn't do anything". Can you be more specific? (...) They will both be executed in sequence if at the time the second if statement reads the TachoSpeed setting on OUT_L it (...) (18 years ago, 12-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) You assumed correctly. Without the wait the if statement is always executed immediately. I see what you mean: by taking the wait out of the start of the loop the sensors are checked more frequently. That doesn't solve the riddle though, (...) (18 years ago, 12-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) Sorry. I meant to say 'the brick never executes the if statement'. (...) I don't see 1) how I could make an if/else statement or 2) what the benefit would be. 1) If I make an if/else statement isn't 'else' executed always if 'if' is not true? (...) (18 years ago, 12-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) For the RCX wait times are in 1/100 of a second. Is that the same for the Cybermaster? If so the reverse and turn times are a little short (as well as the motor ramp up period). I could see how it would be difficult to notice the robot backup (...) (18 years ago, 13-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) The question you need to answer for yourself is this: Do I want my robot to to potentially execute both if blocks in sequence or do I only want the second if block to execute if the first condition is known to be false? If you only want the (...) (18 years ago, 13-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) I found again an old code I wrote for Cybermaster to do avoiding based on tacho slowdown. The trick is indeed to drive at a low power level, or the wheels simply sleep and there is not enough slowdown to be reliable. Philo ---...--- task main (...) (18 years ago, 13-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) According to the NQC Programmer's Guide the Cybermaster wait time is in 1/10 seconds. This is consistent with my CyberMaster's behaviour when I set the threshold to a high value and the if routine is executed. I hadn't considered using sounds (...) (18 years ago, 13-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) I guess there is a define statement missing that goes something like #define Drive(l,r) SetPower(OUT_L, l); SetPower(OUT_R, r); On(OUT_L+OUT_R) although the Programmer's guide doesn't mention anything about negative values being a possibility (...) (18 years ago, 13-Mar-07, to lugnet.robotics)
|
|
| | Re: TachoSpeed.nqc
|
|
(...) That's exactly what I'm trying to achieve. I hadn't actually written out any pseudo code, but it is (almost)exactly the way I had thought it through in my head. My main problem is that I think up what I'd like to do and then have to scour the (...) (18 years ago, 13-Mar-07, to lugnet.robotics)
|