if I try to change the flightmode to acro or steering over RC Channel 8, I get “Flightmode change failed”.
It works fine over Missionplanners “Actions” tab. I can change between Manual and Hold via RC.
I am using wheelencoders (GPS deactivated) and Ardurover 3.3.0dev on a Pixhawk (PX4v3).
Just to report back: EKF (Encoder) Navigation works with GPS enabled (no GPS fix indoors). I just tested ACRO and Steering mode. I set the EKF origin to the aproximate position of the rover in our flat and the path I drove was accuratly shown in Missionplanner. As soon as the weather improves, I will test it outside with a GPS fix.
Still not so related to the main topic, but we were trying to improve the navigation of our over, and we are going to install wheel encoders. We assume that this will improve the navigation when GPS is fixed, are we wrong?
And also requiring a little advise, which encoders would you recommend? (its a “big” rover, around 1.2m long, we have enough space, and are looking for good quality stuff).
I think the wheel encoders should improve the position estimation even when using GPS but it’s not something that’s been specifically tested. if it doesn’t improve the estimation then we should talk to @priseborough and see if he can take a look.
I’ve only used the relatively cheap pololu wheel encoders built right into the motors so I don’t have much advice to give sadly.
Can I ask, is there anything specifically wrong with the navigation of the rover? I plan to add “heading hold” to the turn rate controller for Rover-3.3 and I think this will reduce weaving between waypoints.
Of course you can ask! last year we were unable to solve the “weaving” thing when travelling from wp to wp, also we had few problems with the here+ rtk system. time has passed, and many software updates have been done! We will be testing in few days our rover again (hope that the weather finally gives us a break) and will be back here with progress, videos, params and logs i suppose, because last time we were unable to make it work “nicely” by ourselves =/
Everything that puts out a quadrature signal should work. I build my encoders myself. The first version was reflective optical. It used a laser printed dual track encoder pattern, glued around the outrunner bell and infrared LEDs/photoresistors. The second version uses two hall sensors and a disc with 8 (4 pairs) magnets per motor. This gives me a CPR for the wheels of 384 (16 cpr for the motors * 24 gear reduction). Of course this is all DIY and not protected in a case or anything. It should be easy to design an encased encoder with a 3d printer, but I do not own one (yet?).
With only one phase, those are no quadrature encoders. Ardurover will not be able to get information about rotation direction. I do not think they work with ardurover, but @rmackay9 should know for sure.
Yeah, I’m afraid we don’t support a single phase encoder on rover for now. If the vehicle were only going to move forward we could perhaps add support… but most rovers go backwards as well so it’s probably best if we stick to the encoders with two signal wires.