Initial import of mcptam into repository trunk directory.
Initial import of mcptam source into trunk.
Updating the Getting-Started guide including the distribution. Testing if the redmine project will pick up the revisions in SVN.
Fix for camera_calibrator numerical Jacobian calculation preventing step size of zero magnitude.
Modified TaylorCamera to have two constructors, one for calibration mode and one for live mode. Eliminated default parameters from TaylorCamera. Updated CameraCalibrator to be compatible with these changes.
Adding intermediate tf node to the launch files for visualizing the cameras easily in rviz. Also adding a template rviz settings file in the launch folder. Finally, forcing a map dump to a file if MapMakerBase.cc throws the pClosestKF assertion.
Adding the new Getting Started guide.
Changed MKF addition threshold to be proportional to map size. This helps get the map started in larger environments or right after we're done initializing with IDP mode. Added code to remove MKFs sitting in incoming queue after IDP init is done, this was adding a lot of useless MKFs right after finishing IDP
Changed some ROS_ASSERT calls that had the results of function calls directly in their arguments, meaning the function call would not be made at all when asserts are disabled. In new versions of CMake, RelWithDebInfo build type sets the -DNDEBUG flag which disables asserts, so I changed build type to None and defined flags only manually in CMakeLists.txt
Added option to dynamically set the approximate time synchronizer's lower bound based on observed camera frame rate. This helps reduce the delay in gathering synchronized message sets when the inter-message duration doesn't change over time, like what we have with multiple cameras.
Fixed bug in PublishSmallImage on client, removed printing of client messages in terminal on server
Consolided frontend functions into SystemFrontendBase, which is the new parent class of System and SystemClient. This allows mcptam to be run headless and publish diagnostic messages just like mcptam_client. Updated SystemBase to accept a pointcloud of measurements from the tracker, to be overlaid on the small composite image. This is useful for seeing exactly what the tracker is doing with a minimum of network usage.
Added sending/deleting of measurements from server to client, meaning that the client side now has a full representation of the map including all KF<->point measurements. This can be used to do smarter point projection in the tracking phase, rather than projecting the entire map at every frame. Also added 'idp' style initialization to client/server mode. The client sends MKFs with the images removed to the server, and the server sends back updated point positions. They also exchange initialization state and maxcov information.
De-syncing the small image and points between the client and server since a difference in the time stamp representations in Hydro between the point cloud and image messages means that they cannot be directly matched with the ExactTime synchronization strategy.
Bug fixes with client/server IDP initialization, and pose_calibrator triggering the pClosestKF == NULL assertion. Added optional 'debug' arg to launch files, if you launch them with debug:=true they'll start in gdb, no longer need to make a new launch file just to add the special launch-prefix
Added collect_all_points param loading
Added ability to turn on level zero points from launch param
Removed some unnecessary code from Tracker
Fixed idp init for client/server bugs, updated some launch files
Merge branch 'master' of github.com:aharmat/mcptam