AUV-Coop-Assembly
Master Thesis for Robotics Engineering. Cooperative peg-in-hole assembly with two underwater vehicles guided by vision
visionInterfaceCoord.cpp
1 #include "header/visionInterfaceCoord.h"
2 
3 VisionInterfaceCoord::VisionInterfaceCoord(
4  ros::NodeHandle nh, std::string nodeName)
5 {
6  this->nodeName = nodeName;
7  this->topicRoot = "/uwsim/Vision/";
8  std::cout << "[" << nodeName <<"][VISION_INTERFACE] Start"<<std::endl;
9 
10  std::string topicHole = topicRoot + "holePose";
11  subHoleTransform = nh.subscribe(
12  topicHole, 1, &VisionInterfaceCoord::subHoleTransformCallback, this);
13  arrived = false;
14 
15 }
16 
17 
18 void VisionInterfaceCoord::subHoleTransformCallback(
19  const geometry_msgs::TransformStamped::ConstPtr& msg){
20 
21  this->wThole_priv = msg->transform;
22  arrived = true;
23 
24 
25 }
26 
27 int VisionInterfaceCoord::getHoleTransform(Eigen::Matrix4d *wThole){
28 
29  if (arrived){
30  *wThole = CONV::transfMatrix_geomMsgs2Eigen(wThole_priv);
31  arrived = false;
32  return 0;
33  } else {
34  return 1;
35  }
36 
37 }
38