driving_aid_marker_node.cpp
Go to the documentation of this file.
1 #include <ros/ros.h>
2 #include <visualization_msgs/MarkerArray.h>
3 
5 {
6 public:
8  {
9 
10  ros::NodeHandle pnh("~");
11 
12  pnh.param("left_side_y_outer", p_left_side_y_outer_, 0.0);
13  pnh.param("left_side_y_inner", p_left_side_y_inner_, 0.0);
14  pnh.param("right_side_y_outer", p_right_side_y_outer_, 0.0);
15  pnh.param("right_side_y_inner", p_right_side_y_inner_, 0.0);
16  pnh.param("offset_z", p_offset_z_, -0.112-0.07);
17 
19  marker_pub_ = pnh.advertise<visualization_msgs::MarkerArray>("driving_aid", 1,false);
20 
21  visualization_msgs::Marker marker;
22  //marker.header.stamp = req.point.header.stamp;
23  marker.header.frame_id = "/base_link";
24  marker.type = visualization_msgs::Marker::LINE_LIST;
25  marker.action = visualization_msgs::Marker::ADD;
26  marker.color.r= 1.0;
27  marker.color.a = 1.0;
28  marker.scale.x = 0.02;
29  marker.ns ="wheel_footprint";
30  marker.action = visualization_msgs::Marker::ADD;
31  marker.pose.orientation.w = 1.0;
32 
33  std::vector<geometry_msgs::Point> point_vector;
34 
35  geometry_msgs::Point tmp;
36  tmp.x = -1.5;
37  tmp.z = p_offset_z_;
38  tmp.y = p_left_side_y_outer_;
39  point_vector.push_back(tmp);
40  tmp.x = 1.5;
41  point_vector.push_back(tmp);
42 
43  tmp.x = -1.5;
44  tmp.y = p_left_side_y_inner_;
45  point_vector.push_back(tmp);
46  tmp.x = 1.5;
47  point_vector.push_back(tmp);
48 
49  tmp.x = -1.5;
50  tmp.y = p_right_side_y_outer_;
51  point_vector.push_back(tmp);
52  tmp.x = 1.5;
53  point_vector.push_back(tmp);
54 
55  tmp.x = -1.5;
56  tmp.y = p_right_side_y_inner_;
57  point_vector.push_back(tmp);
58  tmp.x = 1.5;
59  point_vector.push_back(tmp);
60 
61 
62  marker.points = point_vector;
63 
64  marker_array_.markers.push_back(marker);
65  }
66 
68  {
69 
70  }
71 
72  void pubTimerCallback(const ros::TimerEvent& event)
73  {
74  if (marker_pub_.getNumSubscribers() > 0){
75  marker_array_.markers[0].header.stamp = ros::Time::now();
77  }
78  }
79 
80 protected:
81  visualization_msgs::MarkerArray marker_array_;
82 
87  double p_offset_z_;
88 
91 };
92 
93 int main (int argc, char** argv)
94 {
95  ros::init(argc,argv,"hector_driving_aid_marker_node");
96 
97  DrivingAidMarker driving_aid_marker;
98 
99  ros::spin();
100 
101  return (-1);
102 }
void pubTimerCallback(const ros::TimerEvent &event)
void publish(const boost::shared_ptr< M > &message) const
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
int main(int argc, char **argv)
bool param(const std::string &param_name, T &param_val, const T &default_val) const
Timer createTimer(Rate r, Handler h, Obj o, bool oneshot=false, bool autostart=true) const
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
ROSCPP_DECL void spin()
uint32_t getNumSubscribers() const
static Time now()
visualization_msgs::MarkerArray marker_array_


hector_driving_aid_markers
Author(s):
autogenerated on Mon Jun 10 2019 13:34:28