ROS中marker的mesh_resource的使用案例

在rviz中可以加载visualization_msgs::MarkerArray类型,这其中可以加载mesh_resource类型的marker,例子如下:

visualization_msgs::MarkerArray generateCarModel(nav_msgs::Odometry loc_info) {
  visualization_msgs::MarkerArray markerArray_msg;
  visualization_msgs::Marker car_mesh;
  car_mesh.header.stamp = ros::Time::now();
  car_mesh.header.frame_id = "map";
  car_mesh.type = visualization_msgs::Marker::MESH_RESOURCE;
  car_mesh.action = visualization_msgs::Marker::ADD;
  car_mesh.id = 0;
  car_mesh.mesh_resource =
      "file:///home/pi_catkin_ws/src/data/car.dae";
  car_mesh.pose.position = loc_info.pose.pose.position;

  tf::Quaternion tf_quat;
  tf::quaternionMsgToTF(loc_info.pose.pose.orientation, tf_quat);
  double roll, pitch, yaw;
  tf::Matrix3x3(tf_quat).getRPY(roll, pitch, yaw);
  tf::Quaternion q;
  q.setRPY(roll + M_PI_2, pitch, yaw + M_PI);
  geometry_msgs::Quaternion msg_q;
  tf::quaternionTFToMsg(q, msg_q);

  car_mesh.pose.orientation = msg_q;
  car_mesh.color.a = 1.0;
  car_mesh.color.r = 1.0;
  car_mesh.color.g = 0.0;
  car_mesh.color.b = 0.0;

  float major_scale = 1.0;

  car_mesh.scale.x = major_scale;
  car_mesh.scale.y = major_scale;
  car_mesh.scale.z = major_scale;
  markerArray_msg.markers.push_back(car_mesh);
  return markerArray_msg;
}

模型可以使用dae模型

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值