3 #include "toposens_msgs/TsScan.h"
12 ss <<
"can_device: " <<
can_device << std::endl;
16 ss <<
"frame_id: " <<
frame_id << std::endl;
18 ss <<
"loop_rate_hz: " << std::fixed << std::to_string(
loop_rate_hz) << std::endl;
19 ss <<
"temperature: " << std::to_string(
temperature) << std::endl;
50 ROS_WARN(
"One or more parameters could not be loaded properly!\nParameters:\n%s",
56 -> toposens_msgs::TsScan
58 toposens_msgs::TsScan msg;
61 constexpr
auto scaling_factor =
double{1000.0};
63 for (
auto i = 0; i < session_data->NumberOf3DPoints; ++i)
65 toposens_msgs::TsPoint point;
67 point.location.x = session_data->Point3D_tp[i].Z_i16 / scaling_factor;
69 point.location.y = -session_data->Point3D_tp[i].X_i16 / scaling_factor;
71 point.location.z = -session_data->Point3D_tp[i].Y_i16 / scaling_factor;
73 point.intensity = session_data->Point3D_tp[i].Intensity_u8;
75 msg.points.push_back(point);
78 msg.noisy = session_data->NoiseLevel_u16;
81 msg.header.frame_id = parameters.target_frame;
87 const tf::Quaternion& q,
const std::string& from,
const std::string& to)
88 -> geometry_msgs::TransformStamped
90 geometry_msgs::TransformStamped msg;
93 msg.header.frame_id = from;
94 msg.child_frame_id = to;
95 msg.transform.translation.x = trans.at(0);
96 msg.transform.translation.y = trans.at(1);
97 msg.transform.translation.z = trans.at(2);
98 msg.transform.rotation.x = q.getX();
99 msg.transform.rotation.y = q.getY();
100 msg.transform.rotation.z = q.getZ();
101 msg.transform.rotation.w = q.getW();