Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. void minimumJerkHelper::visualizeTrajectory()
  2. {
  3. if (visualize_trajectory_at_each_replanning_)
  4. {
  5.  
  6. visualization_msgs::MarkerArray delete_msg;
  7. for (int i = 0; i < 10000; i++)
  8. {
  9. visualization_msgs::Marker marker_msg;
  10. marker_msg.header.frame_id = "world";
  11. marker_msg.action = visualization_msgs::Marker::DELETE;
  12. marker_msg.id = i;
  13. delete_msg.markers.push_back(marker_msg);
  14. }
  15. trajectory_visualization_pub_.publish(delete_msg);
  16.  
  17. // send visualization markers
  18. visualization_msgs::MarkerArray msg;
  19.  
  20. Eigen::Vector3d gravity_vector(0.0, 0.0, -9.81);
  21.  
  22. visualization_msgs::Marker marker;
  23. int marker_id = 0;
  24.  
  25. std::list < quad_common::QuadDesiredState > trajectory = trajectory_;
  26. quad_common::QuadDesiredState state_a, state_b;
  27.  
  28. for (auto it = trajectory.begin(), end = std::prev(trajectory.end(), 1);
  29. it != end; ++it)
  30. {
  31.  
  32. marker.header.frame_id = "world";
  33. marker.pose.orientation.w = 1.0;
  34.  
  35. state_a = *it;
  36. state_b = *std::next(it, 1);
  37.  
  38. marker.points.push_back(
  39. quad_common::vectorToPoint(
  40. quad_common::eigenToGeometry(state_a.position)));
  41.  
  42. marker.points.push_back(
  43. quad_common::vectorToPoint(
  44. quad_common::eigenToGeometry(state_b.position)));
  45.  
  46. marker.id = marker_id;
  47. marker.action = visualization_msgs::Marker::ADD;
  48. marker.type = visualization_msgs::Marker::LINE_STRIP;
  49. marker.scale.x = 0.015;
  50. marker.scale.y = 0.015;
  51. marker.scale.z = 0.015;
  52.  
  53. marker.color.r = 0.0;
  54. marker.color.g = 1.0;
  55. marker.color.b = 0.0;
  56.  
  57. marker.color.a = 1.0;
  58. msg.markers.push_back(marker);
  59.  
  60. marker_id++;
  61. }
  62.  
  63. trajectory_visualization_pub_.publish(msg);
  64. }
  65.  
  66. else
  67. {
  68. ROS_WARN(
  69. "[%s] Visualization is disabled in the config, please enable it to see the trajectory in RVIZ",
  70. ros::this_node::getName().c_str());
  71. }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement