Vehicle Safety - olinrobotics/gravl GitHub Wiki

Overview

Lidar

The node detects significant obstacles within sensing range (default set to 5 m) and within the tractors projected path. If the tractor is turning at the moment, the tractor has two modes to handle this. One method is to act as if it will go straight immediately afterward, resulting in straight lines as seen below. The other method is to act as if the wheels will keep their current angle, resulting in a curved path is seen below. If a significant obstacle is detected, the node will publish True to the e-stop once. At the time where there are no longer obstacles, the tractor will publish one False to the e-stop.

How to operate

Basic

roslaunch gravl lidarvis.launch

Additional parameters

add any of these to the above to change them:

vis:=True - launches RVIZ showing the data

senseRange:=# - substitute # with a number in meters to change the range at which the tractor senses

mode:=# - substitute # with either "circle" or "line" to change the modes described above

Depection of the Variables for Lidar Code

Depiction of LIDAR code Variables

IMU

The IMU safety mechanism is orientation based. When roll is above a specified amount of degrees (default 10 degrees), a gravl/ImuSafety message is published with a danger boolean as True and the roll angle. Otherwirse, the danger boolean is False published with the current roll angle. The parameter maxRoll specifies the maximum roll angle. Possibilities for improvement is low-passing the signal to eliminate vibrations when almost in danger.

Running: roslaunch gravl safety.launch.