rbx1中的follow

github地址:https://github.com/robotBing/openrobot_follower.git 

视频展示地址:http://blog.jiutucao.com:9000/upload/2018/07/color_follow.mp4

1.  基本功能

1)跟随人行走

2)语音控制开始或停止

3)颜色标定

2. 跟随实现

1)代码:

#!/usr/bin/env python

import rospy

from roslib import message

from std_msgs.msg import String

from sensor_msgs import point_cloud2

from sensor_msgs.msg import PointCloud2

from geometry_msgs.msg import Twist

from math import copysign 

class Follower():

int status = 0

    def __init__(self):

        rospy.init_node("follower")

 

        rospy.on_shutdown(self.shutdown)

 

        self.goal_z = rospy.get_param("~goal_z", 0.6)

 

        self.z_threshold = rospy.get_param("~z_threshold", 0.05)

 

        self.x_threshold = rospy.get_param("~x_threshold", 0.05)

        self.z_scale = rospy.get_param("~z_scale", 1.0)     

        self.x_scale = rospy.get_param("~x_scale", 2.5)

   

        self.max_angular_speed = rospy.get_param("~max_angular_speed", 2.0)

        self.min_angular_speed = rospy.get_param("~min_angular_speed", 0.0)

        self.max_linear_speed = rospy.get_param("~max_linear_speed", 0.3)

        self.min_linear_speed = rospy.get_param("~min_linear_speed", 0.1

        self.low_down_factor = rospy.get_param("~slow_down_factor", 0.8)

        self.move_cmd = Twist()

        self.cmd_vel_pub = rospy.Publisher('/cmd_vel', Twist, queue_size=5)

        self.depth_subscriber = rospy.Subscriber('point_cloud', PointCloud2, self.set_cmd_vel, queue_size=1)

        rospy.Subscriber('/recognizer/output', String, self.speechcb)

        rospy.loginfo("Subscribing to point cloud...")

        rospy.wait_for_message('point_cloud', PointCloud2)

        rospy.loginfo("Ready to follow!"

def speechcb(self,msg):

        command = msg.data

        if command == 'stop':

               self.status = 0

        else if command == 'move' :

               self.status = 1

    def set_cmd_vel(self, msg):

        x = y = z = n = 0

        for point in point_cloud2.read_points(msg, skip_nans=True):

            pt_x = point[0]

            pt_y = point[1]

            pt_z = point[2]

            x += pt_x

            y += pt_y

            z += pt_z

            n += 1

        if n:

            x /= n

            y /= n

            z /= n

            if (abs(z - self.goal_z) > self.z_threshold):

                linear_speed = (z - self.goal_z) * self.z_scale

                self.move_cmd.linear.x = copysign(max(self.min_line

 

ar_speed,

                                        min(self.max_linear_speed, abs(linear_speed))), linear_speed)

            else:

                self.move_cmd.linear.x *= self.slow_down_factor

               

            if (abs(x) > self.x_threshold):    

                angular_speed = -x * self.x_scale

                self.move_cmd.angular.z = copysign(max(self.min_angular_speed,

                                        min(self.max_angular_speed, abs(angular_speed))), angular_speed)

            else:

                self.move_cmd.angular.z *= self.slow_down_factor

        else:

            self.move_cmd.linear.x *= self.slow_down_factor

            self.move_cmd.angular.z *= self.slow_down_factor

       if self.status == 0:

            self.cmd_vel_pub.publish(twist())

        else:

               self.cmd_vel_pub.publish(self.move_cmd)

    def shutdown(self):

        rospy.loginfo("Stopping the robot...")

        self.depth_subscriber.unregister()

        rospy.sleep(1)

        self.cmd_vel_pub.publish(Twist())

        rospy.sleep(1)     

if __name__ == '__main__':

    try:

        Follower()

        rospy.spin()

    except rospy.ROSInterruptException:

        rospy.loginfo("Follower node terminated.")

 

2)基本思路

订阅点云(pointcloud2)话题,点云数据包括图像的宽度,高度和一个个点的信息。

根据点云数据找出人的质心点,然后将质心点和图像的中间点和设定的距离点比较,

左右偏移则往/cmd_vel话题上发布左右消息,前后则发布前后消息

  3) launch文件

  <launch>

  <node pkg="nodelet" type="nodelet" name="pcl_manager" args="manager" output="screen" />

  <node pkg="nodelet" type="nodelet" name="voxel_grid_z" args="load pcl/VoxelGrid pcl_manager" output="screen">

    <remap from="~input" to="/camera/depth_registered/points" />

    <remap from="~output" to="/z_filtered" />

    <rosparam>

      filter_field_name: z

      filter_limit_min: 0.3

      filter_limit_max: 1.6

      filter_limit_negative: False

      leaf_size: 0.02

    </rosparam>

  </node>

  <node pkg="nodelet" type="nodelet" name="passthrough_x" args="load pcl/PassThrough pcl_manager" output="screen">

    <remap from="~input" to="/z_filtered" />

    <remap from="~output" to="/x_filtered" />

    <rosparam>

      filter_field_name: x

      filter_limit_min: -0.3

      filter_limit_max: 0.3

      filter_limit_negative: False

    </rosparam>

  </node>

  <node pkg="nodelet" type="nodelet" name="passthrough_y" args="load pcl/PassThrough pcl_manager" output="screen">

    <remap from="~input" to="/x_filtered" />

    <remap from="~output" to="/search_cloud" />

    <rosparam>

      filter_field_name: y

      filter_limit_min: -0.5

      filter_limit_max: -0.1

      filter_limit_negative: False

    </rosparam>

  </node>

 

  <node pkg="openrobot_follow" name="follower" type="follower2.py" output="screen">

    <remap from="point_cloud" to="search_cloud" />

    <rosparam>

       goal_z: 0.8

       z_threshold: 0.025

       x_threshold: 0.025

       z_scale: 1.0

       x_scale: 3.0

       max_angular_speed: 5.0

       min_angular_speed: 0.1

       max_linear_speed: 0.4

       min_linear_speed: 0.05

    </rosparam>

  </node>

