Using ZED F9R for slow autonomous vehicle (walking-speed)

Hello -

We are building a autonomous robot that can travel around a grassy field and pickup trash. The vehicle travels at roughly walking speed. It also needs pretty high precision GPS. We are considering ZED F9R. Our questions:

It seems ZED F9R is designed for vehicle use. Can it be used for a slower application like ours? I noticed in the documentation, the calibration requires traveling at 30 km/hr. Is that necessary? What if we just don’t integrate the wheel tick?

Does the Arduino library support ZED F9R.

Thanks,

Hi soarling,

Your robot will always have a good view of the sky, so I think you are unlikely to benefit from using the ZED-F9R and providing wheel ticks. The wheel ticks are useful for “dead reckoning” applications, e.g. travelling through a road tunnel.

My advice would be to try the NEO-M8P first and to send it NTRIP correction data via a radio link or mobile phone. If you need better (dual-band) accuracy, then I think the ZED-F9P could be a better choice.

Setting the dynamic model to “pedestrian” may help too. (I’m sure I saw a “robot lawn mower” dynamic model somewhere, for one of the u-blox modules, but I can’t find it right now.)

The library does support the ZED-F9R.

Best wishes,

Paul

Hi soarling,

I’m working with the F9R on an outdoor low-speed project as well. We did try to get sensor fusion working on the F9R using the robotic lawn mower HPS dynamic platform model included in HPS 1.21+. (We initially tried the automotive model but ran against the same calibration min speed issue) However, we found in our testing that the performance of the robot_localization package in ROS2 yielded much better results than the sensor fusion on the F9R.

What we ended up doing was to modify our driver node for the F9R to output the raw IMU values from the internal IMU as a sensor_msgs/Imu message which was used by the robot_localization package to perform sensor fusion on the Imu message as well as an odometry message generated by another control node. Then we used the navsat_transform_node to integrate the NavSatFix message from the F9R, completing our localization setup.

Hope this helps a little bit

(From the most recent integration manual for the F9R)

I found this in the release notes for the ZED-F9R HPS 1.21:

The model is tuned to the normal operating behavior of a lawn mower in terms of speed of travel,

tilt, acceleration, and roll. The calibration of the IMU has been reduced to match the machine

type and can start calibration at speed as low as 0.6 km per hour. The RLM dynamic model

requires wheel ticks with polarity from both rear wheels. Automatic wheel tick polarity detection

should not be used.

So. maybe, if you change the dynamic model first, the calibration can be performed successfully at low velocity?

https://github.com/sparkfun/SparkFun_u- … cModel.ino

The new dynamic model should be supported by the library, but I haven’t tested it:

https://github.com/sparkfun/SparkFun_u- … ary.h#L499