1 #ifndef ABSTRACT_ROBOT_
2 #define ABSTRACT_ROBOT_
5 #include <tf2/LinearMath/Transform.h>
10 #define right_size tf2::Vector3(0.7f, 0.5f, 0.01f)
11 #define left_size tf2::Vector3(0.7f, 0.5f, 0.01f)
12 #define mid_size tf2::Vector3(0.5f, 0.7f, 0.01f)
39 root_tf_= tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(-0.22f, 0,
tf.getOrigin().getZ()));
41 bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3( 0.4f, 0.4f,
tf.getOrigin().getZ())));
42 bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(-0.4f, 0.4f,
tf.getOrigin().getZ())));
43 bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(-0.4f, -0.4f,
tf.getOrigin().getZ())));
44 bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3( 0.4f, -0.4f,
tf.getOrigin().getZ())));
46 robot_root_bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(0.113f, 0.095f, 0)));
47 robot_root_bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(-0.113f, 0.095f, 0)));
48 robot_root_bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(-0.113f, -0.095f, 0)));
49 robot_root_bounds_.push_back(tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(0.113f, -0.095f, 0)));
58 inline tf2::Transform&
tf() {
return tf_;}
65 inline void rotate(
float deg) {tf2::Quaternion rot; rot.setRPY(0,0,deg); tf2::Transform t(rot, tf2::Vector3(0,0,0));
tf_=
tf_* t;}
66 inline void translate(tf2::Vector3 t) {tf2::Transform
tf(tf2::Quaternion(0,0,0,1), t);
tf_*=
tf;}
74 virtual void workload_checker(std::vector<int>& count_vector, tf2::Transform& obj) =0;