Revision: 7609
http://playerstage.svn.sourceforge.net/playerstage/?rev=7609&view=rev
Author: gbiggs
Date: 2009-05-01 07:40:22 +0000 (Fri, 01 May 2009)
Log Message:
-----------
Applied patch #2778486
Modified Paths:
--------------
code/player/trunk/server/drivers/ranger/hokuyo_aist.cc
code/player/trunk/utils/pmap/CMakeLists.txt
Modified: code/player/trunk/server/drivers/ranger/hokuyo_aist.cc
===================================================================
--- code/player/trunk/server/drivers/ranger/hokuyo_aist.cc 2009-05-01
07:10:59 UTC (rev 7608)
+++ code/player/trunk/server/drivers/ranger/hokuyo_aist.cc 2009-05-01
07:40:22 UTC (rev 7609)
@@ -101,6 +101,10 @@
- high_sensitivity (integer)
- Default: 0
- Set to non-zero to enable high sensitivity mode on models that support it.
+ - min_dist (float, metres)
+ - Default: 0m
+ - Minimum possible distance. Below that means there is an error (a scratch
on the laser for
+ instance). The reading is then adjusted to the average of the neighboring
valid beams.
@par Example
@@ -127,6 +131,7 @@
const int DEFAULT_SPEED_LEVEL = 0;
const int DEFAULT_SENSITIVITY = 0;
const int DEFAULT_GET_INTENSITIES = 0;
+const double DEFAULT_MIN_DIST = 0.0;
////////////////////////////////////////////////////////////////////////////////////////////////////
// Driver object
@@ -151,6 +156,7 @@
bool _verbose, _powerOnStartup, _getIntensities,
_ignoreUnknowns;
double _minAngle, _maxAngle;
IntProperty _baudRate, _speedLevel, _highSensitivity;
+ DoubleProperty _minDist;
std::string _portOpts;
// Geometry
player_ranger_geom_t _geom;
@@ -174,12 +180,14 @@
_baudRate ("baud_rate", DEFAULT_BAUDRATE, false),
_speedLevel ("speed_level", DEFAULT_SPEED_LEVEL, false),
_highSensitivity ("high_sensitivity", DEFAULT_SENSITIVITY, false),
+ _minDist ("min_dist", DEFAULT_MIN_DIST, false),
_ranges (NULL), _intensities (NULL)
{
// Get the baudrate, speed and sensitivity
RegisterProperty ("baud_rate", &_baudRate, cf, section);
RegisterProperty ("speed_level", &_speedLevel, cf, section);
RegisterProperty ("high_sensitivity", &_highSensitivity, cf, section);
+ RegisterProperty ("min_dist", &_minDist, cf, section);
// Get config
_getIntensities = cf->ReadBool (section, "get_intensities", false);
@@ -492,10 +500,18 @@
return false;
}
+ double lastValidValue = _minDist;
for (unsigned int ii = 0; ii < _data.Length (); ii++)
{
_ranges[ii] = _data[ii] / 1000.0f;
_intensities[ii] = _data.Intensities ()[ii];
+ if (_minDist > 0)
+ {
+ if (_ranges[ii] < _minDist)
+ _ranges[ii] = lastValidValue;
+ else
+ lastValidValue = _ranges[ii];
+ }
}
rangeData.ranges = _ranges;
@@ -523,8 +539,18 @@
return false;
}
+ double lastValidValue = _minDist;
for (unsigned int ii = 0; ii < _data.Length (); ii++)
+ {
_ranges[ii] = _data[ii] / 1000.0f;
+ if (_minDist > 0)
+ {
+ if (_ranges[ii] < _minDist)
+ _ranges[ii] = lastValidValue;
+ else
+ lastValidValue = _ranges[ii];
+ }
+ }
rangeData.ranges = _ranges;
rangeData.ranges_count = _data.Length ();
Publish (device_addr, PLAYER_MSGTYPE_DATA,
PLAYER_RANGER_DATA_RANGE,
Modified: code/player/trunk/utils/pmap/CMakeLists.txt
===================================================================
--- code/player/trunk/utils/pmap/CMakeLists.txt 2009-05-01 07:10:59 UTC (rev
7608)
+++ code/player/trunk/utils/pmap/CMakeLists.txt 2009-05-01 07:40:22 UTC (rev
7609)
@@ -9,7 +9,8 @@
pkg_check_modules (GSL_PKG gsl)
IF (GSL_PKG_FOUND)
- LIST_TO_STRING (GSL_CFLAGS "${GSL_PKG_CFLAGS}")
+ LIST_TO_STRING (GSL_CFLAGS "${GSL_PKG_CFLAGS_OTHER}")
+ LIST_TO_STRING (GSL_LDFLAGS "${GSL_PKG_LDFLAGS_OTHER}")
LINK_DIRECTORIES (${GSL_PKG_LIBRARY_DIRS})
INCLUDE (FindOpenGL)
@@ -25,7 +26,8 @@
SET (lododriverSrcs lodo_driver.cc)
INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/client_libs
- ${CMAKE_CURRENT_BINARY_DIR})
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${GSL_PKG_INCLUDE_DIRS})
IF (GLUT_FOUND)
INCLUDE_DIRECTORIES (${GLUT_INCLUDE_DIR})
ENDIF (GLUT_FOUND)
@@ -43,6 +45,7 @@
ENDIF (GLUT_FOUND)
SET_SOURCE_FILES_PROPERTIES (${pmapSrcs} PROPERTIES
COMPILE_FLAGS "${GSL_CFLAGS} --fast-math")
+ SET_TARGET_PROPERTIES (pmap PROPERTIES LINK_FLAGS "${GSL_LDFLAGS}")
TARGET_LINK_LIBRARIES (pmap ${GSL_PKG_LIBRARIES})
PLAYER_ADD_LIBRARY (lodo ${lodoSrcs})
@@ -52,6 +55,7 @@
ENDIF (GLUT_FOUND)
SET_SOURCE_FILES_PROPERTIES (${lodoSrcs} PROPERTIES
COMPILE_FLAGS "${GSL_CFLAGS} --fast-math")
+ SET_TARGET_PROPERTIES (lodo PROPERTIES LINK_FLAGS "${GSL_LDFLAGS}")
TARGET_LINK_LIBRARIES (lodo ${GSL_PKG_LIBRARIES})
PLAYER_ADD_LIBRARY (lododriver ${lododriverSrcs})
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit