NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
imu_bias_extrapolator.h
Go to the documentation of this file.
1 /* Copyright (c) 2017, United States Government, as represented by the
2  * Administrator of the National Aeronautics and Space Administration.
3  *
4  * All rights reserved.
5  *
6  * The Astrobee platform is licensed under the Apache License, Version 2.0
7  * (the "License"); you may not use this file except in compliance with the
8  * License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15  * License for the specific language governing permissions and limitations
16  * under the License.
17  */
18 
19 #ifndef LOCALIZATION_ANALYSIS_IMU_BIAS_EXTRAPOLATOR_H_
20 #define LOCALIZATION_ANALYSIS_IMU_BIAS_EXTRAPOLATOR_H_
21 
22 #include <ff_msgs/GraphVIOState.h>
25 
26 #include <rosbag/bag.h>
27 #include <rosbag/view.h>
28 
29 #include <string>
30 #include <vector>
31 
32 namespace localization_analysis {
34  public:
35  ImuBiasExtrapolator(const std::string& input_bag_name, const std::string& output_bag_name);
36  bool Initialized();
37  void Initialize(const localization_common::CombinedNavState& combined_nav_state);
38  std::vector<localization_common::CombinedNavState> VIOStateCallback(
39  const ff_msgs::GraphVIOState& graph_vio_state_msg);
40  void AddExtrapolatedStates();
41 
42  private:
43  std::unique_ptr<imu_integration::ImuIntegrator> imu_integrator_;
45  localization_common::CombinedNavState latest_extrapolated_state_;
46  bool initialized_;
47  rosbag::Bag input_bag_;
48  rosbag::Bag output_bag_;
49 };
50 } // end namespace localization_analysis
51 
52 #endif // LOCALIZATION_ANALYSIS_IMU_BIAS_EXTRAPOLATOR_H_
localization_common::CombinedNavState
Definition: combined_nav_state.h:48
localization_analysis
Definition: ar_tag_pose_adder.h:29
localization_analysis::ImuBiasExtrapolator::Initialize
void Initialize(const localization_common::CombinedNavState &combined_nav_state)
Definition: imu_bias_extrapolator.cc:67
timestamped_set.h
localization_common::TimestampedSet< localization_common::CombinedNavState >
localization_analysis::ImuBiasExtrapolator
Definition: imu_bias_extrapolator.h:33
localization_analysis::ImuBiasExtrapolator::AddExtrapolatedStates
void AddExtrapolatedStates()
Definition: imu_bias_extrapolator.cc:107
imu_integrator.h
localization_analysis::ImuBiasExtrapolator::Initialized
bool Initialized()
Definition: imu_bias_extrapolator.cc:65
localization_analysis::ImuBiasExtrapolator::VIOStateCallback
std::vector< localization_common::CombinedNavState > VIOStateCallback(const ff_msgs::GraphVIOState &graph_vio_state_msg)
Definition: imu_bias_extrapolator.cc:73
localization_analysis::ImuBiasExtrapolator::ImuBiasExtrapolator
ImuBiasExtrapolator(const std::string &input_bag_name, const std::string &output_bag_name)
Definition: imu_bias_extrapolator.cc:48