#include "ar_track_alvar/CvTestbed.h"
#include "ar_track_alvar/MarkerDetector.h"
#include "ar_track_alvar/MultiMarkerBundle.h"
#include "ar_track_alvar/MultiMarkerInitializer.h"
#include "ar_track_alvar/Shared.h"
#include <cv_bridge/cv_bridge.h>
#include <ar_track_alvar_msgs/AlvarMarker.h>
#include <ar_track_alvar_msgs/AlvarMarkers.h>
#include <tf/transform_listener.h>
#include <tf/transform_broadcaster.h>
#include <sensor_msgs/PointCloud2.h>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/point_types.h>
#include <pcl/registration/icp.h>
#include <pcl/registration/registration.h>
#include <geometry_msgs/PoseStamped.h>
#include <sensor_msgs/image_encodings.h>
#include <ros/ros.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/sample_consensus/method_types.h>
#include <pcl/sample_consensus/model_types.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl_ros/point_cloud.h>
#include <pcl/filters/extract_indices.h>
#include <boost/lexical_cast.hpp>
#include <tf/tf.h>
#include <Eigen/Core>
#include <ar_track_alvar/filter/kinect_filtering.h>
#include <ar_track_alvar/filter/medianFilter.h>
Go to the source code of this file.
Macros | |
#define | GHOST_MARKER 3 |
#define | MAIN_MARKER 1 |
#define | VISIBLE_MARKER 2 |
Typedefs | |
typedef pcl::PointCloud< ARPoint > | ARCloud |
typedef pcl::PointXYZRGB | ARPoint |
Functions | |
int | calcAndSaveMasterCoords (MultiMarkerBundle &master) |
void | draw3dPoints (ARCloud::Ptr cloud, string frame, int color, int id, double rad) |
void | drawArrow (gm::Point start, tf::Matrix3x3 mat, string frame, int color, int id) |
void | GetMultiMarkerPoses (IplImage *image, ARCloud &cloud) |
void | getPointCloudCallback (const sensor_msgs::PointCloud2ConstPtr &msg) |
int | InferCorners (const ARCloud &cloud, MultiMarkerBundle &master, ARCloud &bund_corners) |
int | main (int argc, char *argv[]) |
void | makeMarkerMsgs (int type, int id, Pose &p, sensor_msgs::ImageConstPtr image_msg, tf::StampedTransform &CamToOutput, visualization_msgs::Marker *rvizMarker, ar_track_alvar_msgs::AlvarMarker *ar_pose_marker, int confidence) |
int | makeMasterTransform (const CvPoint3D64f &p0, const CvPoint3D64f &p1, const CvPoint3D64f &p2, const CvPoint3D64f &p3, tf::Transform &retT) |
int | PlaneFitPoseImprovement (int id, const ARCloud &corners_3D, ARCloud::Ptr selected_points, const ARCloud &cloud, Pose &p) |
Variables | |
ros::Publisher | arMarkerPub_ |
ar_track_alvar_msgs::AlvarMarkers | arPoseMarkers_ |
std::vector< int > * | bundle_indices |
Pose * | bundlePoses |
int * | bundles_seen |
Camera * | cam |
std::string | cam_image_topic |
std::string | cam_info_topic |
image_transport::Subscriber | cam_sub_ |
ros::Subscriber | cloud_sub_ |
cv_bridge::CvImagePtr | cv_ptr_ |
bool | init = true |
MarkerDetector< MarkerData > | marker_detector |
double | marker_size |
int * | master_id |
bool * | master_visible |
double | max_new_marker_error |
double | max_track_error |
int | med_filt_size |
ata::MedianFilter ** | med_filts |
MultiMarkerBundle ** | multi_marker_bundles =NULL |
int | n_bundles = 0 |
std::string | output_frame |
ros::Publisher | rvizMarkerPub2_ |
ros::Publisher | rvizMarkerPub_ |
tf::TransformBroadcaster * | tf_broadcaster |
tf::TransformListener * | tf_listener |
#define GHOST_MARKER 3 |
Definition at line 73 of file FindMarkerBundles.cpp.
#define MAIN_MARKER 1 |
Definition at line 71 of file FindMarkerBundles.cpp.
#define VISIBLE_MARKER 2 |
Definition at line 72 of file FindMarkerBundles.cpp.
typedef pcl::PointCloud<ARPoint> ARCloud |
Definition at line 79 of file FindMarkerBundles.cpp.
typedef pcl::PointXYZRGB ARPoint |
Definition at line 78 of file FindMarkerBundles.cpp.
int calcAndSaveMasterCoords | ( | MultiMarkerBundle & | master | ) |
Definition at line 729 of file FindMarkerBundles.cpp.
void draw3dPoints | ( | ARCloud::Ptr | cloud, |
string | frame, | ||
int | color, | ||
int | id, | ||
double | rad | ||
) |
Definition at line 116 of file FindMarkerBundles.cpp.
void drawArrow | ( | gm::Point | start, |
tf::Matrix3x3 | mat, | ||
string | frame, | ||
int | color, | ||
int | id | ||
) |
Definition at line 164 of file FindMarkerBundles.cpp.
void GetMultiMarkerPoses | ( | IplImage * | image, |
ARCloud & | cloud | ||
) |
Definition at line 375 of file FindMarkerBundles.cpp.
void getPointCloudCallback | ( | const sensor_msgs::PointCloud2ConstPtr & | msg | ) |
Definition at line 593 of file FindMarkerBundles.cpp.
int InferCorners | ( | const ARCloud & | cloud, |
MultiMarkerBundle & | master, | ||
ARCloud & | bund_corners | ||
) |
Definition at line 218 of file FindMarkerBundles.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 769 of file FindMarkerBundles.cpp.
void makeMarkerMsgs | ( | int | type, |
int | id, | ||
Pose & | p, | ||
sensor_msgs::ImageConstPtr | image_msg, | ||
tf::StampedTransform & | CamToOutput, | ||
visualization_msgs::Marker * | rvizMarker, | ||
ar_track_alvar_msgs::AlvarMarker * | ar_pose_marker, | ||
int | confidence | ||
) |
Definition at line 504 of file FindMarkerBundles.cpp.
int makeMasterTransform | ( | const CvPoint3D64f & | p0, |
const CvPoint3D64f & | p1, | ||
const CvPoint3D64f & | p2, | ||
const CvPoint3D64f & | p3, | ||
tf::Transform & | retT | ||
) |
Definition at line 678 of file FindMarkerBundles.cpp.
int PlaneFitPoseImprovement | ( | int | id, |
const ARCloud & | corners_3D, | ||
ARCloud::Ptr | selected_points, | ||
const ARCloud & | cloud, | ||
Pose & | p | ||
) |
Definition at line 293 of file FindMarkerBundles.cpp.
ros::Publisher arMarkerPub_ |
Definition at line 89 of file FindMarkerBundles.cpp.
ar_track_alvar_msgs::AlvarMarkers arPoseMarkers_ |
Definition at line 92 of file FindMarkerBundles.cpp.
std::vector<int>* bundle_indices |
Definition at line 102 of file FindMarkerBundles.cpp.
Pose* bundlePoses |
Definition at line 98 of file FindMarkerBundles.cpp.
int* bundles_seen |
Definition at line 100 of file FindMarkerBundles.cpp.
Camera* cam |
Definition at line 85 of file FindMarkerBundles.cpp.
std::string cam_image_topic |
Definition at line 110 of file FindMarkerBundles.cpp.
std::string cam_info_topic |
Definition at line 111 of file FindMarkerBundles.cpp.
image_transport::Subscriber cam_sub_ |
Definition at line 87 of file FindMarkerBundles.cpp.
ros::Subscriber cloud_sub_ |
Definition at line 88 of file FindMarkerBundles.cpp.
cv_bridge::CvImagePtr cv_ptr_ |
Definition at line 86 of file FindMarkerBundles.cpp.
bool init = true |
Definition at line 103 of file FindMarkerBundles.cpp.
MarkerDetector<MarkerData> marker_detector |
Definition at line 95 of file FindMarkerBundles.cpp.
double marker_size |
Definition at line 107 of file FindMarkerBundles.cpp.
int* master_id |
Definition at line 99 of file FindMarkerBundles.cpp.
bool* master_visible |
Definition at line 101 of file FindMarkerBundles.cpp.
double max_new_marker_error |
Definition at line 108 of file FindMarkerBundles.cpp.
double max_track_error |
Definition at line 109 of file FindMarkerBundles.cpp.
int med_filt_size |
Definition at line 105 of file FindMarkerBundles.cpp.
ata::MedianFilter** med_filts |
Definition at line 104 of file FindMarkerBundles.cpp.
MultiMarkerBundle** multi_marker_bundles =NULL |
Definition at line 96 of file FindMarkerBundles.cpp.
int n_bundles = 0 |
Definition at line 113 of file FindMarkerBundles.cpp.
std::string output_frame |
Definition at line 112 of file FindMarkerBundles.cpp.
ros::Publisher rvizMarkerPub2_ |
Definition at line 91 of file FindMarkerBundles.cpp.
ros::Publisher rvizMarkerPub_ |
Definition at line 90 of file FindMarkerBundles.cpp.
tf::TransformBroadcaster* tf_broadcaster |
Definition at line 94 of file FindMarkerBundles.cpp.
tf::TransformListener* tf_listener |
Definition at line 93 of file FindMarkerBundles.cpp.