Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include "jsk_footstep_planner/footstep_conversions.h"
00037 #include "jsk_recognition_utils/pcl_conversion_util.h"
00038
00039 namespace jsk_footstep_planner
00040 {
00041 jsk_footstep_msgs::Footstep footstepFromEigenPose(Eigen::Affine3f pose)
00042 {
00043 jsk_footstep_msgs::Footstep footstep;
00044 tf::poseEigenToMsg(pose, footstep.pose);
00045 return footstep;
00046 }
00047 jsk_footstep_msgs::Footstep footstepFromEigenPose(Eigen::Affine3d pose)
00048 {
00049 jsk_footstep_msgs::Footstep footstep;
00050 tf::poseEigenToMsg(pose, footstep.pose);
00051 return footstep;
00052 }
00053
00054 visualization_msgs::Marker footstepToMarker(const jsk_footstep_msgs::Footstep& footstep,
00055 const std_msgs::Header& header)
00056 {
00057 visualization_msgs::Marker marker;
00058 marker.header = header;
00059 marker.type = visualization_msgs::Marker::CUBE;
00060 marker.scale = footstep.dimensions;
00061 marker.color.a = 1.0;
00062 marker.pose = footstep.pose;
00063 if (footstep.leg == jsk_footstep_msgs::Footstep::LEFT) {
00064 marker.color.g = 1.0;
00065 }
00066 else {
00067 marker.color.r = 1.0;
00068 }
00069 return marker;
00070 }
00071
00072 visualization_msgs::MarkerArray footstepArrayToMarkerArray(const jsk_footstep_msgs::FootstepArray& footstep_array)
00073 {
00074 visualization_msgs::MarkerArray marker_array;
00075 for (size_t i = 0; i < footstep_array.footsteps.size(); i++) {
00076 jsk_footstep_msgs::Footstep footstep = footstep_array.footsteps[i];
00077 visualization_msgs::Marker marker = footstepToMarker(footstep, footstep_array.header);
00078 marker_array.markers.push_back(marker);
00079 }
00080 return marker_array;
00081 }
00082 }