acciomn:
The actuator moves quickly enough to be responsive, but not so fast it will cause fast starts or stops in the transmission. The actuator itself is a DC motor with screw drive, so I'm not using PWM to drive it, just simple digital.
:o :o :o
I would highly suggest you rethink your system. It's an accident waiting to happen!
Your actuator - if it is like most (but not all) linear actuators - most likely can't be back-driven. That is, once it is at one set position, it can't be changed by any external force against it. Normally, this is something you want. But not for acceleration control on a gas powered machine.
What would happen if something failed - for instance, the electrical connector vibrates loose from the actuator or controller, or the wiring to the motor breaks due to vibration, or any number of other possibilities - all when you least expect it?
Now you have a several-hundred pound machine - albeit lumbering slowly along (well - depends on where the accelerator got stuck, and the gear the mower is in, and what its top speed is) - with spinning blades of death - and little or no control.
Puppy in the way? No problem, right? Cat? Goodbye. Child? Who cares, right?
All robotics systems, beyond desktop rover sized, need to have mechanisms to help prevent injury and property damage as they increase in size. The kind of robotic system you are creating - that is, a large and heavy one, and especially one powered by an engine - need to have the utmost in safety systems.
In fact - for such systems - I would argue that safety needs to be designed in at the very beginning - that is, planning fail safes for as many scenarios as one can imagine - both at a hardware level, and at a software level - before coding any logic, or anything else. This needs to be extremely well planned, then discussed with others to ensure you haven't missed anything. Then this system needs to be implemented first.
In your case, you need an accelerator actuation system that - should power or something else fail - returns back to zero acceleration. You likely also need a valve on the fuel system to auto-shutdown the fuel supply (alternatively - and maybe easier to implement - something to shutoff the air supply would work too). You need mechanisms - electrical, mechanical, software, hands-on, and remotely controlled - methods to allow you to instantly shut-down the system should it go out of control - there needs to be a big red stop button on the thing that is easily reachable (but out of the way of any dangerous spinning parts) by anybody who needs to shut it down. There might also need to be a "pull to deactivate" switch or similar (like you find on jet-skis) - though this is usually only needed for machines that can move quicker than one can walk or run - which may not be the case here. These shut-down mechanisms must be fail-safe as well - once activated, they should cut the power to everything - and must require a willful, manual reset before the robot will run again.
Your software needs to have proper structure, so that there is a safety and security "module" or "library" or "class" - something that any other part of the system can query or activate as needed, and that activation can be total or tiered (so the robot can selectively shut-down parts of the system, if needed - if it determines that there is an issue - like a broken blade or something - that would disable a function, but it could still "go home" if the steering and movement controls still worked). It should also have the ability to report it's status (both by push, and by request) - and ultimately be able to "call for help" - both via a remote means (RF or similar) as well as by audio/visual means (flashing light, siren, alarm, etc).
Lastly - all testing on the robot - especially one of this nature - if you aren't already doing it - should be done with the wheels off the ground, in the initial phases of the project. There are more than a few anecdotal stories out there of people who have built larger robots, doing their software/hardware testing, and something goes wrong, and the robot goes careening down a hallway, only to be stopped by a wall (generally causing a few hundred dollars in damage). Fortunately, I haven't heard of any hobby robots seriously injuring their builders - but I am sure injury has happened; I know for a fact more than one repairman of industrial robots have been killed because of a failure in lockout/tagout - the precedent is there.
Use your linear actuator (or a similar one - if you need a longer travel length or such) to control the steering; use some other mechanism - one that can fail "closed" to no acceleration - to control the fuel. I know this all might seem like overkill, but it honestly won't should it all go wrong down the road.
Good luck with your project, and I hope it turns out well.
