Picking sensor help

So the idea is a rover that could navigate down vine rows (think grapes) These rows are usually well kept and free of any tall grass, large sticks or other obstacles and about 6ft wide maybe a bit more.

If I want the absolute best possible “Range finder” that would allow the rover to navigate down this corridor and avoid an obstruction what would I want to look for? Sonar? LIDAR?


How are you thinking that the range finder will help you navigate down the rows?

Thanks, Grant.

I guess its less about physically maintaining a straight line down the row…that would be the job of RTK and waypoints right? Its more about operating down this narrow row with patches of shade and bright sun spots and not solid walls. Is that going to confuse some types of sensors to the point where they cant function or avoid an object that maybe the rovers path? This could include anything from a parked ATV, dead animal, a pile of vine clippings or beer bottles…

I got the Terra ranger 1 type B and its appears to not function with any reliability out doors. We tested in overcast conditions today. It usually reads 0. Sometimes a range will appear but usually within 5m and it appears slow to update and will sometimes read zero? Is the lidar totally the wrong system for outdoors?

If not perhaps its another issue but it seems to work ok inside but really seems to degrade in performance in outdoor conditions.


Terraranger should be used outdoor. It was integrated into ArduPilot on a copter vehicle so it definitely works.

Thanks, Grant.

I’ve contacted terraranger I’ll see if we can figure something out. When it detects something within the avoidance range it doesnt appear to attempt to steer away either so im not sure what the issue is.

Obstacle avoidance is a different thing. Are you saying you think the terraranger is working and its sending range data when it detects an object? If it is and its just that its not avoiding that obstacle then that’s probably the rover code and not a terraranger issue. Can you attach a log file?

Thanks, Grant.

Yeah I can do that perhaps tomorrow.
Inside it works quite well as far as range detection goes very consistent and believable. Take it out side and reading instantly go to zero and it wont detect anything past 3m. Between 2 and 3m range often reports zero but may show a range reading for a moment. inside 2m range is often displayed with reasonable consistency.

I never once have seen it attempt steer 45 deg for 2 seconds as instructed it runs into walls, cardboard, people, curbs. inside or outside (auto mode) zero Fs given. :confused:

I have it pointing level should it be aimed at the ground say 7m ahead of its self? Or some reasonable distance and not level? there is no indication of how it should be aimed on average.

I set up a small circuit for rover to drive using learning. I set a do jump for 3 times repeat.

I stuck a cardboard box in front of rover’s path on the 2nd lap and it manged to hit it each time.
Distance from range finder usually reports zero until under 2m. It pushed the box for a bit a few times

I think its set to 30 deg turn 3 sec 200cm

A bin file of this has been unloaded I think…I dont see it. where does it go?

I’ve found a bug in the obstacle avoidance. See this discussion

Perhaps your hitting the same issue?

Thanks, Grant.

It doesnt quite seem like it.

  1. the rover does not go in a continuous circle instead it does exactly the opposite it track the intended path very well even when there is an obvious thing in the way and you can see the ranger finder actually count down to 0.20. The rover is like “Nah **** you” and plows right into that object.

  2. The range reports quite well inside but I cant get good gps lock and navigation is poor but by the looks of it the rover did not attempt to steer away from the object indoors either when in auto mode. I only get range reports of zero when sunlight hits the object its attempting to read. Outdoors thats everything past ~ 3m

Did you get the bin file?

Here is a google drive link for that bin if you need it.

Thanks again

rover bin file

Your RNGFND_TRIGGER_CM is set to 200. This means the rover won’t try to take any action or report an obstacle until its within 2m of the object. If your rover is moving at 2m/s (this is the CRUISE_SPEED you have set) then the rover has 1 sec to take action and avoid the obstacle. Further your RNGFND_TURN_ANGLE is set to 30 so its not able to turn as sharply as it can.

These were the only obstacle detections that occurred in your log.
2017-05-25 03:40:50.85: MSG {TimeUS : 7378269, Message : Sonar obstacle 77 cm}
2017-05-25 03:48:02.87: MSG {TimeUS : 439399625, Message : Obstacle passed}
2017-05-25 03:48:06.24: MSG {TimeUS : 442762241, Message : Sonar obstacle 196 cm}
2017-05-25 03:51:52.19: MSG {TimeUS : 668719676, Message : Obstacle passed}
2017-05-25 03:51:53.11: MSG {TimeUS : 669639911, Message : Sonar obstacle 194 cm}
2017-05-25 03:54:19.64: MSG {TimeUS : 816161423, Message : Obstacle passed}
2017-05-25 03:54:20.09: MSG {TimeUS : 816619521, Message : Sonar obstacle 191 cm}
2017-05-25 03:59:44.64: MSG {TimeUS : 1141167646, Message : Obstacle passed}
2017-05-25 03:59:49.86: MSG {TimeUS : 1146385962, Message : Sonar obstacle 171 cm}
2017-05-25 03:59:58.84: MSG {TimeUS : 1155367751, Message : Obstacle passed}

Its odd because its saying its taking many minutes to get past the obstacles.

Ah you are suffering the same issue with out of range being registered as an obstacle detection. That’s what’s causing your problem. I will create a new rover beta (Beta 3) with the fix in it. Please test with that.

Thanks, Grant.

Nice thanks!

But it sounds like I need a better range finder as well. its set to 2m because that appears all the further out it can see. However this could be due to the out of range issue as well. When that beta is available ill give it a shot.

Thanks again

I don’t have that particular rangefinder but a graph of SONR.S1Dist looks like this: