22 #include <geometry_msgs/Twist.h> 23 #include <visualization_msgs/Marker.h> 24 #include <visualization_msgs/MarkerArray.h> 32 TwistMarker(
double scale = 1.0,
double z = 0.0,
const std::string& frame_id =
"base_footprint")
39 marker_.type = visualization_msgs::Marker::ARROW;
63 marker_.points[1].x = twist.linear.x;
65 if (fabs(twist.linear.y) > fabs(twist.angular.z))
67 marker_.points[1].y = twist.linear.y;
71 marker_.points[1].y = twist.angular.z;
97 pub_ = nh.
advertise<visualization_msgs::Marker>(
"marker", 1,
true);
105 pub_.publish(
marker_.getMarker());
visualization_msgs::Marker marker_
void callback(const geometry_msgs::TwistConstPtr &twist)
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
int main(int argc, char *argv[])
void update(const geometry_msgs::Twist &twist)
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
TwistMarker(double scale=1.0, double z=0.0, const std::string &frame_id="base_footprint")
TwistMarkerPublisher(double scale=1.0, double z=0.0)
const visualization_msgs::Marker & getMarker()