PINNED - Roboteq Controller - developing for powerchairs

Power wheelchair board for REAL info!

POWERCHAIR MENU! www.wheelchairdriver.com/powerchair-stuff.htm

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 23 Sep 2019, 17:36

When I first talked about the StickSensitivity idea even John (Burgerman) who has a better understanding of chair dynamics and feel than anyone else, much better than mine, had some trouble understanding what I was getting at. Because understanding can often help doing (and diagnosing) I've made a graph to try to explain it more clearly.
StickSensitivity.JPG

The yellow line shows what happens without the StickSensitivity subroutine (or if MinimumStick = 0). I've exaggerated things to make them clearer. Inside the deadband, any joystick mV is read as command = 0. Once past the deadband, command then increases as the joystick is moved further and further to the end of its travel. At the end of stick travel, you get the maximum joystick mV, but the maximum mV value for going forward and back is usually much higher than the maximum mV value when turning.

If there were no friction nor any inertia, as soon as the stick is moved out of the deadband, the motors would start to turn. But there is friction and there is inertia so you actually have to reach some minimum command value before the motors actually are turning. With low impedance (low electrical inertia), low friction motors in a low-weight (low mechanical inertia) chair, that might be a very small value, but hard to see in a graph, so here I show an extremely bad case where command has to get to about 20% before the motors start to turn (in Rachi's chair, and it has high impedance motors, it's about 6%).

When going forward or backwards, that means you have to move the stick to 20% of its throw before starting to move, but it will be consistently at 20% throw that you start to get movement. In Rachi's chair it's 6% of throw, hardly noticeable, and because it's consistently 6% motor it's a non-problem. But now think about turning. Because maximum stick throw left or right only gives a much smaller command value (here it's about 40%, but more realistic would be 10 to 20%), the stick displacement needed to start moving is much larger - in this example you have to get to about 40% of stick throw before anything happens. If maximum turn rate set to 10% you'd have to move the stick even further to get any movement. What's worse, it's not consistent. Think about a turn while moving rather than just left or right - the forward or backward stick position gets the chair moving at a throw somewhere in between what you need going straight forward or back and what you need going straight left or right, and the amount of stick movement needed is different at every angle. It gets very hard to move the stick just the right amount to get a small, controlled movement, because that "just right" amount is never the same,

The blue line shows what the StickSensitivity: subroutine does. It remaps the relationship between joystick mV and motor command so that you get to the minimum command needed for movement as soon as you're out of the deadband. No matter what direction you want to go, the amount of stick throw needed to start movement is always the same - it's predictable.

At least that's the way it does work in the CANbus system where the calculations are done in Master before sending Throttle and Steering to the Roboteq, and it's the way it's supposed to work in the analog script where the calculations are done in the Roboteq controller. Hopefully, with the last bug fix it does indeed do that and there aren't other bugs yet to be squashed.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Burgerman » 23 Sep 2019, 17:46

No, I absolutely understand what you meant. I also tried it on the bot. It causes issues depending on the load. The problem is that I disagree with the method.

If I want to move forward and are on a level surface it may take say 5A before anything happens. If you want to zero turn, it may take 70A before you move 1mm. If on grass it may take 15A. If facing a slight downhill, it may be minus 5A to STOP you moving faster that the stick position dictates.

So setting some fixed starting value is a non starter. It will over compensate when facing a downhill for e.g. Likewise, what happens as you cross 0 from forward to reverse while still moving slightly, it will feel odd. Thats why the bot behaves strangely when turning and moving slowly. What should happen is that some increase in motor compensation value happens at very low speeds when begining a turn or just trying to move off, at very low speeds/stick values. It must be load dependent and not a simple value. Depending what you are doing, that addition you are adding may not be wanted, or wanted more.
User avatar
Burgerman
Site Admin
 
Posts: 48090
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 23 Sep 2019, 18:16

it's all great, of course, but how to turn around on the spot?
I see that "StickSensitivity" affects only one motor, each time.
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 23 Sep 2019, 18:31

U-turn on the spot
Throttle - 0
Steering - 150
1 motor rotates more slowly.
if Steering is -150, 1 motor will not spin faster.
StickSensitivity - always slows down 1 motor and rotates 2 motor faster. No matter what position the joystick is in

Image
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 23 Sep 2019, 18:36

reversed.
as you can see 2 the motor spins faster

Image
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 23 Sep 2019, 20:17

John,

You are confusing two completely different things.

What you don't like is an algorithm to improve estimation of motor current from battery current. It DOES NOT and CAN NOT work for the mobot because the mobot has such a high power to weight ratio that by the time the Roboteq detects any battery current at all it is already going pretty fast. That procedure has a fixed boost until there's measurable battery current, then uses battery current to estimate motor current, but it does this starting even for motor power well below the PWM = 200 (out of 1000) set by Roboteq. But with the Robot by the time you go from fixed boost to estimated current it has already moved quickly - having gotten there either very sluggishly (if the fixed boost is 0) or way too fast (with any fixed boost). On a vehicle with a lower power to weight ratio this is much less of a problem and it actually works pretty well on Rachi's chair - not as good as using the external motor current sensors, but a lot better than without it. In the current script, you will find this in the FindEstimatedCurrents: subroutine (that's used only if there are neither external sensors nor the internal sensors in the newer Roboteqs).