</launch>

 

 

4)launch详解

nodelet是ros自带的节点管理系统,类似于java里的多线程

 

利用VoxelGrid算法,对pointcloud的深度信息过滤

 

然后利用passthrough算法,对x  ,y坐标过滤

 

过滤可以降低计算量,又不会影响follow结果

 

最后启动follow节点

 

remap表示话题的映射,相当于给话题改名

 

5)参数详解

filter_field_name:     选择过滤的坐标系(x,y,z)

filter_limit_min:      最短的过滤信息,即最短的检测距离

      filter_limit_max:      最大的过滤信息,即最大的检测距离

leaf_size:             算法切块的大小

goal_z:               距离目标的距离

      z_threshold:          深度偏差量

      x_threshold:          x方向偏差量,即允许人在图像的哪个范围

      z_scale:             距离权重,控制线速度

      x_scale:             x方向的权重,控制角速度

      max_angular_speed:   最大角速度

      min_angular_speed:    最小角速度

      max_linear_speed:     最大线速度

      min_linear_speed:     最小线速度

 

3.  语音实现

1)概述

利用ros自带的语音识别包pocketsphinx,订阅/input/recognizer话题,获得识别结果,然后给follow函数设置一个使能变量,在语音的回调函数里对使能变量做操作

 

2)环境配置

sudo apt-get install ros-indigo-turtlebot-bringup \

ros-indigo-turtlebot-create-desktop ros-indigo-openni-* \

ros-indigo-openni2-* ros-indigo-freenect-* ros-indigo-usb-cam \

ros-indigo-laser-* ros-indigo-hokuyo-node \

ros-indigo-audio-common gstreamer0.10-pocketsphinx \

ros-indigo-pocketsphinx ros-indigo-slam-gmapping \

ros-indigo-joystick-drivers python-rosinstall \

ros-indigo-orocos-kdl ros-indigo-python-orocos-kdl \

python-setuptools ros-indigo-dynamixel-motor-* \

libopencv-dev python-opencv ros-indigo-vision-opencv \

ros-indigo-depthimage-to-laserscan ros-indigo-arbotix-* \

ros-indigo-turtlebot-teleop ros-indigo-move-base \

ros-indigo-map-server ros-indigo-fake-localization \

ros-indigo-amcl git subversion mercurial

 

 

3)代码重写

 

#!/usr/bin/env python

import rospy

from roslib import message

from sensor_msgs import point_cloud2

from sensor_msgs.msg import PointCloud2

from geometry_msgs.msg import Twist

from std_msgs.msg import String

from math import copysig

