10 #include <nav_msgs/Odometry.h> 11 #include <read_omni_dataset/BallData.h> 12 #include <read_omni_dataset/LRMLandmarksData.h> 15 #include <eigen3/Eigen/Core> 16 #include <eigen3/Eigen/Geometry> 19 #include <boost/bind.hpp> 20 #include <boost/ref.hpp> 21 #include <boost/shared_ptr.hpp> 31 #define STATES_PER_ROBOT 3 32 #define HEURISTICS_THRESH_DEFAULT \ 34 2.5, 2.5, 2.5, 2.5, FLT_MAX, FLT_MAX, 3.5, 3.5, FLT_MAX, FLT_MAX \ 41 typedef boost::shared_ptr<Robot>
Robot_ptr;
63 boost::shared_ptr<ParticleFilter>
pf;
93 ros::Subscriber
sOdom_, sBall_, sLandmark_;
118 void odometryCallback(
const nav_msgs::Odometry::ConstPtr&);
124 void targetCallback(
const read_omni_dataset::BallData::ConstPtr&);
131 landmarkDataCallback(
const read_omni_dataset::LRMLandmarksData::ConstPtr&);
void tryInitializeParticles()
tryInitializeParticles - checks if every robot is started, and if so, will initiate the particle filt...
boost::shared_ptr< Robot > Robot_ptr
void initializeFixedLandmarks()
initializeFixedLandmarks - will get a filename from the parameter server, and use its information to ...
RobotFactory(ros::NodeHandle &nh)
The RobotFactory class - Creates and keeps information on the robot running the algorithm and its tea...
bool areAllRobotsActive()
areAllTeammatesActive - uses each robot's public methods to check if they have started yet ...
boost::shared_ptr< ParticleFilter > pf
The Robot class - Has the common variables and methods of all robots, and is the base class of any sp...
Eigen::Isometry2d initPose_
bool hasStarted()
hasStarted
std::vector< Robot_ptr > robots_