However, the StickSensitivity: subroutine has NOTHING WHATSOEVER to do with MotorCompensation. The StickSensitivity: subroutine was NOT in the script when you tested the robot, I hadn't even thought of it till many months later, so that's not what you were seeing with the robot. It only changes scaling of raw joystick mV values into motor command values. Motor current measurement (or estimation) and MotorCompensation: itself are entirely downstream of that. StickSensitivity: doesn't change the value of motor resistance, nor does it change how motor current is measured or estimated. I still think you are confused about StickSensitivity: so do think about the above graph again. There may still be bugs in the analog script version of this (I am not very good at living with MicroBasic's limitations), but it works perfectly for both practiced drivers and naive drivers in the CANbus version.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 23 Sep 2019, 20:23

Vitolds:

I don't know how to interpret what you posted. Yes,this is NOT the way the motors should behave, but there is nothing in this to tell us WHY they are not behaving properly. You need to do some systematic troubleshooting to find out where the problem is. I described a pretty complete trouble shooting procedure in my last post, but at a minimum you should do this:

STOP THE SCRIPT. Use the sliders to change Channel 1 (= Throttle) and Chanel 2 (= Steering) and get a screen shot of the graphs of MotorCommand1, Motor2Command, Motor1Power and Motor2Power. That's not very complete trouble shooting, but should at least give us a starting point to figuring out where the problem lies.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Burgerman » 23 Sep 2019, 20:45

Yes you are right I was confusing the two. Initially.

However, the StickSensitivity: subroutine has NOTHING WHATSOEVER to do with MotorCompensation.

No I understand that.
The StickSensitivity: subroutine was NOT in the script when you tested the robot, I hadn't even thought of it till many months later, so that's not what you were seeing with the robot.

Correct.

It only changes scaling of raw joystick mV values into motor command values. Motor current measurement (or estimation) and MotorCompensation: itself are entirely downstream of that. StickSensitivity: doesn't change the value of motor resistance, nor does it change how motor current is measured or estimated. I still think you are confused about StickSensitivity: so do think about the above graph again.

Yes I see that. However the same thing still applies. Its a fixed value.
If I lift the chair off the deck, 3A sees the motors turn.
But consider these scenarios carefully.

1. If I am on a flat surface sat in it in and move STRAIGHT AHEAD then it may take 5 to 8A to start moving. And just 3mm of joystick to leave dead band. Thats Fine. It moves smoothy and by the amount I choose. Because compensation, adds the small extra pulsewidth as needed.

2. If I want to zero turn, it may take say 40 to 80A. So I either push the joystick a fraction further, or allow motor compensation IF CORRECTLY SET to add the extra power for me. And when set correctly, thats exactly what it does. My chair will boost up to say 100A if required to move the chair left/right the moment the joystick leaves the deadband with that same 3mm of stick movement. (On the R-Net software, the TORQUE setting adds additional motor compensation at tiny stick movements in case the main compensation is set too low).
So no additional stick movement is required. So no need for your new graph and added sensitivity at neutral above.

