catkin source modified - Jeonda/kaldeep GitHub Wiki
darknet_yolo
line 146: imageSubscriber_ = imageTransport_.subscribe("/jetbot_camera/raw", cameraQueueSize, &YoloObjectDetector::cameraCallback, this);
line 517: if (viewImage_) { //displayInThread(0); generate_image(buff_[(buffIndex_ + 1) % 3], ipl_);
} else {
line 535: } cvWriteFrame(output_video, ipl_);
} cvReleaseVideoWriter(&output_video);
cmakelist. txt find_package(catkin REQUIRED COMPONENTS roscpp rospy geometry_msgs std_msgs sensor_msgs darknet_ros )
offboard_mode.cpp //darknet_ros #include <darknet_ros_msgs/BoundingBoxes.h> #include <darknet_ros_msgs/BoundingBox.h> //int nFlag_deeplearing_reulst; float Cur_darknet_ros[5]; string Cur_darknet_ros_class[1];
//std::cout << "\n boundingboxes(header) = " << msg->header <<endl;
std::cout << "\n boundingboxes(class) = " << Cur_darknet_ros_class[0];
std::cout << "\n boundingboxes(probability) = " << Cur_darknet_ros[0];
void callback_boundingbox(const darknet_ros_msgs::BoundingBoxes::ConstPtr& msg) {
Cur_darknet_ros_class[0] = msg->bounding_boxes[0].Class;
Cur_darknet_ros[0] = msg->bounding_boxes[0].probability;
Cur_darknet_ros[1] = msg->bounding_boxes[0].xmin;
Cur_darknet_ros[2] = msg->bounding_boxes[0].xmax;
Cur_darknet_ros[3] = msg->bounding_boxes[0].ymin;
Cur_darknet_ros[4] = msg->bounding_boxes[0].ymax;
}
ros::Subscriber boundingbox_sub = nh.subscribe ("/darknet_ros/bounding_boxes", 100, &callback_boundingbox);
if ((Cur_darknet_ros_class[0] == "person") && (( ros::Time::now() - last_request )>( ros::Duration(1.0)) )) { if ((Cur_darknet_ros_class[0] == "person") && (Cur_darknet_ros[0]>0.4)) { velcmd.twist.linear.z = 0.4*(2.0 - Cur_Pos_m[2]); velcmd.twist.angular.z = 0.2; ROS_INFO("person!"); } else { velcmd.twist.angular.z = 0.0; } } else { velcmd.twist.angular.z = 0.0; }