导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    使用xiaoqiang_track进行人体跟随和追踪

    技术交流
    深度学习 机器视觉
    11
    57
    97083
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 weijiz 编辑

      xiaoqiang_track

      xiaoqiang_track是一个利用摄像头捕捉的图像进行人体追踪的程序。它有比较好的稳定性,能够可靠的追踪目标。同时也具有比较好的扩展性。可以方便的对关键的追踪算法进行调整。在运动的控制上,使用了PID控制,可以通过调整参数适应不同的设备。

      原理简介

      通过人体识别算法获取到人体的上半身位置。获取成功后就把对应的位置信息传递给追踪程序。追踪程序进行目标追踪。运动控制程序根据当前的目标的位置计算运动控制量。
      由于在追踪过程中可能会丢失,丢失的情况下就要再次使用人体识别程序的结果进行追踪程序的初始化。

      安装

      以下安装方法只在ubuntu 16.04 kinetic版本测试过,如果需要在其他版本使用可能需要调整部分指令。

      安装相关依赖程序

      sudo apt-get install libjsoncpp-dev libcurl3 libcurl4-openssl-dev openssl
      

      安装body_pose人体识别程序

      详细安装方法请参照 body_pose使用说明

      可选程序

      本程序有语音提示功能,如果想要这个功能可以安装xiaoqiang_tts软件包

      安装源代码

      cd 到你的工作空间/src
      git clone https://github.com/bluewhalerobot/xiaoqiang_track
      cd 到你的工作空间
      catkin_make
      

      运行要求

      由于使用的是摄像头追踪方法,所以首先要有一个摄像头设备。同时此设备能够通过ROS的软件包把图像信息通过topic形式发送出来。
      对于小强用户,下面的运行指令直接执行就可以。对于其他用户请修改launch文件中的usb_cam节点。替换成自己的摄像头节点。

      由于要进行人体识别,摄像头的视野范围也很重要。要能保证在合适的追踪距离下摄像头能够比较完整的看到追踪目标。
      对于小强用户,把摄像头固定在二层上,同时有一定的仰角就可以了。
      注意图像的分辨率是640x480

      运行

      小强用户请先关闭startup服务

      sudo service startup stop
      

      启动roscore

      roscore
      

      启动底盘驱动程序

      # 这里是小强的驱动程序,如果不是小强,需要换成自己的
      roslaunch xqserial_server xqserial.launch
      

      开始运行追踪程序

      # 使用body_pose人体识别程序进行人体识别
      roslaunch xiaoqiang_track track_body.launch
      # 或者使用百度的人体识别服务
      roslaunch xiaoqiang_track track_baidu.launch
      

      此时站在摄像头前面,等待初始化完成就可以开始追踪了。注意在转弯的时候适当放慢速度。小车跟不上的话可能会导致追踪丢失。

      如果想要实时的看到处理结果可以订阅/xiaoqiang_track/processed_image图像话题。其中的方框即为实时的追踪结果。

      0_1531101664469_ecc18945-34c8-4ceb-90be-1c954f622d49-image.png

      参数说明

      详细参数请参照launch文件中的注释。

      Baymax 1 条回复 最后回复 回复 引用 0
      • robot0612
        robot0612 最后由 编辑

        编译时出现这个问题0910ab6e-aff9-4e40-902f-672671680d51-image.png

        weijiz 1 条回复 最后回复 回复 引用 0
        • weijiz
          weijiz @robot0612 最后由 编辑

          @robot0612 你的编译过程是什么样的。这个头文件是一个msg,正常catkin会自动生成。

          1 条回复 最后回复 回复 引用 0
          • robot0612
            robot0612 最后由 robot0612 编辑

            此回复已被删除!
            weijiz 1 条回复 最后回复 回复 引用 0
            • weijiz
              weijiz @robot0612 最后由 编辑

              @robot0612 这个是由于body pose软件包没有安装好

              robot0612 2 条回复 最后回复 回复 引用 0
              • robot0612
                robot0612 @weijiz 最后由 robot0612 编辑

                此回复已被删除!
                1 条回复 最后回复 回复 引用 0
                • robot0612
                  robot0612 @weijiz 最后由 编辑

                  此回复已被删除!
                  weijiz 1 条回复 最后回复 回复 引用 0
                  • weijiz
                    weijiz @robot0612 最后由 编辑

                    @robot0612 检查你的devel/include文件夹内是否有body_pose/Body_Pose.h

                    robot0612 3 条回复 最后回复 回复 引用 0
                    • robot0612
                      robot0612 @weijiz 最后由 编辑

                      此回复已被删除!
                      1 条回复 最后回复 回复 引用 0
                      • robot0612
                        robot0612 @weijiz 最后由 编辑

                        @weijiz 有时编译又提示:
                        22393c22-fc72-4b11-8623-10ce610c141c-image.png
                        查看一下,发现是空的,
                        0261849e-56bf-4819-b75d-6038662d7934-image.png
                        步骤就是安装教程步骤

                        1 条回复 最后回复 回复 引用 0
                        • robot0612
                          robot0612 @weijiz 最后由 编辑

                          此回复已被删除!
                          1 条回复 最后回复 回复 引用 0
                          • robot0612
                            robot0612 最后由 robot0612 编辑

                            我的问题解决了:方法:1、先采用指定的方法编译body那个功能 2、下载源代码 3、编译这个源码、但是还是会出错 3、指定这个包编译,第一次还是出错,我运行了第三次才成功,不知道为什么。但是最终是解决了:
                            fatal error: pathwithflag_msgs/PathWithFlag.h: 没有那个文件或目录
                            #include <pathwithflag_msgs/PathWithFlag.h>

                            原因:当自定义msg文件之后,然后又在其他文件中使用了该自定义msg类型。因为catkin_make在编译的时候并不会指定pkg的编译顺序,

                            所以在使用该msg的文件编译的时候新建的msg类型还没有编译,导致找不到头文件。

                            解决:先编译包含新建msg的pkg,再编译其他pkg:

                            $ catkin_make -DCATKIN_WHITELIST_PACKAGES= “包名”
                            $ catkin_make -DCATKIN_WHITELIST_PACKAGES= “” //重新编译所有pkg

                            1 条回复 最后回复 回复 引用 0
                            • huapiaoxiang21
                              huapiaoxiang21 最后由 编辑

                              from xiaoqiang_track.msg import TrackTarget
                              ImportError: No module named xiaoqiang_track.msg

                              weijiz zhkwin15951 2 条回复 最后回复 回复 引用 0
                              • weijiz
                                weijiz @huapiaoxiang21 最后由 编辑

                                @huapiaoxiang21 首先要确保成功编译了消息文件。看看在devel/lib/python2.7/dist-packages/xiaoqiang_track/msg文件夹是否有对应文件。然后要确保环境变量是对的。有没有source工作空间的setup.bash。

                                huapiaoxiang21 zhkwin15951 2 条回复 最后回复 回复 引用 0
                                • huapiaoxiang21
                                  huapiaoxiang21 @weijiz 最后由 编辑

                                  @weijiz 谢谢

                                  1 条回复 最后回复 回复 引用 0
                                  • zhkwin15951
                                    zhkwin15951 @huapiaoxiang21 最后由 编辑

                                    @huapiaoxiang21 您好,我们想用自己的kinect二代摄像头,请问修改哪个launch文件,如何修改launch文件中的usb_cam节点,替换成自己的摄像头节点,谢谢您

                                    1 条回复 最后回复 回复 引用 0
                                    • zhkwin15951
                                      zhkwin15951 @weijiz 最后由 编辑

                                      @weijiz 您好,我们想用自己的kinect二代摄像头,请问修改哪个launch文件,如何修改launch文件中的usb_cam节点,替换成自己的摄像头节点,谢谢您

                                      weijiz 1 条回复 最后回复 回复 引用 0
                                      • weijiz
                                        weijiz @zhkwin15951 最后由 编辑

                                        @zhkwin15951 把这里的图像话题换成Kinect2的rgb图像话题就可以了。

                                        zhkwin15951 1 条回复 最后回复 回复 引用 0
                                        • zhkwin15951
                                          zhkwin15951 @weijiz 最后由 编辑

                                          @weijiz 您好,请问如何订阅图像话题,是输入哪个命令

                                          weijiz 1 条回复 最后回复 回复 引用 0
                                          • weijiz
                                            weijiz @zhkwin15951 最后由 编辑

                                            @zhkwin15951 可以用rviz查看,看看这篇文章

                                            1 条回复 最后回复 回复 引用 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Copyright © 2015-2023 BlueWhale community