The real issue that is an example of why I think this is wrong to do what you are proposing...
3. If on my driveway which slopes towards the road, or if driving downhill on my street, ZERO amps are required to move at all. Quite the opposite. The chair will naturally roll down, towards the road and accelerate if controller is turned off and the brake is released. So as I move the stick forwards by 3mm (to leave the deadband) to go forwards downhill, a NEGATIVE motor compensation slows and controls the chair as I move slowly. Or it will go faster than I wanted. With your bump at the begining, it will be going faster than I want at its slow speed where even the tinyest pulsewidth makes the chair go! It will also make slow controlled corrections on my van ramp, coming down, harder and jumpy.
User avatar
Burgerman
Site Admin
 
Posts: 48090
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 23 Sep 2019, 21:13

the only problem is the StickSensitivity.
By disabling the StickSensitivity function, both motors rotate at the same speed.
In the photo I showed Throttle - 0 Steering (<0) and (> 0).
note that the right motor is always faster than the left. The left motor always brakes and has a constant speed of 28
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 23 Sep 2019, 21:31

The real issue that is an example of why I think this is wrong to do what you are proposing...
3. If on my driveway which slopes towards the road, or if driving downhill on my street, ZERO amps are required to move at all. Quite the opposite. The chair will naturally roll down, towards the road and accelerate if controller is turned off and the brake is released. So as I move the stick forwards by 3mm (to leave the deadband) to go forwards downhill, a NEGATIVE motor compensation slows and controls the chair as I move slowly. Or it will go faster than I wanted. With your bump at the begining, it will be going faster than I want at its slow speed where even the tinyest pulsewidth makes the chair go! It will also make slow controlled corrections on my van ramp, coming down, harder and jumpy.


You may be right about this. I will "real world" check it with Rachi's chair. Haven't felt it on the car's ramp, but that's a very short test. 6% is 60 out of 1000 and is not very much so on a real hill you may well still reach negative compensation when barely moving. Siena has LOTS of hills to test this on. I started on this when I watched my 13 y.o. granddaughter try to drive the chair for the first time. She just couldn't figure out how far to push the stick to the side (while already moving forward) to start it turning. Indeed, it's a more serious issue for turning because going straight fore and aft you're up to minimum power for motor movement with the stick barely out of deadband anyway, but with TurnPotForwardMin = 12, as it is on Rachi's chair, you have to push the stick a fair way to get it to turn at all (even with motor compensation set very high and further boosted for turn-in-place - if that turn-boosted compensation were active when going forward it would probably be at or near runaway). If hills are really a problem, I could change StickSensitivity to apply only to Steering and not to Throttle or make minStick inversely proportionate to SpeedPot (for Throttle) and TurnPot (for Steering) - so initial stick response would remain the same even if the pot was turned down to an extremely slow speed.

Let's also see what Will finds (if the script is now working properly at stick-centered).
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Burgerman » 23 Sep 2019, 22:08

With decent motors, 45mOhm, even my r-net chair (190kg salsa with a fat 20 stone me on top, still nose heavy) turns when set to a very low speed. Easily. With the same tiny stick movement in turning, or in a straight ahead situation. Theres absolutely no difference. As soon as its out of the dead band. It certainly didnt used to be this way, but some adjustments made it so!

It does that because I reset its 40/45 motor compensation to 50, and because I added TORQUE (extra load compensation at tiny stick movements) until it did...
I also set low and high speed turn acceleration, and turn deceleration to 100, (almost instant, under a tenth of a second because it allows motor compensation to also ramp up faster).

Now, even when set to stupidly slow turn and forward speeds, for my carers to drive it indoors, it simply follows the stick exactly. It just goes where you tell it. No hesitation, no needing more stick. Even with me in it. Theres no difference between zero turning, turning while moving ahead, turning at speed, downhill, uphill, or anything else. But it needed properly setting up. Other chairs do not behave this way because none of them are set up properly.

As such theres no need to add your sensitivity change that will have unintended consequences. It might not be obvious with high impedance otors, and motor compensation may never work correctly with those, but it should never be required if motor compensation is working correctly.

I could change StickSensitivity to apply only to Steering and not to Throttle or make minStick inversely proportionate to SpeedPot (for Throttle) and TurnPot (for Steering) - so initial stick response would remain the same even if the pot was turned down to an extremely slow speed.

But that still wont work because when trying to get fine control on a ramp or an uneven surface I will be decending with some left turn, or whatever... And correcting left right all the time. So may need some power on one motor, but hardly any or negative on the other while decending. Its the wrong solution in my opinion. Its adding a fixed amount where varying and controlled amounts, (and sometimes minus power) is required. Which is exactly what correctly functioning motor load compensation is for. I suspect that you are trying to fix a bad and inadequate motor with fudges that may help, but the wrong way to go about it. Please dont shoot the messenger! If you were to fit a set of decent 4 pole motors you might be surprised how effective and quickly that motor compensation ramps up to give you plenty of amps! (Remember that I see 120A on the salsa at just under 11 volts) even if set to the slowest speed.

Take a look at the figures here as I zero turn, note battery amps too! This is ramped up to this figure even at tiny stick movements, if stalled. Here it wasnt stalled. Just turning on thick carpet.
Attachments
rnet-diagnostics.gif
User avatar
Burgerman
Site Admin
 
Posts: 48090
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Williamclark77 » 24 Sep 2019, 01:35

I will try to test tomorrow if I get off at a decent time.

What I had in mind skimming over the "minimumstick" was almost like a logarithmic curve, but with a… well, you posted a graph that shows it.

I need my chairs quite darty at speed. Just a little off axis input to get her to steer and dodge something. I'm having trouble getting W3 to do this. I've got the "turnspeed" set at 500. My W2 at 250 with is quite darty, even with Speedpot on 100. W3 takes a lot of stick to turn even with turnspeed on 500 and speedpot down to 90. I attribute it to the taller gearing of W2. W3 is 8 mph. Setting turnscaling quite high helps tremendously, but I don't want it to be able to spin in place that fast.

Anyway, I think that setting you're talking about would help. I haven't had time to really test a lot.
WcMade.com - Get nearly anything you need made
Williamclark77
 
Posts: 1012
Joined: 21 Mar 2013, 01:18
Location: South Mississippi, United States

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Burgerman » 24 Sep 2019, 04:29

The roboteq has positive and negative turn input channel, adjustmments that allow logrithic or exponential changes. From memory it works the opposite way around to RC setup for Expo. So adding exponential will make it less sensitive at the extreme stick positions. And more sensitive around the centre. Which is wrong but you will see.

Set up the turn input signal response to give you a lot of sensitivity around the neutral point, and less towards the full stick. It will then do as you want. And on turn channel only. You will be able to reduce turn speed and still have turn control around the centre stick.

In the Roboteq setup its:
Startup > commands > command adjustments > linearity > and set the required expo here! Then no sudden jump.
Attachments
Image1.gif
User avatar
Burgerman
Site Admin
 
Posts: 48090
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 24 Sep 2019, 08:44

If the motors are low impedance and the gearbox is low friction MinimumStick can certainly be set to 0. If that's not the case, however, some positive value for MinimumStick will help. Since MotorCompensation: is downstream of this, reverse compensation going downhill will still be there. (My scripts also have rough equivalents of things like the rNet "Torque" setting, just named differently, and they to act during the motor compensation so are downstream of however the JS mV gets "curved".)

Will - immediately after seeing the trouble my granddaughter had I too though of logarithmic curving (actually my son suggested it) and tried that first. In my hands at least I couldn't get it to work well enough at both low and high powers so thought of the discontinuous curve - jump then linear - and so far it seems to be working well. I eagerly await hearing about your results. If you look at the subroutine's code you'll also see that if one axis (Throttle or Steering) has already reached the minimum command level, MinimumStick is not applied on the other axis.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 24 Sep 2019, 09:46

This is turning on the spot


youtu.be/6ilZ8WpGQ3Y
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 24 Sep 2019, 10:01

Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 24 Sep 2019, 13:03

Vitolds,

Thank you for posting those. However, you didn't click the Record button so there is no graph and I found it very difficult to follow numbers in four boxes and see the raw Throttle and Steering mV values and status LEDs at the same time. Clearly there is a problem here and it does seem to involve StickSensitivity, but I have no clue what is causing it.

Because I don't understand what's wrong, this morning I disconnected my extra HDC2460 from the lift/tilt device I'm working on, moved it from my garage workbench to my bedroom "clean desk", and re-configured it to use the analog script run with an old analog joystick. It was connected to a pair of small, brushed gearmotors. As you'll see below, so far I haven't reproduced the flaw.

