39 #ifndef KOBUKI_DOCK_DRIVE_HPP_ 40 #define KOBUKI_DOCK_DRIVE_HPP_ 71 bool init(){
return true; }
79 void update(
const std::vector<unsigned char> &signal
80 ,
const unsigned char &bumper
81 ,
const unsigned char &charger
110 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
115 void filterIRSensor(std::vector<unsigned char>& signal_filt,
const std::vector<unsigned char> &signal );
119 bool validateSignal(
const std::vector<unsigned char>& signal_filt,
const unsigned int state);
147 void setVel(
double v,
double w);
149 std::string
binary(
unsigned char number)
const;
void processBumpChargeEvent(const unsigned char &bumper, const unsigned char &charger)
void setMinAbsV(double mav)
void computePoseUpdate(ecl::LegacyPose2D< double > &pose_update, const ecl::LegacyPose2D< double > &pose)
compute pose update from previouse pose and current pose
unsigned int signal_window
std::string getDebugStream()
RobotDockingState::State determineRobotLocation(const std::vector< unsigned char > &signal_filt, const unsigned char &charger)
void modeShift(const std::string &mode)
RobotDockingState::State state
void bumped(RobotDockingState::State &nstate, double &nvx, double &nwz, int &bump_count)
void scan(RobotDockingState::State &state, double &vx, double &wz, const std::vector< unsigned char > &signal_filt, const ecl::LegacyPose2D< double > &pose_update, std::string &debug_str)
void find_stream(RobotDockingState::State &state, double &vx, double &wz, const std::vector< unsigned char > &signal_filt)
void setVel(double v, double w)
std::string getStateStr() const
RobotDockingState::State getState() const
std::string getDebugStr() const
void idle(RobotDockingState::State &state, double &vx, double &wz)
std::vector< std::string > ROBOT_STATE_STR
void filterIRSensor(std::vector< unsigned char > &signal_filt, const std::vector< unsigned char > &signal)
void updateVelocity(const std::vector< unsigned char > &signal_filt, const ecl::LegacyPose2D< double > &pose_update, std::string &debug_str)
std::vector< std::vector< unsigned char > > past_signals
bool validateSignal(const std::vector< unsigned char > &signal_filt, const unsigned int state)
void setMinAbsW(double maw)
void generateDebugMessage(const std::vector< unsigned char > &signal_filt, const unsigned char &bumper, const unsigned char &charger, const ecl::LegacyPose2D< double > &pose_update, const std::string &debug_str)
void get_stream(RobotDockingState::State &state, double &vx, double &wz, const std::vector< unsigned char > &signal_filt)
void aligned(RobotDockingState::State &state, double &vx, double &wz, const std::vector< unsigned char > &signal_filt, std::string &debug_str)
void velocityCommands(const double &vx, const double &wz)
ecl::LegacyPose2D< double > pose_priv
void update(const std::vector< unsigned char > &signal, const unsigned char &bumper, const unsigned char &charger, const ecl::LegacyPose2D< double > &pose)
Updates the odometry from firmware stamps and encoders.
std::string binary(unsigned char number) const