KinematicInertialObserver.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2019 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
7 #include <mc_filter/LowPass.h>
9 #include <mc_observers/api.h>
10 
11 namespace mc_observers
12 {
21 {
22  KinematicInertialObserver(const std::string & type, double dt)
23  : KinematicInertialPoseObserver(type, dt), velFilter_(dt, 2 * dt)
24  {
25  }
26 
27  void configure(const mc_control::MCController & ctl, const mc_rtc::Configuration & config) override;
28 
36  void reset(const mc_control::MCController & ctl) override;
37 
46  void reset(const mc_control::MCController & ctl, const sva::MotionVecd & velW);
47  bool run(const mc_control::MCController & ctl) override;
48  void update(mc_control::MCController & ctl) override;
49 
54  const sva::MotionVecd & velW() const;
55 
56 protected:
57  void addToLogger(const mc_control::MCController & ctl, mc_rtc::Logger &, const std::string & category) override;
58  void addToGUI(const mc_control::MCController &,
60  const std::vector<std::string> & category) override;
61 
62 private:
63  bool showVelocity_ = true;
64  mc_rtc::gui::ArrowConfig velocityArrowConfig_;
65 
68  sva::PTransformd posWPrev_ = sva::PTransformd::Identity();
69 
74  sva::MotionVecd velW_ = sva::MotionVecd::Zero();
75 
76  bool logVelocity_ = true;
77 
78 private:
81 };
82 } // namespace mc_observers
mc_rtc::Configuration
Simplify access to values hold within a JSON file.
Definition: Configuration.h:165
KinematicInertialPoseObserver.h
mc_observers::KinematicInertialObserver::KinematicInertialObserver
KinematicInertialObserver(const std::string &type, double dt)
Definition: KinematicInertialObserver.h:22
MC_OBSERVER_DLLAPI
#define MC_OBSERVER_DLLAPI
Definition: api.h:92
mc_observers::KinematicInertialPoseObserver
Definition: KinematicInertialPoseObserver.h:38
mc_rtc::gui::ArrowConfig
Definition: types.h:205
mc_rtc::Logger
Logs controller data to disk.
Definition: Logger.h:29
mc_filter::LowPass< sva::MotionVecd >
mc_rtc::gui::StateBuilder
Definition: StateBuilder.h:27
mc_observers::KinematicInertialPoseObserver::reset
void reset(const mc_control::MCController &ctl) override
mc_observers
Definition: BodySensorObserver.h:13
mc_control::MCController
MCController is the base class to implement all controllers. It assumes that at least two robots are ...
Definition: MCController.h:98
mc_observers::KinematicInertialObserver
Definition: KinematicInertialObserver.h:20
LowPass.h
api.h