30 #include <boost/archive/text_oarchive.hpp> 31 #include <boost/archive/text_iarchive.hpp> 32 #include <boost/serialization/string.hpp> 33 #include <boost/serialization/vector.hpp> 50 Base() : x(0),y(0),z(0),vx(0),vy(0),vz(0),valid(-1){}
52 Base(
float x_,
float y_,
float z_,
float vx_,
float vy_,
float vz_,
int valid_) : x(x_),y(y_),z(z_),vx(vx_),vy(vy_),vz(vz_),valid(valid_){}
71 NeighborBase():distance(0),azimuth(0),elevation(0),x(0),y(0),z(0),vx(0),vy(0),vz(0){}
72 NeighborBase(
float distance_,
float azimuth_,
float elevation_,
float x_,
float y_,
float z_,
float vx_,
float vy_,
float vz_)
73 :distance(distance_),azimuth(azimuth_),elevation(elevation_),x(x_),y(y_),z(z_),vx(vx_),vy(vy_),vz(vz_){}
82 NeighborSwarmTuple(
const std::vector<int>& swarm_id_vector_,
int age_):swarm_id_vector(swarm_id_vector_), age(age_){}
88 swarm_id_vector.push_back(swarm_id);
93 swarm_id_vector.erase(std::remove(swarm_id_vector.begin(), swarm_id_vector.end(), swarm_id), swarm_id_vector.end());
98 std::vector<int>::iterator it;
99 it = std::find(swarm_id_vector.begin(), swarm_id_vector.end(), swarm_id);
101 if(it != swarm_id_vector.end()) {
120 :vstig_value(value_), lamport_clock(clock_), write_timestamp(time_), read_count(count_), robot_id(id_){}
124 for(
int i = 0; i < vstig_value.size(); i++) {
125 std::cout<<vstig_value[i];
127 std::cout<<
", "<<lamport_clock<<
", "<<write_timestamp<<
", "<<read_count<<
", "<<robot_id<<std::endl;
133 time_t t = time(NULL) - write_timestamp;
134 Pw = pow(2, - (t - (t % 5)) / 5);
135 if(read_count >= 100) {
139 Pr = read_count/100.0;
158 :bb_value(value_), timestamp(timestamp_), robot_id(id_){}
162 for(
int i = 0; i < bb_value.size(); i++) {
163 std::cout<<bb_value[i];
165 std::cout<<
", "<<timestamp<<
", "<<robot_id<<std::endl;
178 SCDSPSODataTuple(
const std::string& key_,
const std::vector<float> pos_,
float val_,
int robot_id_,
int gen_, time_t timestamp_)
179 :pos(pos_), val(val_), robot_id(robot_id_), gen(gen_), timestamp(timestamp_){}
183 for(
int i = 0; i < pos.size(); i++) {
184 std::cout<<pos[i]<<
" ";
186 std::cout<<
", "<<val<<
", "<<robot_id<<
", "<<gen<<timestamp<<std::endl;
BlackBoardTuple(const std::vector< uint8_t > &value_, const ros::Time ×tamp_, int id_)
std::vector< uint8_t > vstig_value
Base(float x_, float y_, float z_, float vx_, float vy_, float vz_, int valid_)
SCDSPSODataTuple(const std::string &key_, const std::vector< float > pos_, float val_, int robot_id_, int gen_, time_t timestamp_)
void addSwarmID(int swarm_id)
NeighborBase(float distance_, float azimuth_, float elevation_, float x_, float y_, float z_, float vx_, float vy_, float vz_)
std::vector< int > swarm_id_vector
void removeSwarmID(int swarm_id)
std::vector< uint8_t > bb_value
VirtualStigmergyTuple(const std::vector< uint8_t > &value_, int clock_, time_t time_, unsigned int count_, int id_)
NeighborSwarmTuple(const std::vector< int > &swarm_id_vector_, int age_)
bool swarmIDExist(int swarm_id)