I am trying to build a rover with obstacle avoidance, using rover 4.1.0 stable. So far I have tried three different sensors, all of them seem to work when tested individually, but the rover the rover does not notice BIG obstacles (like a wall, a full size car or my legs…), all of them have the same problem!
I have noticed that the “radar” screen in Mission Planner shows a reasonable distance, but there is a lag of about three seconds when I put my hand before the sensor and the change in the radar screen, no lag when I remove my hand from the line of sight.
I thought of the PRX_FILT value, but there is no difference with a zero value or 20Hz. The thing is, I see the same problem with a teraranger evo 60m rangefinder (PRX_TYPE=4) , with a RPLIDAR A2 (PRX_TYPE=5) even with a Realsense D435i camera in a RPI4 companion computer and a python script to send DISTANCE Mavlink messages.
I believe that I have something not correctly configured, these are my PRX_ and RNGFND1_ params values:
PRX_FILT,0 PRX_IGN_ANG1,0 PRX_IGN_ANG2,0 PRX_IGN_ANG3,0 PRX_IGN_ANG4,0 PRX_IGN_ANG5,0 PRX_IGN_ANG6,0 PRX_IGN_WID1,0 PRX_IGN_WID2,0 PRX_IGN_WID3,0 PRX_IGN_WID4,0 PRX_IGN_WID5,0 PRX_IGN_WID6,0 PRX_LOG_RAW,0 PRX_ORIENT,0 PRX_TYPE,4 PRX_YAW_CORR,0 RNGFND1_ADDR,49 RNGFND1_FUNCTION,0 RNGFND1_GNDCLEAR,25 RNGFND1_MAX_CM,800 RNGFND1_MIN_CM,25 RNGFND1_OFFSET,0 RNGFND1_ORIENT,0 RNGFND1_PIN,-1 RNGFND1_POS_X,0 RNGFND1_POS_Y,0 RNGFND1_POS_Z,0 RNGFND1_PWRRNG,0 RNGFND1_RMETRIC,1 RNGFND1_SCALING,3 RNGFND1_STOP_PIN,-1 RNGFND1_TYPE,14 RNGFND2_TYPE,0 RNGFND3_TYPE,0 RNGFND4_TYPE,0 RNGFND5_TYPE,0 RNGFND6_TYPE,0 RNGFND7_TYPE,0 RNGFND8_TYPE,0 RNGFND9_TYPE,0 RNGFNDA_TYPE,0
You can see in the following screenshot that the proximity radar shows a distance (using teraranger evo lidar) but, interestingly, the rangefinder1 distance (received by MP) is always zero meters.
In the attached flash log file, the PRX distance follows the rangefinder distance when the change in distance is slow (it is me moving from or towards the rover) , but with more sudden changes, it seems that there is no PRX values for a few seconds, then recover. Is that the expected behavior?
Any help with this issue will be much appreciated. I’m having a hard time configuring the obstacle avoidance, so far, it seems more like an obstacle destroyer
dataflash log: Sign in to your account