fix bug 238

This commit is contained in:
gfuse
2021-03-31 14:16:57 +02:00
parent d6161063b4
commit da17901faa
6 changed files with 40 additions and 16 deletions
+4 -2
View File
@@ -119,7 +119,8 @@ public:
void getSeedsCopy(const FramePtr& frame, std::list<Seed>& seeds); void getSeedsCopy(const FramePtr& frame, std::list<Seed>& seeds);
/// Return a reference to the seeds. This is NOT THREAD SAFE! /// Return a reference to the seeds. This is NOT THREAD SAFE!
std::list<Seed>& getSeeds() { return seeds_; } //std::list<Seed>& getSeeds() { return seeds_; } Bug 238
std::list<Seed, Eigen::aligned_allocator<Seed>>& getSeeds() { return seeds_; }
/// Bayes update of the seed, x is the measurement, tau2 the measurement uncertainty /// Bayes update of the seed, x is the measurement, tau2 the measurement uncertainty
static void updateSeed( static void updateSeed(
@@ -137,7 +138,8 @@ public:
protected: protected:
feature_detection::DetectorPtr feature_detector_; feature_detection::DetectorPtr feature_detector_;
callback_t seed_converged_cb_; callback_t seed_converged_cb_;
std::list<Seed> seeds_; //std::list<Seed> seeds_;
std::list<Seed, Eigen::aligned_allocator<Seed>> seeds_;
boost::mutex seeds_mut_; boost::mutex seeds_mut_;
bool seeds_updating_halt_; //!< Set this value to true when seeds updating should be interrupted. bool seeds_updating_halt_; //!< Set this value to true when seeds updating should be interrupted.
boost::thread* thread_; boost::thread* thread_;
+2 -2
View File
@@ -75,5 +75,5 @@ TARGET_LINK_LIBRARIES(svo_visualizer ${LINK_LIBS})
# Create Executables # Create Executables
ADD_EXECUTABLE(vo src/vo_node.cpp) ADD_EXECUTABLE(vo src/vo_node.cpp)
TARGET_LINK_LIBRARIES(vo svo_visualizer) TARGET_LINK_LIBRARIES(vo svo_visualizer)
ADD_EXECUTABLE(benchmark src/benchmark_node.cpp) #ADD_EXECUTABLE(benchmark src/benchmark_node.cpp)
TARGET_LINK_LIBRARIES(benchmark svo_visualizer) #TARGET_LINK_LIBRARIES(benchmark svo_visualizer)
@@ -4,13 +4,13 @@
<!-- Camera topic to subscribe to --> <!-- Camera topic to subscribe to -->
<param name="cam_topic" value="/camera/image_raw" type="str" /> <param name="cam_topic" value="/camera/image_raw" type="str" />
<!-- Camera calibration file --> <!-- Camera calibration file -->
<rosparam file="$(find svo_ros)/param/camera_atan.yaml" /> <rosparam file="$(find svo_ros)/param/camera_atan.yaml" />
<!-- Default parameter settings: choose between vo_fast and vo_accurate --> <!-- Default parameter settings: choose between vo_fast and vo_accurate -->
<rosparam file="$(find svo_ros)/param/vo_fast.yaml" /> <rosparam file="$(find svo_ros)/param/vo_fast.yaml" />
<!-- Initial camera orientation, make it point downwards --> <!-- Initial camera orientation, make it point downwards -->
<param name="init_rx" value="3.14" /> <param name="init_rx" value="3.14" />
<param name="init_ry" value="0.00" /> <param name="init_ry" value="0.00" />
@@ -18,4 +18,4 @@
</node> </node>
</launch> </launch>
+21
View File
@@ -0,0 +1,21 @@
<launch>
<node pkg="svo_ros" type="vo" name="svo" clear_params="true" output="screen">
<!-- Camera topic to subscribe to -->
<param name="cam_topic" value="/CoreNode/grey_img" type="str" />
<!-- Camera calibration file -->
<rosparam file="$(find svo_ros)/param/camera_pinhole.yaml" />
<!-- Default parameter settings: choose between vo_fast and vo_accurate -->
<rosparam file="$(find svo_ros)/param/vo_fast.yaml" />
<!-- Initial camera orientation, make it point downwards -->
<param name="init_rx" value="0.00" />
<param name="init_ry" value="0.00" />
<param name="init_rz" value="0.00" />
</node>
</launch>
+9 -9
View File
@@ -1,11 +1,11 @@
cam_model: Pinhole cam_model: Pinhole
cam_width: 752 cam_width: 640
cam_height: 480 cam_height: 480
cam_fx: 414.536145 cam_fx: 789.860721
cam_fy: 414.284429 cam_fy: 790.097440
cam_cx: 348.804988 cam_cx: 305.323524
cam_cy: 240.076451 cam_cy: 260.464072
cam_d0: -0.283076 cam_d0: 0.027470
cam_d1: 0.066674 cam_d1: -0.051518
cam_d2: 0.000896 cam_d2: 0.004375
cam_d3: 0.000778 cam_d3: -0.004028
+1
View File
@@ -116,6 +116,7 @@ void VoNode::imgCb(const sensor_msgs::ImageConstPtr& msg)
usleep(100000); usleep(100000);
} }
void VoNode::processUserActions() void VoNode::processUserActions()
{ {
char input = remote_input_.c_str()[0]; char input = remote_input_.c_str()[0];