/×
kinect_tf.cpp
实现人体骨骼检测追踪到的坐标点用tf转换接听,得到关节点的信息,这里只是接听了部分人体位置数据,
“right_hand_1,right_shoulder_1”
并对接听到的数据进行处理,这里判断距离,如果距离过大要调整速度,距离过小则调整速度,手部关节点如果y方向坐标如果高于肩部,则停下来了
×/
#include <ros/ros.h>
#include <tf/transform_listener.h>
#include <geometry_msgs/Twist.h>
#include <sound_play/sound_play.h>//播放音频
#include <unistd.h>
#include "std_msgs/String.h"
const char *str_distance,*str_angle;
int count_running = 0;
/*主函数*/
int main (int argc, char** argv)
{
ros::init (argc, argv, "kinect_tf ");//发布的topic
ros::NodeHandle nh;
sound_play::SoundClient sc;
geometry_msgs::Twist cmd;
ros::Publisher pub = nh.advertise<geometry_msgs::Twist> ("/cmd_extvel", 10);//发布消息到 topic /cmd_extvel
tf::TransformListener listener;
ros::Rate rate(10.0);
while (node.ok()){
//接听消息
tf::StampedTransform tf, tf_right_hand, tf_right_shoulder; //tf变换的变量
try{
listener.lookupTransform("/openni_depth_frame", "/torso_1",
机器人视觉项目:视觉检测识别+机器人跟随(8)
最新推荐文章于 2023-07-15 13:44:53 发布