class Follower():

    def __init__(self):

        rospy.init_node("follower")

        rospy.on_shutdown(self.shutdown)

        self.goal_z = rospy.get_param("~goal_z", 1.5)

        self.z_threshold = rospy.get_param("~z_threshold", 0.05)

        self.x_threshold = rospy.get_param("~x_threshold", 0.05)

        self.z_scale = rospy.get_param("~z_scale", 0.7) 

        self.x_scale = rospy.get_param("~x_scale", 2.2)

        self.max_angular_speed = rospy.get_param("~max_angular_speed", 2.0)

        self.min_angular_speed = rospy.get_param("~min_angular_speed", 0.0)        self.max_linear_speed = rospy.get_param("~max_linear_speed", 0.3)       

        self.min_linear_speed = rospy.get_param("~min_linear_speed", 0.1)

        self.slow_down_factor = rospy.get_param("~slow_down_factor", 0.8)

        self.move_cmd = Twist()

        self.cmd_vel_pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10)

  self.sta = 1

  self.speech_sub = rospy.Subscriber('recognizer/output',String,self.speechcb,queue_size=1)

 

        # Subscribe to the point cloud

        self.depth_subscriber = rospy.Subscriber('point_cloud', PointCloud2, self.set_cmd_vel, queue_size=10)

 

        rospy.loginfo("Subscribing to point cloud...")

       

        # Wait for the pointcloud topic to become available

        rospy.wait_for_message('point_cloud', PointCloud2)

 

        rospy.loginfo("Ready to follow!")

 

    def speechcb(self,msg):

  if msg.data == 'stop':

         self.sta=0

  elif msg.data == 'move':

         self.sta=1

       

    def set_cmd_vel(self, msg):

        # Initialize the centroid coordinates point count

        x = y = z = n = 0

       

        # Read in the x, y, z coordinates of all points in the cloud

        for point in point_cloud2.read_points(msg, skip_nans=True):

            pt_x = point[0]

            pt_y = point[1]

            pt_z = point[2]

           

            x += pt_x

            y += pt_y

            z += pt_z

            n += 1

        if n:

            x /= n

            y /= n

            z /= n

 

            if (abs(z - self.goal_z) > self.z_threshold):

   

                linear_speed = (z - self.goal_z) * self.z_scale

                self.move_cmd.linear.x = copysign(max(self.min_linear_speed,

                                        min(self.max_linear_speed, abs(linear_speed))), linear_speed)

            else:

                self.move_cmd.linear.x *= self.slow_down_factor

               

            if (abs(x) > self.x_threshold):    

                angular_speed = -x * self.x_scale

                

                self.move_cmd.angular.z = copysign(max(self.min_angular_speed,

                                        min(self.max_angular_speed, abs(angular_speed))), angular_speed)

            else:

                self.move_cmd.angular.z *= self.slow_down_factor

               

        else:

            self.move_cmd.linear.x *= self.slow_down_factor

            self.move_cmd.angular.z *= self.slow_down_factor

           

     

  if self.sta == 0:

         self.cmd_vel_pub.publish(Twist())

  else:

         self.cmd_vel_pub.publish(self.move_cmd)

       

    def shutdown(self):

        rospy.loginfo("Stopping the robot...")

       

        self.depth_subscriber.unregister()

        rospy.sleep(1)

       

        self.cmd_vel_pub.publish(Twist())

        rospy.sleep(1)     

                  

if __name__ == '__main__':

    try:

        Follower()

        rospy.spin()

    except rospy.ROSInterruptException:

        rospy.loginfo("Follower node terminated.")

 

4)Launch重写

<launch>

 

<node name="recognizer" pkg="pocketsphinx" type="recognizer.py" output="screen">

    <param name="lm" value="$(find rbx1_speech)/config/nav_commands.lm"/>

    <param name="dict" value="$(find rbx1_speech)/config/nav_commands.dic"/>

  </node>

 

  <node pkg="nodelet" type="nodelet" name="pcl_manager" args="manager" output="screen" />

 

  <!-- Run a VoxelGrid filter on the z axis -->

  <node pkg="nodelet" type="nodelet" name="voxel_grid_z" args="load pcl/VoxelGrid pcl_manager" output="screen">

    <remap from="~input" to="/kinect2/qhd/points" />

    <remap from="~output" to="/z_filtered" />

    <rosparam>

      filter_field_name: z

      filter_limit_min: 0.3

      filter_limit_max: 1.6

      filter_limit_negative: False

      leaf_size: 0.02

    </rosparam>

  </node>

 

  <!-- Run a passthrough filter on the x axis -->

  <node pkg="nodelet" type="nodelet" name="passthrough_x" args="load pcl/PassThrough pcl_manager" output="screen">

    <remap from="~input" to="/z_filtered" />

    <remap from="~output" to="/x_filtered" />

    <rosparam>

      filter_field_name: x

      filter_limit_min: -0.3

      filter_limit_max: 0.3

      filter_limit_negative: False

    </rosparam>

  </node>

 

  <!-- Run a passthrough filter on the y axis -->

  <node pkg="nodelet" type="nodelet" name="passthrough_y" args="load pcl/PassThrough pcl_manager" output="screen">

    <remap from="~input" to="/x_filtered" />

    <remap from="~output" to="/search_cloud" />

    <rosparam>

      filter_field_name: y

      filter_limit_min: -0.5

      filter_limit_max: -0.1

      filter_limit_negative: False

    </rosparam>

  </node>

 

  <node pkg="openrobot_follow" name="follower" type="follower2.py" output="screen">

    <remap from="point_cloud" to="search_cloud" />

   

    <rosparam>

       goal_z: 1.2

       z_threshold: 0.025

       x_threshold: 0.025

       z_scale: 0.6

       x_scale: 2.1

       max_angular_speed: 3.0

       min_angular_speed: 0.1

       max_linear_speed: 0.4

       min_linear_speed: 0.05

    </rosparam>

   

  </node>

