vtr3
vtr3 copied to clipboard
VT&R3 is a C++ implementation of the Teach and Repeat navigation framework. It enables a robot to be taught a network of traversable paths and then closely repeat any part of the network.
 The pose graph contains a single repeat vertex after a loop closed teach.
Modify the way that costmaps are generated and add neural network methods of change detection. Before merging, we need to select an appropriate way to store the network weights and...
Bug Fixes: Hopefully, solve the CBIT crash on spline interpolation when the repeat path is less than five vertices long. (Close #201) Use min speed parameter in the speed scheduler....
Test and Debug MEL
There is a much lower data rate by creating the point clouds ourselves. This should allow for high frame rates if desired. We can also do some range cropping etc...
The condition fails because of this line. https://github.com/utiasASRL/vtr3/blob/d74564fff70c21f517391c9b785cb0287d7314e6/main/src/vtr_path_planning/src/cbit/generate_pq.cpp#L108 The length of the list is a single point. Spline interpolation fails. Add a check to use a smaller reference for very...
Currently, we resample the `filtered_samples_inds` at each iteration of ICP: https://github.com/utiasASRL/vtr3/blob/0dc3213b89c8acd65d10eb49084bbb71fd0c8d65/main/src/vtr_lidar/src/modules/odometry/odometry_icp_module.cpp#L281-L295 This essentially "moves" the minimum of the cost function at each iteration of ICP. If we fixed `filtered_samples_inds` after...
Instead of interpolating the trajectory at the timestamp of each point, which is slow, interpolate the trajectory at a fixed rate specified in config file such as 100Hz or 1000Hz....
In the publisher `filtered_point_cloud` contains motion distortion In the pose graph `filtered_point_cloud` is motion compensated. Proposed solution would be to rename the topic in the pose graph.
Currently vertex data can still be in the process of being written when async tasks like intra_experience_merging try to read the map. Add checks to async data pointers to check...