8 #include <visualization_msgs/Marker.h> 9 #include <visualization_msgs/MarkerArray.h> 10 #include "ORCAStar/AgentState.h" 23 void Update(
const ORCAStar::AgentState &msg)
25 uint32_t shape = visualization_msgs::Marker::CYLINDER;
26 visualization_msgs::MarkerArray agents;
27 agents.markers.clear();
29 for(
size_t i = 0; i < msg.pos.size(); i++)
31 visualization_msgs::Marker marker;
32 marker.header.frame_id =
"/my_frame";
33 marker.header.stamp = ros::Time::now();
35 marker.ns =
"basic_shapes";
40 marker.action = visualization_msgs::Marker::ADD;
42 marker.pose.position.x = msg.pos[i].x;
43 marker.pose.position.y = msg.pos[i].y;
44 marker.pose.position.z = 0.15;
46 marker.pose.orientation.x = 0.0;
47 marker.pose.orientation.y = 0.0;
48 marker.pose.orientation.z = 0.0;
49 marker.pose.orientation.w = 1.0;
52 marker.scale.y = 2 * msg.rad[i];
53 marker.scale.x = 2 * msg.rad[i];
55 marker.color.r = 1.0f;
56 marker.color.g = 0.0f;
57 marker.color.b = 0.0f;
60 marker.lifetime = ros::Duration();
61 agents.markers.push_back(marker);
68 int main(
int argc,
char** argv )
70 ros::init(argc, argv,
"basic_shapes");
73 marker_pub = n.advertise<visualization_msgs::MarkerArray>(
"visualization_marker", 1);
75 ros::Subscriber ROSSimActorSub = n.subscribe(
"AgentStates", 1000,
Update);
int main(int argc, char **argv)
ros::Publisher marker_pub
ROS publisher for visualization markers.
void Update(const ORCAStar::AgentState &msg)
Updates visualisation every time, when message appears.