</launch>

 

 

4. 颜色标定实现

1 ) 概述

 利用opencv提供的python接口,处理图像信息,利用cv_bridge将ros话题上发布的摄像头消息数据转化成为opencv可以处理的图像数据。

 

2 )代码见github项目

 

 

 

 3 ) launch

    <launch> 

  <node name="recognizer" pkg="pocketsphinx" type="recognizer.py" output="screen">

    <param name="lm" value="/home/tt/my_ws/src/openrobot_follow/speech_conf/command.lm"/>

    <param name="dict" value="/home/tt/my_ws/src/openrobot_follow/speech_conf/command.dic"/>

  </node>

  <node pkg="openrobot_follow" name="color_follower" type="color_follower.py" output="screen">

<remap from="camera_info" to="/camera/rgb/camera_info" />

  <remap from="depth_image" to="/camera/depth_registered/image_raw" />

    <rosparam>

       rate: 20

       max_z: 2.0  # How far out do we want to detect

       min_z: 0.1

       goal_z: 0.7

       z_threshold: 0.1

       x_threshold: 0.3

       z_scale: 1.0 # forward/back scale

       x_scale: 1.3 # left/right scale

       max_rotation_speed: 1.0

       min_rotation_speed: 0.1

       max_linear_speed: 0.2

       min_linear_speed: 0.02

       scale_roi: 0.9

    </rosparam>

  </node>

</launch>

4 )launch详解

rate:   消息回调速度,一般不用动,如果出现卡顿再改动

       max_z:   检测的最大距离

       min_z:   检测的最小距离

       goal_z:   保持机器和目标的距离

       z_threshold: 距离的可控区域

       x_threshold: 图像的可控区域,即在屏幕上画个矩形,让目标保持在矩形内

       z_scale:    线速度的权值

       x_scale:    角速度的权值

       max_rotation_speed: 最大角速度

       min_rotation_speed: 最小角速度

       max_linear_speed:   最大线速度

       min_linear_speed:    最小线速度

       scale_roi:    对roi话题上发布的信息的缩小范围

1.     运行底盘驱动

rosrun openrobot Node_p_chassis

 

 2 .打开摄像头驱动(实验室用的奥比中光深度摄像头)

  roslaunch astra_launch astra.launch

 3.启动camshift 发布/roi

  roslaunch openrobot_follow camshift.launch

这时候屏幕上会出现3个窗口,在有图像的窗口选择需要跟随的物体。这时候程序会计算物体的颜色,另外两个窗口其中一个会出现颜色的柱状图,另一个窗口出现颜色柱状图。物体移动绿色的框会跟着移动。尽量选中颜色鲜艳的物体。4.启动跟随

  roslaunch openrobot_follow color_follow.launch