Here are four screen shots with MinimumStick = 7 (minStick = 70) in which the motor commands and motor powers are graphed. They are a left turn in place, a right turn in place, straight forward and straight back. In each graph the two Motor Command lines are perfectly superimposed as are the two Motor Power lines. I will continue to run this with other user settings (motor resistance, turn mix, minimum stick, changing the SpeedPot and associated settings etc.) to see if I can get it to mis-behave.
analog L turn.jpg
analog R turn.jpg
analog forward.jpg
To be continued in the next message because of the 3 image limit.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 24 Sep 2019, 13:08

continued:
analog back.jpg

While I continue to try to reproduce the problem on my (brushed motor) controller, could you post or send me copies of your configuration profile and your script so that I can compare your settings with mine?
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 24 Sep 2019, 13:12

no problems
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 24 Sep 2019, 13:25

Could you also do the following. Pause the script, switch Roborun to the Console tab and re-start the script. You should see some serial messages about the automatic selection of the motor current method being used for motor compensation. Please send me a copy of those. Thanks.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 24 Sep 2019, 13:32

this will be harder.
The script immediately reads from the sensors, there is no choice.
see mail
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 24 Sep 2019, 14:20

I see, you had removed that subroutine from the script. Nothing to check then - GetValue (_A, n) should work fine with your controller.
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 24 Sep 2019, 14:38

I downloaded your script.
1. changed only SpeedPot, (now I do not read the malfunction)
All the same. One motor rotates more slowly.
I sent the script to you in the mail.
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 24 Sep 2019, 18:15

Vitolds and I have had a pretty active back and forth to diagnose the problem of one motor running faster than the other (in turn-in-place). I set up an analog system here and am pretty sure I found the cause and a very simple solution. We have both tested it a bit and Vitolds is continuing to test it. If he doesn't find other problems in the meantime, tomorrow I will post a revised analog script.

The problem doesn't show up in the CAN version because Master doesn't send noisy joystick mV values to the Roboteq, but sends clean, numerical values of Throttle and Steering - so when the stick is centered in either axis what the Roboteq sees is 0 for that axis, even if the mechanical centering of the stick doesn't always bring it exactly back to center mV. The analog script has to contend with a less stable and less repeatable input.

Until tomorrow,
Lenny
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Williamclark77 » 25 Sep 2019, 00:37

Good deal. I'll wait and help test your next revision. The noise on my joystick is about 5 - 7mv. I am using twisted and shielded wiring though (Cat6 network cable).

BM, thanks for the in depth response. I'm using a small log curve. It's not perfect but more responsive than no curve. I haven't tried a medium or strong log yet. I think it would make regular small movements a bit too jumpy. Maybe not. I'll try this weekend as well as butt test Lenny's script if it seems safe.

I don't care how good/bad it looks on graphs. I have to feel it. Graphs and jackstand tests give me an idea of how it'll perform, but nothing replaces really using it.
WcMade.com - Get nearly anything you need made
Williamclark77
 
Posts: 1012
Joined: 21 Mar 2013, 01:18
Location: South Mississippi, United States

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby LROBBINS » 25 Sep 2019, 10:01

Victory (but with some egg on face)

Attached is a new analog script that gives proper motor behavior for turn-in-place. I've also updated the package on Drive.

I'm a bit embarrassed to say that all my blather about joystick noise was way off the mark - that has only a marginal effect. The real problem was something stupid I did when I "fixed" the moving-with-stick-centered problem.

To fix that I'd added the condition:
Code: Select all
IF abs(Steering) > 0 THEN
at the start of the Steering section of StickSensitivity. I'd also intended to add:
Code: Select all
IF abs(Throttle) > 0 THEN
at the start of the Throttle section. BUT I copied and pasted the first line and failed to change "Steering" to "Throttle". The results was the same problem as caused movement with stick centered, but now only when centered fore and aft with the stick to the side, in other words, when doing a turn-in-place. I don't know how many times I stared at that line before I saw it staring me in the face.

