tof_radar_controller.cpp
Go to the documentation of this file.
1 //
2 // Created by luotinkai on 2022/1/2.
3 //
4 
7 
8 namespace tof_radar_controller
9 {
11 {
12  const std::vector<std::string>& tof_radar_names = hw->getNames();
13  for (const auto& tof_radar_name : tof_radar_names)
14  ROS_DEBUG("Got radar %s", tof_radar_name.c_str());
15 
16  for (const auto& tof_radar_name : tof_radar_names)
17  {
18  // sensor handle
19  tof_radar_.push_back(hw->getHandle(tof_radar_name));
20 
21  // realtime publisher
22  tof_pub_.reset(
23  new realtime_tools::RealtimePublisher<rm_msgs::TofRadarData>(controller_nh, tof_radar_name + "/data", 100));
24  realtime_pubs_.push_back(tof_pub_);
25  }
26  return true;
27 }
28 
29 void Controller::update(const ros::Time& time, const ros::Duration& period)
30 {
31  for (unsigned int i = 0; i < realtime_pubs_.size(); ++i)
32  {
33  if (realtime_pubs_[i]->trylock())
34  {
35  realtime_pubs_[i]->msg_.distance = tof_radar_[i].getDistance() / 100.;
36  realtime_pubs_[i]->msg_.strength = tof_radar_[i].getStrength();
37  realtime_pubs_[i]->msg_.stamp = time;
38  realtime_pubs_[i]->unlockAndPublish();
39  }
40  }
41 }
42 
43 } // namespace tof_radar_controller
44 
tof_radar_controller::Controller::tof_pub_
RtpublisherPtr tof_pub_
Definition: tof_radar_controller.h:27
tof_radar_controller::Controller
Definition: tof_radar_controller.h:15
realtime_tools::RealtimePublisher
tof_radar_controller::Controller::tof_radar_
std::vector< rm_control::TofRadarHandle > tof_radar_
Definition: tof_radar_controller.h:25
controller_interface::ControllerBase
tof_radar_controller::Controller::realtime_pubs_
std::vector< RtpublisherPtr > realtime_pubs_
Definition: tof_radar_controller.h:28
PLUGINLIB_EXPORT_CLASS
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
ROS_DEBUG
#define ROS_DEBUG(...)
tof_radar_controller::Controller::update
void update(const ros::Time &time, const ros::Duration &period) override
Definition: tof_radar_controller.cpp:29
tof_radar_controller.h
ros::Time
rm_control::TofRadarInterface
class_list_macros.hpp
tof_radar_controller
Definition: tof_radar_controller.h:13
tof_radar_controller::Controller::init
bool init(rm_control::TofRadarInterface *hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh) override
Definition: tof_radar_controller.cpp:10
ros::Duration
ros::NodeHandle


tof_radar_controller
Author(s):
autogenerated on Sun May 4 2025 02:57:32