summaryrefslogtreecommitdiffhomepage
path: root/digital/io
diff options
context:
space:
mode:
authorNicolas Schodet2010-04-09 19:54:42 +0200
committerNicolas Schodet2010-04-09 19:54:42 +0200
commiteea8208edf3364a3003433267314e1c1916c3029 (patch)
treec83f05c82ab7532faad290b82e2f8e4fb4276a3c /digital/io
parent28f70471b92d8a569a1adcc6b54d344f47176113 (diff)
digital/io/src: take obstacle radius into account, refs #129
Diffstat (limited to 'digital/io')
-rw-r--r--digital/io/src/radar.c3
-rw-r--r--digital/io/src/radar.h4
2 files changed, 7 insertions, 0 deletions
diff --git a/digital/io/src/radar.c b/digital/io/src/radar.c
index 294a4558..7c9557c4 100644
--- a/digital/io/src/radar.c
+++ b/digital/io/src/radar.c
@@ -98,6 +98,9 @@ radar_update (vect_t robot_pos, uint16_t robot_a, vect_t *obs_pos)
robot_a + radar_sensors[i].a);
vect_translate (&hit[i], &ray);
valid[i] = radar_valid (hit[i]);
+ vect_from_polar_uf016 (&ray, RADAR_OBSTACLE_RADIUS_MM,
+ robot_a + radar_sensors[i].a);
+ vect_translate (&hit[i], &ray);
}
else
valid[i] = 0;
diff --git a/digital/io/src/radar.h b/digital/io/src/radar.h
index b602b69d..a1c5fe54 100644
--- a/digital/io/src/radar.h
+++ b/digital/io/src/radar.h
@@ -35,6 +35,10 @@
* - determining if an obstacle should make the robot stop.
*/
+/** Estimated obstacle radius. As the sensors detect obstacle edge, this is
+ * added to position obstacle center. */
+#define RADAR_OBSTACLE_RADIUS_MM 150
+
/** Update radar view. Return the number of obstacles found. Obstacles
* positions are returned in obs_pos. */
uint8_t