For analysis of this file, run !analyze -v 2: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1) An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses. If kernel debugger is available get stack backtrace. Arguments: Arg1: 0000000000000000, memory referenced Arg2: 0000000000000002, IRQL Arg3: 0000000000000000, value 0 = read operation, 1 = write operation Arg4: fffff8077e4252fc, address which referenced memory Debugging Details: ------------------ *** WARNING: Unable to verify timestamp for Netwtw12.sys *** WARNING: Unable to verify timestamp for win32k.sys KEY_VALUES_STRING: 1 Key : Analysis.CPU.mSec Value: 7468 Key : Analysis.DebugAnalysisManager Value: Create Key : Analysis.Elapsed.mSec Value: 215931 Key : Analysis.Init.CPU.mSec Value: 5953 Key : Analysis.Init.Elapsed.mSec Value: 87454 Key : Analysis.Memory.CommitPeak.Mb Value: 125 Key : WER.OS.Branch Value: vb_release Key : WER.OS.Timestamp Value: 2019-12-06T14:06:00Z Key : WER.OS.Version Value: 10.0.19041.1 FILE_IN_CAB: 120925-13890-01.dmp BUGCHECK_CODE: d1 BUGCHECK_P1: 0 BUGCHECK_P2: 2 BUGCHECK_P3: 0 BUGCHECK_P4: fffff8077e4252fc READ_ADDRESS: fffff80758cfb390: Unable to get MiVisibleState Unable to get NonPagedPoolStart Unable to get NonPagedPoolEnd Unable to get PagedPoolStart Unable to get PagedPoolEnd unable to get nt!MmSpecialPagesInUse 0000000000000000 BLACKBOXBSD: 1 (!blackboxbsd) BLACKBOXNTFS: 1 (!blackboxntfs) BLACKBOXPNP: 1 (!blackboxpnp) BLACKBOXWINLOGON: 1 CUSTOMER_CRASH_COUNT: 1 PROCESS_NAME: System TRAP_FRAME: ffffa480da8bfc20 -- (.trap 0xffffa480da8bfc20) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=0000000000000000 rbx=0000000000000000 rcx=ffff948343428208 rdx=0000000000000004 rsi=0000000000000000 rdi=0000000000000000 rip=fffff8077e4252fc rsp=ffffa480da8bfdb0 rbp=fffff8077e567000 r8=0000000000000004 r9=0000000000000001 r10=ffff9483433b7c70 r11=0000000000000200 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl zr na po nc Netwtw12+0x2e52fc: fffff807`7e4252fc 442b00 sub r8d,dword ptr [rax] ds:00000000`00000000=???????? Resetting default scope STACK_TEXT: ffffa480`da8bfad8 fffff807`58411ba9 : 00000000`0000000a 00000000`00000000 00000000`00000002 00000000`00000000 : nt!KeBugCheckEx ffffa480`da8bfae0 fffff807`5840d578 : ffff9483`00000001 ffff9483`3b452000 fffff807`7e2586b0 fffff807`7e4c60d7 : nt!KiBugCheckDispatch+0x69 ffffa480`da8bfc20 fffff807`7e4252fc : 00000000`00000100 ffffa480`da8bff58 fffff807`7e567000 ffff9483`4f3b2f80 : nt!KiPageFault+0x478 ffffa480`da8bfdb0 00000000`00000100 : ffffa480`da8bff58 fffff807`7e567000 ffff9483`4f3b2f80 fffff807`7e521e18 : Netwtw12+0x2e52fc ffffa480`da8bfdb8 ffffa480`da8bff58 : fffff807`7e567000 ffff9483`4f3b2f80 fffff807`7e521e18 fffff807`0000043e : 0x100 ffffa480`da8bfdc0 fffff807`7e567000 : ffff9483`4f3b2f80 fffff807`7e521e18 fffff807`0000043e 00000000`00000018 : 0xffffa480`da8bff58 ffffa480`da8bfdc8 ffff9483`4f3b2f80 : fffff807`7e521e18 fffff807`0000043e 00000000`00000018 ffff9483`3f1fa1b0 : Netwtw12+0x427000 ffffa480`da8bfdd0 fffff807`7e521e18 : fffff807`0000043e 00000000`00000018 ffff9483`3f1fa1b0 ffff9483`433be4f0 : 0xffff9483`4f3b2f80 ffffa480`da8bfdd8 fffff807`0000043e : 00000000`00000018 ffff9483`3f1fa1b0 ffff9483`433be4f0 ffff9483`3f1fa010 : Netwtw12+0x3e1e18 ffffa480`da8bfde0 00000000`00000018 : ffff9483`3f1fa1b0 ffff9483`433be4f0 ffff9483`3f1fa010 00000000`00000000 : 0xfffff807`0000043e ffffa480`da8bfde8 ffff9483`3f1fa1b0 : ffff9483`433be4f0 ffff9483`3f1fa010 00000000`00000000 fffff807`7e143380 : 0x18 ffffa480`da8bfdf0 ffff9483`433be4f0 : ffff9483`3f1fa010 00000000`00000000 fffff807`7e143380 ffffa480`da8bff58 : 0xffff9483`3f1fa1b0 ffffa480`da8bfdf8 ffff9483`3f1fa010 : 00000000`00000000 fffff807`7e143380 ffffa480`da8bff58 ffff9483`43428208 : 0xffff9483`433be4f0 ffffa480`da8bfe00 00000000`00000000 : fffff807`7e143380 ffffa480`da8bff58 ffff9483`43428208 ffff9483`4f3b2f38 : 0xffff9483`3f1fa010 SYMBOL_NAME: Netwtw12+2e52fc MODULE_NAME: Netwtw12 IMAGE_NAME: Netwtw12.sys STACK_COMMAND: .cxr; .ecxr ; kb BUCKET_ID_FUNC_OFFSET: 2e52fc FAILURE_BUCKET_ID: AV_Netwtw12!unknown_function OS_VERSION: 10.0.19041.1 BUILDLAB_STR: vb_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 FAILURE_ID_HASH: {07241ecd-a108-bbe5-b32a-cd88c60dba5a} Followup: MachineOwner ---------
最新发布
12-11
上面的错误,我使用了!analyze -v 指令后 SYSTEM_SERVICE_EXCEPTION (3b) An exception happened while executing a system service routine. Arguments: Arg1: 00000000c000001d, Exception code that caused the BugCheck Arg2: ffffbf8942103b20, Address of the instruction which caused the BugCheck Arg3: ffffdf815547d070, Address of the context record for the exception that caused the BugCheck Arg4: 0000000000000000, zero. Debugging Details: ------------------ KEY_VALUES_STRING: 1 Key : Analysis.CPU.mSec Value: 3109 Key : Analysis.Elapsed.mSec Value: 15964 Key : Analysis.IO.Other.Mb Value: 0 Key : Analysis.IO.Read.Mb Value: 14 Key : Analysis.IO.Write.Mb Value: 2 Key : Analysis.Init.CPU.mSec Value: 1625 Key : Analysis.Init.Elapsed.mSec Value: 336944 Key : Analysis.Memory.CommitPeak.Mb Value: 121 Key : Analysis.Version.DbgEng Value: 10.0.27829.1001 Key : Analysis.Version.Description Value: 10.2503.24.01 amd64fre Key : Analysis.Version.Ext Value: 1.2503.24.1 Key : Bugcheck.Code.KiBugCheckData Value: 0x3b Key : Bugcheck.Code.LegacyAPI Value: 0x3b Key : Bugcheck.Code.TargetModel Value: 0x3b Key : Failure.Bucket Value: 0x3B_C000001D_HyperHideDrv!HookedNtContinue Key : Failure.Exception.IP.Address Value: 0xffffbf8942103b20 Key : Failure.Hash Value: {8e106373-5690-bf65-5b28-0541e087c782} Key : Hypervisor.Enlightenments.Value Value: 13088 Key : Hypervisor.Enlightenments.ValueHex Value: 0x3320 Key : Hypervisor.Flags.AnyHypervisorPresent Value: 1 Key : Hypervisor.Flags.ApicEnlightened Value: 0 Key : Hypervisor.Flags.ApicVirtualizationAvailable Value: 0 Key : Hypervisor.Flags.AsyncMemoryHint Value: 0 Key : Hypervisor.Flags.CoreSchedulerRequested Value: 0 Key : Hypervisor.Flags.CpuManager Value: 0 Key : Hypervisor.Flags.DeprecateAutoEoi Value: 1 Key : Hypervisor.Flags.DynamicCpuDisabled Value: 0 Key : Hypervisor.Flags.Epf Value: 0 Key : Hypervisor.Flags.ExtendedProcessorMasks Value: 0 Key : Hypervisor.Flags.HardwareMbecAvailable Value: 0 Key : Hypervisor.Flags.MaxBankNumber Value: 0 Key : Hypervisor.Flags.MemoryZeroingControl Value: 0 Key : Hypervisor.Flags.NoExtendedRangeFlush Value: 1 Key : Hypervisor.Flags.NoNonArchCoreSharing Value: 0 Key : Hypervisor.Flags.Phase0InitDone Value: 1 Key : Hypervisor.Flags.PowerSchedulerQos Value: 0 Key : Hypervisor.Flags.RootScheduler Value: 0 Key : Hypervisor.Flags.SynicAvailable Value: 1 Key : Hypervisor.Flags.UseQpcBias Value: 0 Key : Hypervisor.Flags.Value Value: 536632 Key : Hypervisor.Flags.ValueHex Value: 0x83038 Key : Hypervisor.Flags.VpAssistPage Value: 1 Key : Hypervisor.Flags.VsmAvailable Value: 0 Key : Hypervisor.RootFlags.AccessStats Value: 0 Key : Hypervisor.RootFlags.CrashdumpEnlightened Value: 0 Key : Hypervisor.RootFlags.CreateVirtualProcessor Value: 0 Key : Hypervisor.RootFlags.DisableHyperthreading Value: 0 Key : Hypervisor.RootFlags.HostTimelineSync Value: 0 Key : Hypervisor.RootFlags.HypervisorDebuggingEnabled Value: 0 Key : Hypervisor.RootFlags.IsHyperV Value: 0 Key : Hypervisor.RootFlags.LivedumpEnlightened Value: 0 Key : Hypervisor.RootFlags.MapDeviceInterrupt Value: 0 Key : Hypervisor.RootFlags.MceEnlightened Value: 0 Key : Hypervisor.RootFlags.Nested Value: 0 Key : Hypervisor.RootFlags.StartLogicalProcessor Value: 0 Key : Hypervisor.RootFlags.Value Value: 0 Key : Hypervisor.RootFlags.ValueHex Value: 0x0 Key : SecureKernel.HalpHvciEnabled Value: 0 Key : WER.OS.Branch Value: vb_release Key : WER.OS.Version Value: 10.0.19041.1 BUGCHECK_CODE: 3b BUGCHECK_P1: c000001d BUGCHECK_P2: ffffbf8942103b20 BUGCHECK_P3: ffffdf815547d070 BUGCHECK_P4: 0 FAULTING_THREAD: ffffbf8943364080 CONTEXT: ffffdf815547d070 -- (.cxr 0xffffdf815547d070) rax=ffffbf8942103b10 rbx=ffffbf8943364080 rcx=000000e265bff770 rdx=0000000000000001 rsi=0000000000000000 rdi=0000000000000000 rip=ffffbf8942103b20 rsp=ffffdf815547da78 rbp=ffffdf815547db80 r8=00000000ffffffff r9=7ffff80119936b30 r10=7ffffffffffffffc r11=0000000000336cb0 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei ng nz ac po cy cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010297 ffffbf89`42103b20 ff ??? Resetting default scope PROCESS_NAME: msedgewebview2.exe STACK_TEXT: ffffdf81`5547da78 fffff801`1992bc21 : ffffbf89`48c74080 fffff801`00000013 00000000`00000000 ffffdf81`5547db80 : 0xffffbf89`42103b20 ffffdf81`5547da80 fffff801`14811f05 : 000000e2`65bff770 00000000`00000001 00000000`00000001 ffffbf89`00000000 : HyperHideDrv!HookedNtContinue+0x1b1 [C:\Users\pc\Desktop\vt-debuuger-main\HyperHideDrv\HookedFunctions.cpp @ 1540] ffffdf81`5547db00 00007ff9`79badd54 : 00007ff9`79b85c28 000000e2`65bff770 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25 000000e2`65bff718 00007ff9`79b85c28 : 000000e2`65bff770 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!NtContinue+0x14 000000e2`65bff720 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!LdrInitializeThunk+0x18 FAULTING_SOURCE_LINE: C:\Users\pc\Desktop\vt-debuuger-main\HyperHideDrv\HookedFunctions.cpp FAULTING_SOURCE_FILE: C:\Users\pc\Desktop\vt-debuuger-main\HyperHideDrv\HookedFunctions.cpp FAULTING_SOURCE_LINE_NUMBER: 1540 FAULTING_SOURCE_CODE: 1536: } 1537: } 1538: 1539: return OriginalNtContinue(Context, TestAlert); > 1540: } 1541: 1542: NTSTATUS(NTAPI* OriginalNtQueryInformationJobObject)(HANDLE JobHandle, JOBOBJECTINFOCLASS JobInformationClass, PVOID JobInformation, ULONG JobInformationLength, PULONG ReturnLength); 1543: NTSTATUS NTAPI HookedNtQueryInformationJobObject(HANDLE JobHandle, JOBOBJECTINFOCLASS JobInformationClass, PVOID JobInformation, ULONG JobInformationLength, PULONG ReturnLength) 1544: { 1545: NTSTATUS Status = OriginalNtQueryInformationJobObject(JobHandle, JobInformationClass, JobInformation, JobInformationLength, ReturnLength); SYMBOL_NAME: HyperHideDrv!HookedNtContinue+1b1 MODULE_NAME: HyperHideDrv IMAGE_NAME: HyperHideDrv.sys STACK_COMMAND: .cxr 0xffffdf815547d070 ; kb BUCKET_ID_FUNC_OFFSET: 1b1 FAILURE_BUCKET_ID: 0x3B_C000001D_HyperHideDrv!HookedNtContinue OS_VERSION: 10.0.19041.1 BUILDLAB_STR: vb_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 FAILURE_ID_HASH: {8e106373-5690-bf65-5b28-0541e087c782} Followup: MachineOwner ---------
08-08
Debugging Details: ------------------ KEY_VALUES_STRING: 1 Key : Analysis.CPU.Sec Value: 2 Key : Analysis.DebugAnalysisProvider.CPP Value: Create: 8007007e on WIN-E6RUS8U7A5V Key : Analysis.DebugData Value: CreateObject Key : Analysis.DebugModel Value: CreateObject Key : Analysis.Elapsed.Sec Value: 18 Key : Analysis.Memory.CommitPeak.Mb Value: 77 Key : Analysis.System Value: CreateObject BUGCHECK_CODE: 139 BUGCHECK_P1: 3 BUGCHECK_P2: ffff810ac7717520 BUGCHECK_P3: ffff810ac7717478 BUGCHECK_P4: 0 TRAP_FRAME: ffff810ac7717520 -- (.trap 0xffff810ac7717520) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=ffffb50eb34ff3d0 rbx=0000000000000000 rcx=0000000000000003 rdx=0000000080000000 rsi=0000000000000000 rdi=0000000000000000 rip=fffff80769772d12 rsp=ffff810ac77176b0 rbp=ffffb50eb62d8080 r8=0000000000000000 r9=fffff8076a050dc0 r10=00000000000000c1 r11=fffff8076a200010 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei ng nz na pe cy nt!MiProcessLoaderEntry+0x1d2: fffff807`69772d12 cd29 int 29h Resetting default scope EXCEPTION_RECORD: ffff810ac7717478 -- (.exr 0xffff810ac7717478) ExceptionAddress: fffff80769772d12 (nt!MiProcessLoaderEntry+0x00000000000001d2) ExceptionCode: c0000409 (Security check failure or stack buffer overrun) ExceptionFlags: 00000001 NumberParameters: 1 Parameter[0]: 0000000000000003 Subcode: 0x3 FAST_FAIL_CORRUPT_LIST_ENTRY BLACKBOXBSD: 1 (!blackboxbsd) BLACKBOXNTFS: 1 (!blackboxntfs) BLACKBOXWINLOGON: 1 CUSTOMER_CRASH_COUNT: 1 PROCESS_NAME: YDArk.exe ERROR_CODE: (NTSTATUS) 0xc0000409 - <Unable to get error code text> EXCEPTION_CODE_STR: c0000409 EXCEPTION_PARAMETER1: 0000000000000003 EXCEPTION_STR: 0xc0000409 STACK_TEXT: ffff810a`c77171f8 fffff807`69811da9 : 00000000`00000139 00000000`00000003 ffff810a`c7717520 ffff810a`c7717478 : nt!KeBugCheckEx ffff810a`c7717200 fffff807`69812350 : ffffa300`a2347180 fffff807`696bb754 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69 ffff810a`c7717340 fffff807`698101f2 : 00000000`ffffffff ffffb50e`b7bcf560 00000000`00772000 ffffde00`03844860 : nt!KiFastFailDispatch+0xd0 ffff810a`c7717520 fffff807`69772d12 : ffffb50e`b62d8080 ffffffff`ffffff00 ffffb50e`bd2de390 00000000`00000000 : nt!KiRaiseSecurityCheckFailure+0x332 ffff810a`c77176b0 fffff807`69afee70 : ffffb50e`bd2de390 ffff810a`c7717700 ffff810a`c77177f0 ffffb50e`b7bcf500 : nt!MiProcessLoaderEntry+0x1d2 ffff810a`c77176f0 fffff807`69b71d71 : 00000000`00000000 fffff807`ffffffff ffff025a`00000001 ffffe40e`d17a3f40 : nt!MiUnloadSystemImage+0x4b8 ffff810a`c7717890 fffff807`69b71c9e : ffffb50e`b6e72a40 ffff810a`c7717bc0 00000000`00000000 ffff810a`c7717d30 : nt!MmUnloadSystemImage+0x41 ffff810a`c77178c0 fffff807`69a3dbe0 : ffffb50e`b6e72a40 ffff810a`c7717bc0 ffffb50e`b6e72a40 fffff807`69af6faf : nt!IopDeleteDriver+0x4e ffff810a`c7717910 fffff807`696cb917 : 00000000`00000000 00000000`00000000 ffff810a`c7717bc0 ffffb50e`b6e72a70 : nt!ObpRemoveObjectRoutine+0x80 ffff810a`c7717970 fffff807`696cb83e : ffffb50e`b6e72a70 ffff810a`c7717d30 ffffb50e`b6e72a40 00000000`000a0000 : nt!ObfDereferenceObjectWithTag+0xc7 ffff810a`c77179b0 fffff807`69b68f28 : ffffb50e`b6e72a70 ffff810a`c7717bc0 ffff810a`c7717d30 00000000`c0000001 : nt!HalPutDmaAdapter+0xe ffff810a`c77179e0 fffff807`69c9b1fb : ffffb50e`b62d8080 00000000`00000000 00000000`00000001 ffffb50e`b6e72a70 : nt!IopUnloadDriver+0x250 ffff810a`c7717b10 fffff807`69811505 : 00000000`00000003 00000000`000000c0 00000000`000000c8 00000000`00000000 : nt!NtUnloadDriver+0xb ffff810a`c7717b40 fffff807`698023b0 : fffff807`69c3a9b6 ffffb50e`b62d8080 fffff807`699dd32d 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25 ffff810a`c7717cd8 fffff807`69c3a9b6 : ffffb50e`b62d8080 fffff807`699dd32d 00000000`00000000 ffffe40e`d1e19060 : nt!KiServiceLinkage ffff810a`c7717ce0 fffff807`69c9b1fb : ffffb50e`b62d8080 00000000`00000002 00000000`00000000 00000000`00000000 : nt!IopUnloadDriver+0xd1cde ffff810a`c7717e10 fffff807`69811505 : 00000000`00000000 ffff810a`c805f500 ffff810a`c7717ec0 ffffc79e`36026c88 : nt!NtUnloadDriver+0xb ffff810a`c7717e40 00007fff`f0370e94 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25 0000008d`775fe698 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007fff`f0370e94 SYMBOL_NAME: nt!KiFastFailDispatch+d0 MODULE_NAME: nt IMAGE_NAME: ntkrnlmp.exe IMAGE_VERSION: 10.0.19041.6456 STACK_COMMAND: .thread ; .cxr ; kb BUCKET_ID_FUNC_OFFSET: d0 FAILURE_BUCKET_ID: 0x139_3_CORRUPT_LIST_ENTRY_nt!KiFastFailDispatch OS_VERSION: 10.0.19041.1 BUILDLAB_STR: vb_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 FAILURE_ID_HASH: {3aede96a-54dd-40d6-d4cb-2a161a843851} Followup: MachineOwner 不吃
11-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值