舵机算法
- 格式:docx
- 大小:194.81 KB
- 文档页数:14
舵机控制算法舵机控制算法摘要:舵机控制算法是机器人领域中的关键技术之一。
本论文综述了舵机控制算法的研究现状,并分析了其在机器人控制中的应用。
首先介绍了舵机的基本原理和结构,然后详细讨论了舵机控制算法的几种常用方法,包括PID控制算法、模糊控制算法和神经网络控制算法。
最后通过实验验证了这些算法的性能和稳定性。
本论文的研究成果将对舵机控制算法的应用和改进提供参考价值。
1. 引言舵机是一种用于控制机器人关节或运动部件位置的装置。
它通常由电机、传感器和控制电路组成。
舵机广泛应用于机器人领域,如机械手臂、无人机和遥控车等。
舵机控制算法是舵机系统中的关键技术,直接影响到机器人的控制精度和性能。
2. 舵机控制算法的基本原理2.1 舵机的基本原理舵机通过测量角度误差来实现位置控制。
当控制信号输入到舵机中时,舵机电机开始工作,驱动运动部件转动到期望的位置。
传感器将当前位置信息反馈给控制电路,控制电路根据误差信号调整控制信号,使运动部件最终达到期望位置。
2.2 舵机控制算法的设计目标舵机控制算法的设计目标是使运动部件的位置误差尽可能小,并且能够快速、稳定地响应外部指令。
在设计过程中,需要考虑舵机系统的非线性特性和不确定性,以及控制信号的稳定性和抗干扰能力。
3. 舵机控制算法的常用方法3.1 PID控制算法PID控制算法是一种广泛应用于舵机控制的经典算法。
它通过比较运动部件当前位置与期望位置的差异,计算出控制信号,使运动部件向期望位置靠近。
PID控制算法具有简单、可调性强的特点,但在非线性系统和参数不确定的情况下,其性能可能会有限。
3.2 模糊控制算法模糊控制算法是一种基于模糊逻辑的控制方法,可以有效地处理非线性和不确定性系统。
在舵机控制中,模糊控制算法可以根据当前位置和期望位置的误差值,以及其变化率和积分值,根据预先定义的模糊规则,计算出控制信号。
模糊控制算法具有良好的鲁棒性和适应性。
3.3 神经网络控制算法神经网络控制算法是一种基于人工神经网络的控制方法,模拟生物神经系统的结构和功能。
2.PWM信号控制精度制定1 DIV = 8uS ; 250DIV=2mS时基寄存器内的数值为:(#01H)01 ----(#0FAH)250。
共185 度,分为250 个位置,每个位置叫1DIV。
则:185÷250 = 0.74 度/ DIVPWM 上升沿函数:0.5mS + N×DIV0uS ≤ N×DIV ≤ 2mS0.5mS ≤ 0.5Ms+N×DIV ≤ 2.5mS(1)HG14-M 舵机的位置控制方法舵机的转角达到185 度,由于采用8 为CPU 控制,所以控制精度最大为256 份。
目前经过实际测试和规划,分了250 份。
具体划分参见《250 份划分原理》。
将0—185 分为250 份,每份0.74 度。
控制所需的PWM 宽度为0.5ms—2.5ms,宽度2ms。
2ms÷250=8us;所以得出:PWM 信号= 1 度/8us;舵机角度= 0.74×NPWM = 0.5 + N×DIV;(DIV=8us)(2)舵机ω值测定舵机的ω值随时变化,所以只能测定一个平均值,或称出现概率最高的点。
依据①厂商的经验值;②采用HG14-M 具体进行测试;测试实验:①将CPU 开通,并开始延时Tw;②当延时Tw到达后,观察舵机是否到达目标;测定时采用一段双摆程序,伴随示波器用肉眼观察Tw与△T 的关系。
(3)舵机ω值计算一般舵机定为0.16--0.22 秒/60 度;取0.2 秒/60 度>> 1.2 秒/360 度>>0.617 秒/185 度则ω为360 度/1.2 秒,2Π/1.2 秒ω=300 度/秒那么185 度转动的时间为185 度÷360 度/1.2 秒= 0.6167 秒。
3.DAV 的定义将185 度的转角分为250 个平均小份。
则:每小份为0.74 度。
定义如下:DAV = 0.74 度由于:ω = 0.2 秒/60 度则:运行1 DAV 所需时间为:0.72 度÷0.2 秒/60 度= 2.4 mS;4.DIV 的定义舵机电路支持的PWM 信号为0.5mS—2.5mS,总间隔为2mS。
舵机控制算法
用红外光电管阵列实现变速控制
在检测道路的算法中采用两个采样周期,第一个采样周期为5ms用来实时检测道路的状况,实时对舵机的转向角度进行控制。
同时在第一个采样周期外再设定第二个采样周期100ms,在第二个采样周期到时,将此次采样到的光电传感器信号与上一次第二采样周期内采样到的光电传感器信号进行比较,据此即可以判断智能车是在直线行驶还是在弯道行驶,从而设定速度。
如果两次结果相差不大,则表明智能车转向角度变化不大,同时如果舵机转向角度不大,表时智能车可以按较大的速度运行,而如果舵机转向角度比较大,表时智能车在转弯,速度应当适当降一下,就是说可以根据舵机转向角度的大小来适当降低速度;相反如果两次结果相差比较大,则表明智能车行驶有急转弯或在蛇形道,必须将速度降下来。
由以上的控制思想,可以设定一个表,行代表转向角度,列代表角度的变化率,在表中根据经验设定不同情况下的速度,再通过速度稳定算法的调节,即可以实现对智能车速度的档次的控制,实测还是比较理想的。
第七章控制策略与算法。
舵机控制pwm第一章:引言(200字左右)舵机是一种常见的电子设备,它被广泛应用于工业自动化、机器人技术、航空航天等领域。
舵机的核心是PWM(脉宽调制)信号控制技术,通过调节PWM信号的占空比来控制舵机的角度位置。
本论文将重点介绍舵机控制中的PWM信号生成原理和控制算法,并深入分析其应用领域和优势。
第二章:PWM信号生成原理(300字左右)PWM信号是指固定频率和变化占空比的方波信号,它的占空比决定了舵机的角度位置。
PWM信号的生成基于定时器的工作原理,通过不断计数和比较产生特定占空比的脉冲信号。
定时器的计数周期固定,根据所设定的比较值来确定高电平的持续时间,从而控制舵机的旋转角度。
Pulse Width Modulation技术的优势在于能够精确控制舵机位置,并具有速度快、响应高、功耗低等特点。
第三章:舵机控制算法(300字左右)舵机控制算法主要分为位置控制和速度控制两种。
位置控制通过设定目标位置和当前位置的误差,利用PID(比例、积分、微分)控制算法来调节PWM信号的占空比,使舵机迅速达到目标位置并保持稳定。
速度控制则通过设定目标速度和当前速度之间的误差,根据系统的动态特性利用传统PID或者自适应控制算法来调节PWM信号的占空比,实现舵机的平滑运动。
这些控制算法需要根据具体应用需求进行优化和调整,以达到最佳控制效果。
第四章:舵机控制应用与未来发展方向(200字左右)舵机控制技术广泛应用于机器人、工业自动化、航空航天等领域。
在机器人领域,舵机可用于机器人臂、腿部关节的控制,实现多自由度的运动。
在工业自动化应用中,舵机可用于控制机械臂的旋转和伸缩操作。
航空航天领域也常用舵机来控制飞行器的舵和尾翼等部件。
未来,随着自动化技术的不断发展,舵机控制将更加智能化和精确化,并可能融合更多新的技术,如人工智能、机器学习等,进一步拓展舵机在各个领域的应用范围。
第四章:舵机控制应用与未来发展方向(续)(1000字左右)4.1 机器人应用舵机在机器人领域有着广泛的应用,机器人的各个关节可以通过舵机控制实现灵活的运动。
舵机控制算法舵机是一种常用于机器人、无人机、遥控车辆等设备中的执行器,用于实现精确的角度控制。
舵机控制算法是指通过编程控制舵机的旋转角度,使其按照预定的轨迹运动。
舵机控制算法的核心是对舵机的脉宽进行控制。
舵机通过接收控制信号的脉宽来确定旋转角度,一般采用PWM(脉宽调制)信号进行控制。
具体来说,舵机控制算法需要完成以下几个任务:1. 脉宽范围确定:不同型号的舵机对应的脉宽范围可能不同,因此需要确定舵机的脉宽范围。
一般而言,舵机的脉宽范围为500us到2500us。
2. 角度映射:通过舵机的脉宽范围可以确定舵机的角度范围。
一般而言,舵机的角度范围为0°到180°。
因此,舵机控制算法需要将目标角度映射到对应的脉宽范围。
3. 脉宽控制:舵机控制算法需要根据目标角度计算出对应的脉宽,并将该脉宽发送给舵机。
一般而言,舵机控制算法会使用定时器来生成PWM信号,并通过改变PWM信号的脉宽来控制舵机的旋转角度。
4. 角度调整:在实际控制过程中,可能会出现误差,即实际角度与目标角度之间的差值。
舵机控制算法可以通过不断调整脉宽来减小误差,使实际角度逐渐接近目标角度。
舵机控制算法可以采用开环控制或闭环控制。
开环控制是指根据目标角度直接计算出对应的脉宽,并发送给舵机,不考虑实际角度与目标角度的差异。
闭环控制是指根据实际角度与目标角度的差值,通过调整脉宽来减小误差。
在实际应用中,舵机控制算法可以根据具体需求进行优化。
例如,可以采用PID控制算法来实现闭环控制,通过比例、积分和微分控制来提高控制的精确度和稳定性。
此外,还可以考虑舵机的惯性等因素,进一步优化控制算法。
舵机控制算法是实现舵机精确角度控制的关键。
通过合理设计和优化算法,可以实现舵机在各种应用场景中的准确、稳定的运动。
全向舵轮移动机器人控制算法
全向舵轮移动机器人的控制算法主要包括以下几个方面:
1.路径规划:根据机器人的目标点和环境信息,规划出一条从起点到终点的
最优或次优路径。
常见的路径规划算法有A*算法、Dijkstra算法、模糊逻辑算法等。
2.速度控制:根据机器人的当前位置、目标位置和环境信息,计算出机器人
的行进速度,使得机器人能够以最短的时间或最优的路径到达目标位置。
常见的速度控制算法有PID控制算法、模糊控制算法等。
3.方向控制:根据机器人的当前朝向和目标朝向,计算出机器人的转向角度,
使得机器人能够以最短的时间或最优的路径到达目标位置。
常见的方向控制算法有比例控制算法、模糊控制算法等。
4.避障控制:根据机器人周围的环境信息,判断是否存在障碍物,并计算出
机器人的转向角度或行进速度,以避免与障碍物发生碰撞。
常见的避障控制算法有超声波传感器避障算法、红外传感器避障算法、激光雷达传感器避障算法等。
总之,全向舵轮移动机器人的控制算法需要考虑多个方面,包括路径规划、速度控制、方向控制和避障控制等。
需要根据实际应用场景和机器人自身特点选择合适的算法,以达到最优的控制效果。
pid算法控制舵机章节一:引言(约200字)本文将探讨PID算法在舵机控制中的应用。
舵机是一种常见的电动机构,在机器人控制、航空航天领域等多个领域中被广泛应用。
而PID算法作为一种经典的控制方法,具有良好的稳定性和鲁棒性。
通过将PID算法应用于舵机控制中,可以实现对舵机的位置、速度和加速度等参数的精确控制,从而满足各种实际应用的需求。
章节二:PID算法原理及框架(约300字)PID算法是指通过对系统的误差、误差变化率和误差积分进行加权求和,计算出控制量的大小来实现目标控制的一种反馈控制算法。
PID算法基本框架如下:首先,通过测量系统的输出值和目标值的差异来得到误差;然后,将误差通过比例、积分、微分三个部分进行处理,得到PID控制量;最后,将PID控制量作为输入量,对系统进行控制。
章节三:PID算法在舵机控制中的应用(约300字)PID算法在舵机控制中常常应用于位置控制。
首先,通过测量舵机的当前位置和目标位置的差异来计算出误差;然后,根据比例、积分、微分三个参数对误差进行处理,得到PID控制量;最后,将PID控制量转化为PWM信号,控制舵机的转动角度。
通过不断调整PID参数,可以实现对舵机位置的精确控制。
另外,PID算法还可以应用于舵机的速度和加速度控制。
在速度控制中,通过测量舵机转动角度的变化率和目标角速度的差异来计算速度误差;而在加速度控制中,通过测量转动角度变化率的变化率和目标加速度的差异来计算加速度误差。
然后,根据比例、积分、微分三个参数对误差进行处理,得到相应的PID控制量,通过PWM信号控制舵机的转速和加速度。
章节四:PID算法在舵机控制中的应用案例(约200字)本文选取了一种基于PID算法的舵机控制应用案例进行研究。
通过将PID算法应用于舵机的位置控制中,实现对舵机的精确控制。
策略具体是:首先,通过测量舵机的当前位置和目标位置的差异来计算出误差;然后,根据比例、积分、微分三个参数对误差进行处理,得到PID控制量;最后,将PID控制量转化为PWM信号,控制舵机的转动角度。
树莓派控制舵机的算法主要是根据舵机的控制信号来计算的。
舵机的控制信号是一个周期为20ms的脉宽调制(PWM)信号,其中脉冲宽度(高电平时间)从0.5ms到2.5ms,相对应舵机的旋转角度为0到180度,呈线性变化。
因此,可以通过控制PWM信号的占空比来控制舵机的旋转角度。
具体的算法如下:
首先确定PWM信号的周期为20ms,即频率为50Hz。
然后根据目标角度计算相应的脉冲宽度。
脉冲宽度(us)= (目标角度/ 180) * 1500 + 500。
例如,如果目标角度为90度,则脉冲宽度为(90 / 180) * 1500 + 500 = 1000us。
最后根据计算出的脉冲宽度生成相应的PWM信号,通过树莓派的GPIO口输出到舵机控制板上,从而控制舵机的旋转角度。
需要注意的是,树莓派本身并不直接支持PWM信号输出,因此需要使用外部硬件或者软件模拟PWM信号。
同时,还需要根据具体的舵机型号和控制板型号进行适当的调整和优化。
根据前面介绍的CMOS图像传感器采集处理得到的只是40行中每一行的黑线坐标。
并没有得出赛道的具体形状,到底是直道还是弯道,是大弯还是急弯,是偏向一个方向的弯道还是“S型”弯道,是“大S型”弯道还是“小S型”弯道。
这就可以通过曲率的计算来得出。
下面给出曲率的具体计算方法。
首先,将扫描到的40行中每9行分为一组,而且彼此交叉,也就是说,在能扫描到的情况下,划分为从第0行到第8行,从第1行到第9行,从第2行到第10行,依此类推,最后从21行到第29行,一共可以划分为22段,分别计算每一段的曲率,以第一段为例,计算的方法为:将第i行的坐标定义为coordinate[i],将CMOS图像传感器的中心坐标定义为middle,那么每一行相对于中心坐标的偏差就为ek[i]=coordinate[i]-middle (4.1) 再乘以每一行各自的校正值emendation[i],计算公式为ek[i]=ek[i]*emendation[i] (4.2) 就得到了各行实际偏离中心位置的距离。
然后用第0行的偏差加上第8行的偏差之和除以2再减去第4行的偏差,得出一个相对偏差ek_comparatively。
ek_comparatively的计算公式为ek_comparatively=(ek[8]+ek[0])/2-ek[4] (4.3) 然后计算出该段曲线对应的直道,即将第0行的黑点与第8行的黑点直接相连的直线的长度计算出来,计算公式为distance_beeline=sqrt((ek[8]-ek[0])*(ek[8]-ek[0])+48*48) (4.4) 最后将公式(4.3)除以公式(4.4),得到最后曲线的弯曲度为curve_degree。
计算公式为curve_degree=ek_comparatively/ distance_beeline (4.5)就得出了曲线的弯曲程度,然后根据每一段的弯曲程度,最终得出所扫描到的全部道路的形状。
4.2.2 道路形状精确识别算法利用4.1.3中对道路弯曲程度的计算,根据扫描到的道路每段的弯曲程度,可以对道路形状进行较为精确的识别,在进行具体的道路识别之前,先给出几个比较模糊的概念,这是描述弯道的弯曲程度的,弯曲程度非常小,比较小,比较大,非常大。
这几个概念在下面对于赛道具体识别时有提及。
(1)直道的识别图4.2 直道通过4.2.1节中对道路弯曲程度的计算,我们可以非常精准的识别出直道,因为如果扫描到的道路为直道,在上面的计算中,在计算相对偏差时,ek_comparatively=(ek[i+8]+ek[i])/2-ek[i+4]肯定会等于0,因为如果道路为直道,而且采样是根据等间隔采样,第i+4点正好是第i+8点和第i点的中心点,根据直线的特性,不管是横纵坐标,直线的中心点都应该等于起点和终点的一半。
就算扫描到的图像存在误差,那么计算出的弯曲程度curve_degree也应该是一个很小的数,也就是说,如果赛道的每一段的弯曲程度curve_degree 都非常小,那么该道路就一定是直道,反过来,只要其中有一段的弯曲程度curve_degree比较大,那么就可以判断这段道路不是直道,当然,如果有很多连续的段的弯曲程度curve_degree都非常小,那么也可以将连续很小的那一段判断为直道,赛道中直道的形状如图4.2所示。
(2)大弯的识别通过4.2.1节中对道路弯曲程度的计算,不但可以得出道路的弯曲程度,而且还可以得出道路弯曲的方向,因为在计算ek_comparatively=(ek[i+8]+ek[i])/2-ek[i+4]时,如果道路弯曲的方向不一样,那么得到的ek_comparatively的就有正负号的区分,而curve_degree是在ek_comparatively的基础上除以了一个距离,距离必定为正,因此curve_degree也有正负之分,而curve_degree的正负就正好代表了道路弯曲的方向,如果道路在靠近车的部分为直道,而在远离车的部分向着一个方向弯曲,且弯曲程度curve_degree也比较小,那么就可以将这种道路判断为大弯。
(3)急弯的识别图4.3 急弯与大弯基本相同,仍然是经过 4.2.1节中的计算,得出道路中每段的弯曲程度curve_degree,如果靠近车的部分的道路的那么得到的弯曲程度curve_degree都非常小,而在远离车的部分道路得到的弯曲程度curve_degree都非常大,且正负号完全相同,也就是说赛道向同一个方向偏,那么就可以将这种道路判断为急弯,如果在长直道后面出现一个急弯,那么一定要精确识别,如果不能精确识别,及时偏转并减速,那么赛车很可能冲出赛道,因此急弯的识别一定要非常精准。
赛道中急弯的形状如图4.3所示(4)“大S型”道的识别图4.4 大S型“S型”道是赛车最难走好的部分,但也是最能拉开差距的部分,因此也必须精准识别,“S型”道又分为“大S型”道和“小S型”道,这里先讨论“大S型”道,首先,“大S型”道中的大部分段的弯曲程度curve_degree都是非常大的,但在两弯相交处也会出现弯曲程度curve_degree比较小的情况,而且“大S型”道有一个很显然的特征就是计算出的弯曲程度curve_degree有正有负,而且正负都会出现很大的数,因为“大S型”道不可能只向一个方向弯,这也是所有“S型”道所共有的特点,因此,只要计算出道路中的各段的弯曲程度curve_degree出现了一个很大的正数和一个很大的负数,那么就可以判断为“大S型”道。
赛道中“大S型”道的形状如图4.4所示。
(5)“小S型”道的识别图4.5 小S型上面已经对“大S型”道进行了识别,而“小S型”道的识别与“大S型”道的识别非常类似,唯一不同的地方就是“小S型”道的计算的弯曲程度curve_degree的绝对值不会出现很大的数,而是一些比较适中的数,但是它“大S型”道的共同特点就是计算的弯曲程度curve_degree都是有正有负,而且“小S型”道的整幅图像中最左边的黑线和最右边的黑线不应该偏离太多。
因此,只要计算出道路中的各段的弯曲程度curve_degree的最大值和最小值分别为一个较适中的正数和一个较适中的负数,而且整幅图像中最左边的黑线和最右边的黑线偏离不是太多,那么就可以判断为“小S型”道。
赛道中“小S型”道的形状如图4.5所示。
(6)起跑线的识别全国大学生智能车竞赛规定,智能车必须能够识别起跑线,并在跑完一圈以后能够自动停止在3米以内的赛道中,否则在本来的时间基础上加上1秒,如果加上1秒那必须将速度加大很多才能挽回。
然而,当速度本来就较快时,由于智能车本身的结构原因,很难再进行提速,因为速度过快可能会导致翻车等一系列不利现象。
因此,对于起跑线的精准识别显得至关重要。
观察图4.9可知,起跑线的颜色从左到右依次为“黑”→“白”→“黑”→“白”→“黑”→“白”→“黑”,对应于微控制器内的数字信号即是0→1→0→1→0→1→0,因此我们可以利用这个特征来识别起跑线。
即当这部分图像中出现这样的颜色规律时就判定为是起跑线。
当跑完第二圈,第三次检测到起跑线时,表明已经完成了比赛,要在冲过起跑线后刹车,在三米范围内停车。
4.3 分类进行方向控制算法4.3.1 直道的方向控制算法对于赛道中的直道,是方向控制中最好处理的一种情况,因为只要小车没有偏离赛道,就可以不进行偏转,而当智能车偏离赛道时也只需要一个较小的偏转,让智能车能缓慢回归赛道就可以了,具体的方法是计算扫描到黑线的偏离中心线的平均值和黑线的斜率,再将这两个数分别乘上各自的比例系数,加上舵机偏向中心位置时需要给出的高电平的值,作为PWM波的高电平送入给舵机,就可以实现直道上的智能车方向控制了。
4.3.2 大弯的方向控制算法在道路中遇到大弯时需要转弯,转向角只受弯道的弯曲程度影响,但是距离大弯多远就开始转弯却需要受到当前速度的影响,因为舵机在转向时有一定的延时,舵机转60度大约需要110毫秒,而智能车的最快速度可以达到10米/秒,如果智能车当时运行的速度就是10米/秒,那么当舵机转过60度时智能车已经走过1米多了,所以不能等到了弯道才开始转弯,而是需要提前转弯,而且速度越快,越是要提前得多,所以智能车转弯提前多少就由速度控制,用比例控制就能收到很好的效果,而转弯时转多少却仅仅受弯道的弯曲程度控制,弯曲程度越大,转向角就也越大,弯曲程度越小,转向角也就越小。
具体的对应关系通过实验获得,在此没有列举出具体的数据。
4.3.3 急弯的方向控制算法急弯的方向控制算法与大弯的方向控制算法相似,也是需要提前转弯,而且提前多少转弯也要受当前速度的控制,速度越大,越要提前转弯,转向角也是用弯道的弯道程度来决定的,急弯比大弯的弯曲程度更加大,因此需要的转向角也要相应增大。
急弯的方向控制比大弯更难,很可能出线,因此在急弯的方向控制时更应多加注意。
4.3.4 “大S型”道的方向控制算法“大S型”道一般是指“S型”道最靠左的黑线和最靠右的黑线之间相差的距离大于60厘米,这是因为全国大学生智能车竞赛中的赛道为60厘米,冲出赛道就算违规,因此“大S型”道是不能直接冲的,但是我们可以转尽量小的弯来使智能车通过的路线为最短,而且转更小的弯也可以使得速度不至于减少太多,实现转尽量小弯的方法是扫描最左边和最右边的点,并得出这两个点中离智能车最近的点是左边还是右边的,如果这个点是最右边的,那么智能车的最佳行驶方向就为这个点靠左30厘米的方向,如果这个点是最左边的,那么智能车的最佳行驶方向就为这个点靠右30厘米的方向。
利用这种算法可以实现智能车走最少的路程,转最小的弯。
但是用这种算法智能车有可能偏离赛道的距离超过30厘米,为保险起见,这个阈值最好设低一点,根据赛车的运行情况来看,将阈值设为25厘米就比较保险了。
4.3.5 “小S型”道的方向控制算法“小S型”道一般是指“S型”道最靠左的黑线和最靠右的黑线之间相差的距离不大于60厘米,智能车过这种弯道时,基本可以从中间直接通过,而不需要转弯和减速。
因此,找准“小S型”道的正中心显得至关重要,因为只有找准了“小S型”道的正中心,智能车才能不转弯不减速地通过“小S型”道,如果“小S型”道的正中心找得不准,那么智能车就很容易冲出赛道。
找“小S型”道的正中心的方法为:先找出“小S型”道最左边和最右边的坐标值,然后将最左边和最右边的坐标值相加之后再除以2,就得到了“小S型”道的正中心坐标,智能车就可以沿着这个方向前进,而不需要转弯。
但是,由于CMOS图像传感器扫描到的图像可能出线误差,那么智能车就有可能产生误判,而冲出赛道。
因此为了保险起见,必须当“小S型”道足够小时,才能采用直接冲的办法。