Now, we have to check whether StickSensitivity creates a problem going downhill as John thinks it will, but that will await at least one of us getting an actual chair onto a sufficiently long, fairly steep hill. One minor point though to clarify thinking about this. Re-scaling of stick positions in StickSensitivity: does not start at a fixed value of minStick, but is variable: (minStick-abs(T)) for Steering and (minStick-abs(S)) for Throttle. Thus, the sensitivity increase for Steering is reduced if there's fore-aft movement, and likewise the sensitivity increase for Throttle is reduced when turning. If we end up needing to get rid of (or reducing) Throttle re-scaling to avoid problems going downhill, Steering will not get jumpy.

However, at this point Will is right on the mark. We can ponder the effects of the program as much as we want, but the real proof of the pudding has to be how the chair drives.
I don't care how good/bad it looks on graphs. I have to feel it. Graphs and jackstand tests give me an idea of how it'll perform, but nothing replaces really using it.
Attachments
analog 2019_09_25.mbs
(65.13 KiB) Downloaded 43 times
LROBBINS
 
Posts: 4595
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Vitolds » 25 Sep 2019, 11:17

Hello lenny
I tested the creak that you sent me in the mail.
Everything is working!
It seemed strange to me that in the script "twice abs (Steering)> 0" I wanted to check today myself, but you found it faster.
If my knowledge of English was better, we can solve it quickly ...
Vitolds
 
Posts: 469
Joined: 26 Mar 2014, 22:12
Location: Moscow Russia

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby stevelawiw » 25 Sep 2019, 11:50

Thanks for all the hard work! It is appriecated.
stevelawiw
 
Posts: 443
Joined: 21 Jul 2012, 20:55
Location: Isle of Wight, UK

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Williamclark77 » 25 Sep 2019, 15:28

Sounds good. It'll probably be this weekend before I can test. I'll give it a good real world butt test in W3 and compare it to the highly bastardized version of a very old script I've been using for the past five or so years.

I've also got to come up with a better backrest for my W3. I'm currently using a sling back but want a hard back. The sling backrest seems to encourage pressure sores. It lets my butt get off of the back of the cushion by the end of the day, even with some thorough bracing.

I made a hard backrest on W2 from aluminum plate that works perfect. I may do that on W3. I just really didn't want to. TIG welding bent aluminum plate is not the easiest thing to do and the one on W2 looks rough after two years of use. It easily scratches through the paint.

My upright or canes or whatever they're called are only 14" apart.

Anyway, besides testing the script I really want to get that done this weekend.
WcMade.com - Get nearly anything you need made
Williamclark77
 
Posts: 1012
Joined: 21 Mar 2013, 01:18
Location: South Mississippi, United States

Re: PINNED - Roboteq Controller - developing for powerchairs

Postby Williamclark77 » 30 Sep 2019, 17:24

I played around with the latest script revision for a bit on jackstands. Didn't get to butt test. It seems to behave as expected with a few minor issues. Changing settings didn't really seem to affect this issue.

Turning in place then straightforward accel has a delay. The chair continues to turn for 1/2 a second or so then accelerate inconsistently forward for a split second, then accelerate properly to full speed. Increasing accel/decel mitigate this quite a bit. Sometimes it accelerates smoothly. Sometimes not. This graph is a not. Full left turn then full forward.

Image

Same thing except full right turn then full forward.

Image

From stopped to full forward joystick with a mild turn.

Image

From stop to full forward straight. I turned some values off on the graph to lessen the crap being displayed. I also slowed the graph down because it kept running off the screen before I could pause it. Same results, just graphed a bit different.

Image

It is random. I may do five accelerations. 4 out of five will be perfect. One will spike like above. I may do five more accelerations and four will spike. Changing settings, including minimum stick and motor compensation didn't seem to matter.

It's not the chair. This is my old script from years ago. 20 or more accelerations. All perfect like this.

Image

Minimum stick seems like it will work as intended looking at jackstand tests. I do think it could make the chair too twitchy at low speeds when small movements are wanted once increased enough to work at speed FOR ME. If I start using this script I would probably add a variable something like

If Throttle < 50
Then minimumstick = 0
Else minimumstick = minimumstick
WcMade.com - Get nearly anything you need made
Williamclark77
 
Posts: 1012
Joined: 21 Mar 2013, 01:18
Location: South Mississippi, United States

PreviousNext

Return to Everything Powerchair

Who is online

Users browsing this forum: hank, ICEUK and 18 guests

 

  eXTReMe Tracker