WO2020207001A1 - 提高激光转台分辨率的方法及机器人系统 - Google Patents

提高激光转台分辨率的方法及机器人系统 Download PDF

Info

Publication number
WO2020207001A1
WO2020207001A1 PCT/CN2019/115645 CN2019115645W WO2020207001A1 WO 2020207001 A1 WO2020207001 A1 WO 2020207001A1 CN 2019115645 W CN2019115645 W CN 2019115645W WO 2020207001 A1 WO2020207001 A1 WO 2020207001A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoder
pit
laser
signal
clock
Prior art date
Application number
PCT/CN2019/115645
Other languages
English (en)
French (fr)
Inventor
崔江伟
韩奎
Original Assignee
苏州科瓴精密机械科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州科瓴精密机械科技有限公司 filed Critical 苏州科瓴精密机械科技有限公司
Publication of WO2020207001A1 publication Critical patent/WO2020207001A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Definitions

  • the invention relates to the field of intelligent control, in particular to a method for improving the resolution of a laser turntable and a robot system.
  • navigation means that the mobile robot senses the environment and its own state through sensors, and realizes autonomous movement towards the target in an environment with obstacles; the success of navigation requires 4 modules, perception, positioning, cognition and motion control Among them, positioning is the most basic link in the navigation process of a mobile robot.
  • positioning is to determine the real-time pose of the robot in the environment.
  • widely used positioning technologies include: visual navigation positioning, global positioning system, differential GPS positioning, laser signal positioning, etc.
  • the laser signal positioning method is more suitable for application on mobile robots and has become the mainstream method of mobile robot positioning.
  • the mobile robot positioning method in the prior art please refer to the announcement number CN103542846, the invention name "a positioning system and positioning method for mobile robots" ,
  • the mobile robot includes a laser.
  • the laser emits a laser signal to the back cursor to form a reflection signal.
  • the angle value of the current position of the robot relative to any two back cursors can be obtained, and Further accurately locate the current position of the robot according to the angle value.
  • the mobile robot obtains the angle value of the anti-cursor through the reading of the angle encoder during the rotation of the laser turntable. Due to the low resolution of the angle encoder, the positioning effect is poor, such as by adding a higher precision angle encoder. To increase the resolution by using a device, the cost will be higher.
  • the purpose of the present invention is to provide a method and a robot system for improving the resolution of a laser turntable.
  • an embodiment of the present invention provides a method for improving the resolution of a laser turntable.
  • the method includes: S1, a laser transmitter emits a laser signal and projects it to a reflective cursor to form a laser reflection signal;
  • the chip clock pulse signal is subdivided into the encoder pulse signal to calculate a higher precision deflection corresponding to each reverse cursor Angle value, where the chip clock pulse frequency is higher than the encoder pulse frequency.
  • the step S2 specifically includes:
  • the chip clock pulse signal includes: triggering the subdivision chip clock pulse signal by the laser reflection signal to obtain the first clock subdivision sequence ⁇ S i ⁇ pit_laser and triggering the subdivision chip by the encoder
  • the clock pulse signal obtains the second clock subdivision sequence ⁇ S i ⁇ pit_encoder
  • the encoder pulse signal includes: the first encoder count group ⁇ S i ⁇ encoder generated by the encoder , and the encoder pulse signal is triggered by the laser reflection signal Obtain the second encoder count value group ⁇ S i ⁇ encoder_laser ;
  • the step S3 specifically includes: when the first signal and the tail signal of the laser reflection signal corresponding to each reversing cursor occur, the value of the first clock subdivision sequence ⁇ S i ⁇ pit_laser and the second clock subdivision sequence are respectively corresponding ⁇ S i ⁇ The proportion of the difference between the values of pit_encoder in the second clock subdivision sequence ⁇ S i ⁇ pit_encoder and the difference between adjacent values, respectively, to the second encoding count value group ⁇ S i ⁇ Correct the data in the encoder_laser to obtain the higher precision deflection angle value corresponding to each reverse cursor.
  • the step S3 specifically includes:
  • the second clock query sequence segments ⁇ S i ⁇ pit_encoder obtaining not less than (S a) pit_laser maximum value (S c) pit_encoder, and access is not greater than (S b) pit_laser minimum value (S d) pit_encoder;
  • the second clock query sequence segments ⁇ S i ⁇ pit_encoder obtaining greater than (S c) pit_encoder minimum value (S e) pit_encoder, and less than (S d) pit_encoder maximum value (S f) pit_encoder;
  • N begin represents the encoder count value corresponding to the corrected first signal
  • N end represents the encoder count value corresponding to the corrected tail signal
  • step S2 further includes:
  • step S2 further includes:
  • an embodiment of the present invention provides a robot system, which is set in a work area, and a number of inverted cursors with known coordinate values are set in the work area.
  • the system includes:
  • Laser transmitter used to emit laser signal to the anti-cursor to form laser reflection signal
  • the parameter acquisition module is used to acquire the encoder pulse signal generated by the encoder and the chip clock pulse signal corresponding to the trigger period of the encoder pulse signal, as well as the chip clock pulse signal and the encoder pulse signal corresponding to the trigger period of the laser reflection signal;
  • the parameter processing module is used to subdivide the encoder pulse signal by the chip clock pulse signal according to the proportional relationship between the chip clock pulse frequency and the encoder pulse frequency to calculate the precision corresponding to each cursor A higher deflection angle value, where the chip clock pulse frequency is higher than the encoder pulse frequency.
  • the parameter acquisition module is specifically used to: acquire a chip clock pulse signal and an encoder pulse signal
  • the chip clock pulse signal includes: triggering a subdivision chip clock pulse signal by a laser reflection signal a first clock sequence segments ⁇ S i ⁇ pit_laser and trigger sequence to obtain a second clock segment subdivision chip clock signal by the encoder ⁇ S i ⁇ pit_encoder; said encoder pulse signal comprising: a first coding generated The encoder count group ⁇ S i ⁇ encoder , and the second encoder count group ⁇ S i ⁇ encoder_laser is obtained by triggering the encoder pulse signal by the laser reflection signal;
  • the parameter processing module is specifically configured to: when the first signal and the tail signal of the laser reflection signal corresponding to each inverted cursor occur, the value of the first clock subdivision sequence ⁇ S i ⁇ pit_laser and the second clock minute are respectively corresponding partial sequence ⁇ S i ⁇ is the difference between the value of the second clock segment pit_encoder sequence ⁇ S i ⁇ pit_encoder related, share and adjacent the difference between the values respectively set for the second encoder count value ⁇ S i ⁇
  • the data in the encoder_laser is calibrated to obtain the higher precision deflection angle value corresponding to each reverse cursor.
  • the parameter processing module is specifically configured to:
  • the parameter processing module specifically includes: a separation module, a first mapping module, a second mapping module, a third mapping module, a fourth mapping module, and a calculation module;
  • the separation module is used to obtain the first signal and the tail signal of the corresponding laser reflection signal
  • the first mapping module is used to obtain the values (S a ) pit_laser and (S b ) pit_laser that are mapped on the first clock subdivision sequence ⁇ S i ⁇ pit_laser when the first signal and the last signal are generated, respectively , and map them on the second Encoding count value group ⁇ S i ⁇ encoder_laser values (S a ) encoder_laser and (S b ) encoder_laser ;
  • the second mapping module configured to query a second clock segment sequence ⁇ S i ⁇ pit_encoder, obtaining a maximum value of not less than (S a) pit_laser of (S c) pit_encoder, and access is not greater than (S b) pit_laser minimum (S d ) pit_encoder ;
  • the third mapping module is used to query the first encoding count value group ⁇ S i ⁇ encoder to obtain the value (S c ) encoder corresponding to (S c ) pit_encoder and the value (S d ) pit_encoder corresponding to (S d ) pit_laser ;
  • the fourth mapping module is used to query the second clock subdivision sequence ⁇ S i ⁇ pit_encoder to obtain the minimum value (S e ) pit_encoder greater than (S c ) pit_encoder and the maximum value (S f ) less than (S d ) pit_encoder ) pit_encoder ;
  • the calculation module is used to obtain the absolute value of the difference ⁇ S ac between (S a ) pit_laser and (S c ) pit_encoder , and the absolute value of the difference ⁇ S ce between (S c ) pit_encoder and (S e ) pit_encoder , ( S b ) the absolute value of the difference ⁇ S bd between pit_laser and (S d ) pit_encoder and the absolute value of the difference ⁇ S df between (S d ) pit_encoder and (S f ) pit_encoder ;
  • N begin represents the encoder count value corresponding to the corrected first signal
  • N end represents the encoder count value corresponding to the corrected tail signal
  • the parameter acquisition module is also used for:
  • the parameter acquisition module is also used to determine whether the clock pulse signal count value is synchronously generated at the time when the (S c ) encoder is generated, and if so, write the synchronously generated clock pulse signal count value Enter the second clock subdivision sequence ⁇ S i ⁇ pit_encoder and use it as (S c ) pit_encoder ;
  • the method for improving the resolution of the laser turntable and the robot system of the present invention use the chip clock pulse frequency higher than the encoder pulse frequency, and use the pulse generated by the chip clock to subdivide the encoder pulse, using
  • the software solution uses the existing chip clock to improve the accuracy of the encoder, has the technical effect of not increasing the hardware cost, and at the same time has excellent anti-interference performance, easy implementation, and improved robot work efficiency.
  • FIG. 1 is a schematic flowchart of a method for improving the resolution of a laser turntable according to a first embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a specific implementation process of step S3 in FIG. 1;
  • Figures 3 and 4 are respectively structural schematic diagrams of a specific example of the present invention.
  • Fig. 5 is a schematic diagram of modules of a robot system provided by an embodiment of the present invention.
  • the mobile robot system of the present invention may be a lawn mowing robot system, or a sweeping robot system, etc., which automatically walks in the work area for mowing and vacuuming; several inverted cursors with known coordinate values are set in the work area, so
  • the mobile robot includes: a main body, a turntable arranged on the main body and capable of rotating 360 degrees, a laser arranged on the turntable, and a control module.
  • the laser can emit a laser signal at a set frequency.
  • the laser signal When the laser signal is irradiated to the anti-cursor, it will be reflected by the anti-cursor to form a laser reflection signal.
  • the control module can distinguish the anti-cursor according to the received laser reflection signal, and Confirm the current coordinates of the robot by the counter value of the encoder corresponding to the cursor.
  • the first embodiment of the present invention provides a method for improving the resolution of a laser turntable.
  • the main purpose of the first embodiment is to provide the accuracy of the laser turntable.
  • the method includes:
  • the laser transmitter emits a laser signal to the anti-cursor to form a laser reflection signal
  • the chip clock pulse signal is subdivided into the encoder pulse signal to calculate a higher precision deflection corresponding to each reverse cursor Angle value, where the chip clock pulse frequency is higher than the encoder pulse frequency.
  • step S1 when the laser signal is irradiated to the anti-cursor, it will be reflected by the anti-cursor to form a laser reflection signal.
  • the turntable rotates one circle, corresponding to each anti-cursor, multiple laser reflection signals can be obtained according to the frequency of the laser emission signal.
  • the chip clock and encoder are set in the mobile robot control module.
  • the chip clock generates the chip clock pulse signal
  • the encoder generates the encoder pulse signal.
  • the chip The clock pulse frequency is higher than the encoder pulse frequency.
  • the chip clock count value generated by the chip clock and the encoder count value generated by the encoder increase linearly with time; that is, the encoder count value and the chip clock count value are both a group, etc. Time interval and counting values arranged in ascending or descending order.
  • each laser reflection signal corresponds to a different encoder count value according to the receiving sequence And corresponding to different chip clock count values.
  • the chip clock pulse frequency is higher than the encoder pulse frequency, each encoder count value corresponds to a different chip clock count value.
  • the chip clock pulse frequency is higher than the encoder pulse frequency
  • the above and the following embodiments are used to subdivide the encoder pulse with pulses generated by the chip clock to directly use the chip clock to boost
  • the accuracy of the existing encoder does not require a new high-precision encoder, which reduces manufacturing and use costs.
  • the step S2 specifically includes: obtaining a chip clock pulse signal and an encoder pulse signal
  • the chip clock pulse signal includes: triggering a subdivided chip clock pulse signal by a laser reflection signal to obtain the first A clock subdivision sequence ⁇ S i ⁇ pit_laser and a second clock subdivision sequence ⁇ S i ⁇ pit_encoder triggered by the encoder to trigger the subdivision chip clock pulse signal
  • the encoder pulse signal includes: the first encoder generated by the encoder Count group ⁇ S i ⁇ encoder , and trigger the encoder pulse signal by laser reflection signal to obtain the second code count group ⁇ S i ⁇ encoder_laser .
  • the step S3 specifically includes: when the first signal and the last signal of the laser reflection signal corresponding to each inverted cursor occur, the corresponding first clock subdivision sequence ⁇ S i ⁇ pit_laser value and the second clock segment sequence ⁇ S i ⁇ is the difference between the value of the second clock segment pit_encoder sequence ⁇ S i ⁇ pit_encoder related, share and adjacent the difference between the values, respectively, the second encoded count
  • the data in the value group ⁇ S i ⁇ encoder_laser is calibrated to obtain a higher precision deflection angle value corresponding to each reverse cursor.
  • the step S3 specifically includes:
  • step S31 when the laser transmitter emits a laser signal to project each reflector, it will correspondingly receive multiple laser reflection signals.
  • the specific implementation of the present invention corresponds to each reflector and obtains its corresponding laser The first signal and the last signal of the reflected signal; it is understandable that in other embodiments of the present invention, it is also possible to obtain all the laser reflection signals corresponding to each inverted cursor, or part of the laser emission signals.
  • the method further includes: judging whether the encoder count value is synchronously generated at the time when the first signal is generated, and if so, writing the synchronously generated encoder count value into the first clock fine Sub-sequence ⁇ S i ⁇ pit_laser and use it as (S a ) encoder_laser ; if not, the encoder count value that occurs at the time before the first signal occurs and is closest to the first signal is written into the first clock Sub-sequence ⁇ S i ⁇ pit_laser and use it as (S a ) encoder_laser ;
  • the encoder count values corresponding to the first and last signals may be the same or different.
  • the first and last signals of the reverse cursor in the front position The (S a ) encoder_laser and (S b ) encoder_laser values of the signal mapped to the first clock subdivision sequence ⁇ S i ⁇ pit_laser are the same, both are 200; the backward and reverse cursor first and last signals are respectively The values of (S a ) encoder_laser and (S b ) encoder_laser mapped on the first clock subdivision sequence ⁇ S i ⁇ pit_laser are different, (S a ) encoder_laser is 4094, and (S b ) encoder_laser is 4095.
  • the second clock query sequence segments ⁇ S i ⁇ pit_encoder obtaining a maximum value of not less than (S a) pit_laser of (S c) pit_encoder, and access is not greater than (S b) a minimum pit_laser (S d) pit_encoder.
  • the step S2 further includes: judging whether the (S c ) encoder generates the clock pulse signal count value synchronously, and if so, writing the synchronously generated clock pulse signal count value into the second clock segment sequence ⁇ S i ⁇ pit_encoder, and as (S c) pit_encoder; if not, will occur in time before the (S c) encoder occurs, and the distance (S c) encoder recent time a clock pulse generating The signal count value is written into the second clock subdivision sequence ⁇ S i ⁇ pit_encoder , and it is used as (S c ) pit_encoder ;
  • the second clock query sequence segments ⁇ S i ⁇ pit_encoder obtaining greater than (S c) pit_encoder minimum value (S e) pit_encoder, and less than a maximum value (S d) pit_encoder of (S f) pit_encoder.
  • N begin represents the encoder count value corresponding to the corrected first signal
  • N end represents the encoder count value corresponding to the corrected tail signal
  • an embodiment of the present invention provides a robot system corresponding to the above method.
  • the positioning system is set in a work area, and a number of inverted cursors with known coordinate values are set in the work area.
  • the system includes: a laser transmitter 100, a parameter acquisition module, 200, and a parameter processing module 300; wherein the parameter processing module 300 specifically includes: a separation module 301, a first mapping module 302, a second mapping module 303, and a third mapping module 304, a fourth mapping module 305, and a calculation module 306.
  • the laser transmitter 100 is used to emit a laser signal to the anti-cursor to form a laser reflection signal.
  • the parameter acquisition module 200 is used to acquire the encoder pulse signal generated by the encoder and the chip clock pulse signal corresponding to the trigger period of the encoder pulse signal, and to acquire the chip clock pulse signal and the encoder pulse signal corresponding to the trigger period of the laser reflection signal.
  • the parameter processing module 300 is used for subdividing the encoder pulse signal by the chip clock pulse signal according to the proportional relationship between the chip clock pulse frequency and the encoder pulse frequency to calculate the accuracy corresponding to each cursor A higher deflection angle value, where the chip clock pulse frequency is higher than the encoder pulse frequency.
  • the parameter acquisition module 200 is specifically configured to acquire a chip clock pulse signal and an encoder pulse signal
  • the chip clock pulse signal includes: triggering a subdivision chip clock pulse signal by a laser reflection signal to obtain a first clock subdivision Sequence ⁇ S i ⁇ pit_laser and the second clock subdivision sequence ⁇ S i ⁇ pit_encoder triggered by the encoder to trigger the subdivision chip clock pulse signal
  • the encoder pulse signal includes: the first encoder count group ⁇ S i ⁇ encoder , and trigger the encoder pulse signal by the laser reflection signal to obtain the second set of encoder count values ⁇ S i ⁇ encoder_laser .
  • the parameter processing module 300 is specifically configured to correspond to the first clock subdivision sequence ⁇ S i ⁇ pit_laser value and the second clock subdivision sequence when the first signal and the tail signal of the laser reflection signal corresponding to each inverted cursor occur.
  • ⁇ S i The proportion of the difference between the values of pit_encoder in the second clock subdivision sequence ⁇ S i ⁇ pit_encoder and the difference between adjacent values, respectively, to the second encoding count value group ⁇ S i ⁇ Correct the data in the encoder_laser to obtain the higher precision deflection angle value corresponding to each reverse cursor.
  • the separation module 301 is used to obtain the first signal and the tail signal of the corresponding laser reflection signal for each reverse cursor.
  • the first mapping module 302 is used to obtain the values (S a ) pit_laser and (S b ) pit_laser mapped on the first clock subdivision sequence ⁇ S i ⁇ pit_laser when the first signal and the last signal are generated, respectively , and map them to the second code the count value of the group values ⁇ S i ⁇ on encoder_laser (S a) encoder_laser and (S b) encoder_laser.
  • Second mapping module 303 is used to clock a second query sequence segments ⁇ S i ⁇ pit_encoder, obtaining a maximum value of not less than (S a) pit_laser of (S c) pit_encoder, and access is not greater than (S b) of the minimum pit_laser ( S d ) pit_encoder .
  • the third mapping module 304 is configured to query the first encoding count value group ⁇ S i ⁇ encoder to obtain the value (S c ) encoder corresponding to (S c ) pit_encoder and the value (S d ) pit_encoder corresponding to (S d ) pit_laser .
  • the fourth mapping module 305 is used to query the second clock subdivision sequence ⁇ S i ⁇ pit_encoder to obtain the minimum value (S e ) pit_encoder greater than (S c ) pit_encoder and the maximum value (S f ) less than (S d ) pit_encoder pit_encoder .
  • the calculation module 306 is used to obtain the absolute value of the difference ⁇ S ac between (S a ) pit_laser and (S c ) pit_encoder , and the absolute value of the difference ⁇ S ce between (S c ) pit_encoder and (S e ) pit_encoder , (S b ) The absolute value of the difference ⁇ S bd between pit_laser and (S d ) pit_encoder and the absolute value of the difference ⁇ S df between (S d ) pit_encoder and (S f ) pit_encoder ;
  • N begin represents the encoder count value corresponding to the corrected first signal
  • N end represents the encoder count value corresponding to the corrected tail signal
  • the parameter acquisition module 200 is further used to determine whether the encoder count value is synchronously generated at the time when the first signal is generated, and if so, write the synchronously generated encoder count value into the first clock Sub-sequence ⁇ S i ⁇ pit_laser and use it as (S a ) encoder_laser ; if not, the encoder count value that occurs at the time before the first signal occurs and is closest to the first signal is written into the first clock Sub-sequence ⁇ S i ⁇ pit_laser and use it as (S a ) encoder_laser ; and determine whether the encoder count value is generated synchronously at the time when the tail signal occurs.
  • the parameter acquisition module 200 is also used to determine whether the (S c ) encoder generates the clock pulse signal count value synchronously, and if so, write the synchronously generated clock pulse signal count value into the second clock subdivision sequence ⁇ S i ⁇ pit_encoder, and as (S c) pit_encoder; if not, will occur in time before the (S c) encoder occurs, and the distance (S c) encoder latest count value of a clock signal occurs first write timing Second clock subdivision sequence ⁇ S i ⁇ pit_encoder , and use it as (S c ) pit_encoder ; judge whether the clock pulse signal count value is generated synchronously at the time of (S d ) encoder generation, if so, count the clock pulse signal generated synchronously value is written to the second clock segment sequence ⁇ S i ⁇ pit_encoder, and as (S d) pit_encoder; if not, will occur in time before the (S d) encoder occurs, and the time distance (S
  • the method for improving the resolution of a laser turntable and the robot system of the present invention use the chip clock pulse frequency higher than the encoder pulse frequency, and use the pulse generated by the chip clock to subdivide the encoder pulse, using
  • the software solution uses the existing chip clock to improve the accuracy of the encoder, has the technical effect of not increasing the hardware cost, and at the same time has excellent anti-interference performance, easy implementation, and improved robot work efficiency.
  • the disclosed system, system, and method may be implemented in other ways.
  • the system implementation described above is only illustrative.
  • the division of the modules is only a logical function division, and there may be other divisions in actual implementation, for example, multiple modules or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, systems or modules, and may be in electrical, mechanical or other forms.
  • modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed to multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the objectives of the solutions of this embodiment.
  • the functional modules in the various embodiments of the present application may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, or in the form of hardware plus software functional modules.
  • the above-mentioned integrated modules implemented in the form of software function modules may be stored in a computer readable storage medium.
  • the above-mentioned software function module is stored in a storage medium, and includes several instructions to make a computer system (which may be a personal computer, a server, or a network system, etc.) or a processor execute the methods described in the various embodiments of this application. Part of the steps.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Abstract

提供一种提高激光转台分辨率的方法及机器人系统,方法包括:获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号(S2);根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将芯片时钟脉冲信号对编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器脉冲频率(S3)。利用芯片时钟脉冲频率高于编码器脉冲频率,使用芯片时钟产生的脉冲对编码器的脉冲进行细分,使用软件方案借助已有的芯片时钟提升编码器精度,具有不增加硬件成本的技术效果。

Description

提高激光转台分辨率的方法及机器人系统 技术领域
本发明涉及智能控制领域,尤其涉及一种提高激光转台分辨率的方法及机器人系统。
背景技术
在移动机器人的应用中,导航是指移动机器人通过传感器感知环境和自身状态,实现在有障碍物的环境中面向目标自主运动;导航的成功需要4个模块,感知、定位、认知以及运动控制,其中,定位是移动机器人导航过程中最基本的环节,所谓定位就是确定机器人在环境中的实时位姿。当前应用较为广泛的定位技术包括:视觉导航定位、全球定位系统、差分GPS定位、激光信号定位等。
激光信号定位方式因更适宜在移动机器人上应用,成为移动机器人定位的主流方式,现有技术中的移动机器人定位方式可参照公告号CN103542846,发明名称“一种移动机器人的定位系统及定位方法”,该方案描述:移动机器人包括激光器,激光器发射激光信号至反光标后形成反射信号,通过反射信号及已知坐标的反光标位置,可获得机器人当前位置相对于任意两个反光标的角度值,并进一步的根据角度值精确定位机器人的当前位置。
在实际应用中,激光器旋转一圈过程中,为了获得相对于更多反光标的反射信号,需要连续激发发射信号,如此,对应于每一反光标,会接收到多条接收信号;相应的,通过接收信号区分反光标变得尤为重要,精确区分反光标是定位移动机器人位置的基础。而在现有技术中,移动机器人通过激光转台旋转过程中的角度编码器读数获取反光标的角度值,由于角度编码器的分辨率不高导致定位效果较差,如通过增设精度更高的角度编码器来提高分辨率则会导致成本较高。
发明内容
为解决上述技术问题,本发明的目的在于提供一种提高激光转台分辨率的方法及机器人系统。
为了实现上述发明目的之一,本发明一实施方式提供一种提高激光转台分辨率的方法,所述方法包括:S1、激光发射器发射激光信号投射至反光标以形成激光反射信号;
S2、获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号;
S3、根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将所述芯片时钟脉冲信号对所述编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器脉冲频率。
作为本发明一实施方式的进一步改进,所述步骤S2具体包括:
获取芯片时钟脉冲信号和编码器脉冲信号,所述芯片时钟脉冲信号包括:通过激光反射信号触发细分芯片时钟脉冲信号得到第一时钟细分序列{S i} pit_laser以及通过编码器触发细分芯片时钟脉冲信号得到第二时钟细分序列{S i} pit_encoder;所述编码器脉冲信号包括:编码器产生的第一编码器计数组{S i} encoder,以及通过激光反射信号触发编码器脉冲信号得到第二编码计数值组{S i} encoder_laser
所述步骤S3具体包括:根据每一反光标对应的激光反射信号的首信号和尾信号发生时,其分别对应的第一时钟细分序列{S i} pit_laser的值与第二时钟细分序列{S i} pit_encoder的值之间的差值在第二时钟细分序列{S i} pit_encoder相关、且相邻的值之间差值上的占比,分别对第二编码计数值组{S i} encoder_laser中的数据进行校正,以获取每一反光标对应的精度更高的偏转角度值。
作为本发明一实施方式的进一步改进,所述步骤S3具体包括:
S31、对于每一反光标,获取其对应的激光反射信号的首信号和尾信号;
S32、分别获取首信号和尾信号产生时映射在第一时钟细分序列{S i} pit_laser上 的值(S a) pit_laser和(S b) pit_laser,以及映射在第二编码计数值组{S i} encoder_laser上的值(S a) encoder_laser和(S b) encoder_laser
S33、查询第二时钟细分序列{S i} pit_encoder,获取不小于(S a) pit_laser的最大值(S c) pit_encoder,以及获取不大于(S b) pit_laser的最小值(S d) pit_encoder
S34、查询第一编码计数值组{S i} encoder,获取(S c) pit_encoder对应的值(S c) encoder以及(S d) pit_encoder对应的值(S d) encoder
S35、查询第二时钟细分序列{S i} pit_encoder,获取大于(S c) pit_encoder的最小值(S e) pit_encoder,以及小于(S d) pit_encoder的最大值(S f) pit_encoder
S36、获得(S a) pit_laser和(S c) pit_encoder之间的差值绝对值ΔS ac,(S c) pit_encoder和(S e) pit_encoder之间的差值绝对值ΔS ce,(S b) pit_laser和(S d) pit_encoder之间的差值绝对值ΔS bd以及(S d) pit_encoder和(S f) pit_encoder之间的差值绝对值ΔS df
Figure PCTCN2019115645-appb-000001
Figure PCTCN2019115645-appb-000002
其中,N begin表示校正后首信号对应的编码器计数值,N end表示校正后尾信号对应的编码器计数值。
作为本发明一实施方式的进一步改进,所述步骤S2还包括:
判断首信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
若否,将发生在首信号发生之前的时刻、且距离首信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
及判断尾信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
若否,将发生在尾信号发生之前的时刻、且距离尾信号发生时刻最近的一 个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
作为本发明一实施方式的进一步改进,所述步骤S2还包括:
判断(S c) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
若否,将发生在(S c) encoder发生之前的时刻、且距离(S c) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
判断(S d) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
若否,将发生在(S d) encoder发生之前的时刻、且距离(S d) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
为了实现上述发明目的之一,本发明一实施方式提供一种机器人系统,该系统设于一工作区域内,所述工作区域内设置若干已知坐标值的反光标,所述系统包括:
激光发射器,用于发射激光信号投射至反光标以形成激光反射信号;
参数获取模块,用于获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号;
参数处理模块,用于根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将所述芯片时钟脉冲信号对所述编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器脉冲频率。
作为本发明一实施方式的进一步改进,所述参数获取模块具体用于:获取芯片时钟脉冲信号和编码器脉冲信号,所述芯片时钟脉冲信号包括:通过激光反射信号触发细分芯片时钟脉冲信号得到第一时钟细分序列{S i} pit_laser以及通过编码器触发细分芯片时钟脉冲信号得到第二时钟细分序列{S i} pit_encoder;所述编码器脉冲信号包括:编码器产生的第一编码器计数组{S i} encoder,以及通过激光反射信号触发编码器脉冲信号得到第二编码计数值组{S i} encoder_laser
所述参数处理模块具体用于:根据每一反光标对应的激光反射信号的首信号和尾信号发生时,其分别对应的第一时钟细分序列{S i} pit_laser的值与第二时钟细分序列{S i} pit_encoder的值之间的差值在第二时钟细分序列{S i} pit_encoder相关、且相邻的值之间差值上的占比,分别对第二编码计数值组{S i} encoder_laser中的数据进行校正,以获取每一反光标对应的精度更高的偏转角度值。
作为本发明一实施方式的进一步改进,所述参数处理模块具体用于:
所述参数处理模块具体包括:分离模块,第一映射模块,第二映射模块,第三映射模块,第四映射模块,以及计算模块;
对于每一反光标,所述分离模块用于获取其对应的激光反射信号的首信号和尾信号;
所述第一映射模块用于分别获取首信号和尾信号产生时映射在第一时钟细分序列{S i} pit_laser上的值(S a) pit_laser和(S b) pit_laser,以及映射在第二编码计数值组{S i} encoder_laser上的值(S a) encoder_laser和(S b) encoder_laser
所述第二映射模块用于查询第二时钟细分序列{S i} pit_encoder,获取不小于(S a) pit_laser的最大值(S c) pit_encoder,以及获取不大于(S b) pit_laser的最小值(S d) pit_encoder
所述第三映射模块用于查询第一编码计数值组{S i} encoder,获取(S c) pit_encoder对应的值(S c) encoder以及(S d) pit_laser对应的值(S d) pit_encoder
所述第四映射模块用于查询第二时钟细分序列{S i} pit_encoder,获取大于 (S c) pit_encoder的最小值(S e) pit_encoder,以及小于(S d) pit_encoder的最大值(S f) pit_encoder
所述计算模块用于获得(S a) pit_laser和(S c) pit_encoder之间的差值绝对值ΔS ac,(S c) pit_encoder和(S e) pit_encoder之间的差值绝对值ΔS ce,(S b) pit_laser和(S d) pit_encoder之间的差值绝对值ΔS bd以及(S d) pit_encoder和(S f) pit_encoder之间的差值绝对值ΔS df
Figure PCTCN2019115645-appb-000003
Figure PCTCN2019115645-appb-000004
其中,N begin表示校正后首信号对应的编码器计数值,N end表示校正后尾信号对应的编码器计数值。
作为本发明一实施方式的进一步改进,所述参数获取模块还用于:
判断首信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
若否,将发生在首信号发生之前的时刻、且距离首信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
及判断尾信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
若否,将发生在尾信号发生之前的时刻、且距离尾信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
作为本发明一实施方式的进一步改进,所述参数获取模块还用于:判断(S c) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
若否,将发生在(S c) encoder发生之前的时刻、且距离(S c) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为 (S c) pit_encoder
判断(S d) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
若否,将发生在(S d) encoder发生之前的时刻、且距离(S d) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
与现有技术相比,本发明的提高激光转台分辨率的方法以及机器人系统,利用芯片时钟脉冲频率高于编码器脉冲频率,而使用芯片时钟产生的脉冲对编码器的脉冲进行细分,使用软件方案借助已有的芯片时钟提升编码器精度,具有不增加硬件成本的技术效果,同时具有优良的抗干扰性能,实施方便,提高机器人的工作效率。
附图说明
图1是本发明第一实施方式提供的提高激光转台分辨率的方法的流程示意图;
图2是图1中步骤S3的具体实现过程的流程示意图;
图3、图4分别是本发明一具体示例的结构示意图;
图5是本发明一实施方式提供的机器人系统的模块示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
本发明的移动机器人系统可以是割草机器人系统,或者扫地机器人系统等,其自动行走于工作区域以进行割草、吸尘工作;所述工作区域内设置若干已知坐标值的反光标,所述移动机器人包括:本体,设置于本体上且可以360度旋 转的转台,设置于所述转台上的激光器以及控制模块。
所述激光器可按设定的频率发射激光信号,当激光信号照射至反光标时,会被反光标反射而形成激光反射信号,所述控制模块可以根据接收到的激光反射信号区分反光标,并通过反光标对应的编码器计数值确认机器人的当前坐标。
结合图1所示,本发明第一实施方式提供的提高激光转台分辨率的方法,该第一实施方式的主要目的在于,提供激光转台的精度。相应的,所述方法包括:
S1、激光发射器发射激光信号投射至反光标以形成激光反射信号;
S2、获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号;
S3、根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将所述芯片时钟脉冲信号对所述编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器脉冲频率。
对于步骤S1,当激光信号照射至反光标时,会被反光标反射而形成激光反射信号。在转台旋转一圈过程中,对应于每一反光标,根据激光器发射信号的频率不同,可获得多个激光反射信号。
对于步骤S2,在移动机器人控制模块内设置芯片时钟和编码器,移动机器人运行过程中,芯片时钟产生芯片时钟脉冲信号,编码器产生编码器脉冲信号,较佳的,本发明实现方式中,芯片时钟脉冲频率高于编码器脉冲频率,芯片时钟产生的芯片时钟计数值以及编码器产生的编码器计数值均随着时间线性增长;即编码器计数值以及芯片时钟的计数值均为一组等时间间距且按升序或降序排列的计数值,在本申请中,因为激光反射信号的接收时间不同,如此,在转台旋转一圈过程中,各个激光反射信号按接收时序对应不同的编码器计数值以及对应不同的芯片时钟计数值,同时,因为芯片时钟脉冲频率高于编码器脉冲频率,因此,各个编码器计数值也对应不同的芯片时钟计数值。
本发明的可实现方式中,由于芯片时钟脉冲频率高于编码器脉冲频率,如此,采用上述以及下述实施方式用芯片时钟产生的脉冲对编码器的脉冲进行细分,以直接利用芯片时钟提升现有编码器的精度,不需要新增加高精度的编码器,降低制造及使用成本。
本发明具体实施方式中,对于步骤S2,所述步骤S2具体包括:获取芯片时钟脉冲信号和编码器脉冲信号,所述芯片时钟脉冲信号包括:通过激光反射信号触发细分芯片时钟脉冲信号得到第一时钟细分序列{S i} pit_laser以及通过编码器触发细分芯片时钟脉冲信号得到第二时钟细分序列{S i} pit_encoder;所述编码器脉冲信号包括:编码器产生的第一编码器计数组{S i} encoder,,以及通过激光反射信号触发编码器脉冲信号得到第二编码计数值组{S i} encoder_laser
对于步骤S3,所述步骤S3具体包括:根据每一反光标对应的激光反射信号的首信号和尾信号发生时,其分别对应的第一时钟细分序列{S i} pit_laser的值与第二时钟细分序列{S i} pit_encoder的值之间的差值在第二时钟细分序列{S i} pit_encoder相关、且相邻的值之间差值上的占比,分别对第二编码计数值组{S i} encoder_laser中的数据进行校正,以获取每一反光标对应的精度更高的偏转角度值。
本发明较佳实施方式中,结合图2、图3、图4所示,所述步骤S3具体包括:
S31、对于每一反光标,获取其对应的激光反射信号的首信号和尾信号;
对于步骤S31,激光发射器发射激光信号投射至每一个反光标时,会对应接收到多个激光反射信号,为了便于计算,本发明具体实现方式中对应于每一个反光标,获取其对应的激光反射信号的首信号和尾信号;而可以理解的是,在本发明的其他实施方式中,也可以获取每一个反光标对应的所有激光反射信号,或部分激光发射信号,通过本发明内容,可以毫无疑义的推导得出以其它基础数据而获得最终结果的过程,故,在此不做进一步的具体赘述。
S32、分别获取首信号和尾信号产生时映射在第一时钟细分序列{S i} pit_laser上 的值(S a) pit_laser和(S b) pit_laser,以及映射在第二编码计数值组{S i} encoder_laser上的值(S a) encoder_laser和(S b) encoder_laser
本发明一较佳实施方式中,对于步骤S2,所述方法还包括:判断首信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser;若否,将发生在首信号发生之前的时刻、且距离首信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
及判断尾信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser;若否,将发生在尾信号发生之前的时刻、且距离尾信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
需要说明的是,实际应用中,对应于每一反光标,其首先号和尾信号对应的编码器计数值可能相同也可能不同,如3图所示,位置靠前的反光标首信号和尾信号所分别映射在第一时钟细分序列{S i} pit_laser上的(S a) encoder_laser和(S b) encoder_laser的数值相同,均为200;位置靠后的反光标首信号和尾信号所分别映射在第一时钟细分序列{S i} pit_laser上的(S a) encoder_laser和(S b) encoder_laser的数值不同,(S a) encoder_laser为4094,(S b) encoder_laser为4095。
S33、查询第二时钟细分序列{S i} pit_encoder,获取不小于(S a) pit_laser的最大值(S c) pit_encoder,以及获取不大于(S b) pit_laser的最小值(S d) pit_encoder
S24、查询第一编码计数值组{S i} encoder,获取(S c) pit_encoder对应的值(S c) encoder以及(S d) pit_encoder对应的值(S d) encoder
本发明一较佳实施方式中,所述步骤S2还包括:判断(S c) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数 值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder;若否,将发生在(S c) encoder发生之前的时刻、且距离(S c) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
判断(S d) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder;若否,将发生在(S d) encoder发生之前的时刻、且距离(S d) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
S35、查询第二时钟细分序列{S i} pit_encoder,获取大于(S c) pit_encoder的最小值(S e) pit_encoder,以及小于(S d) pit_encoder的最大值(S f) pit_encoder
S26、获得(S a) pit_laser和(S c) pit_encoder之间的差值绝对值ΔS ac,(S c) pit_encoder和(S e) pit_encoder之间的差值绝对值ΔS ce,(S b) pit_laser和(S d) pit_encoder之间的差值绝对值ΔS bd以及(S d) pit_encoder和(S f) pit_encoder之间的差值绝对值ΔS df
Figure PCTCN2019115645-appb-000005
Figure PCTCN2019115645-appb-000006
其中,N begin表示校正后首信号对应的编码器计数值,N end表示校正后尾信号对应的编码器计数值。
结合图5所示,本发明一实施方式提供的对应于实现上述方法的机器人系统,该定位系统设于一工作区域内,所述工作区域内设置若干已知坐标值的反光标,所述定位系统包括:激光发射器100,参数获取模块,200,参数处理模块300;其中,所述参数处理模块300具体包括:分离模块301,第一映射模块302,第二映射模块303,第三映射模块304,第四映射模块305,以及计算模块306。
激光发射器100用于发射激光信号投射至反光标以形成激光反射信号。
参数获取模块200用于获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号。
参数处理模块300用于根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将所述芯片时钟脉冲信号对所述编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器脉冲频率。
本发明具体实施方式中,参数获取模块200具体用于获取芯片时钟脉冲信号和编码器脉冲信号,所述芯片时钟脉冲信号包括:通过激光反射信号触发细分芯片时钟脉冲信号得到第一时钟细分序列{S i} pit_laser以及通过编码器触发细分芯片时钟脉冲信号得到第二时钟细分序列{S i} pit_encoder;所述编码器脉冲信号包括:编码器产生的第一编码器计数组{S i} encoder,以及通过激光反射信号触发编码器脉冲信号得到第二编码计数值组{S i} encoder_laser
参数处理模块300具体用于根据每一反光标对应的激光反射信号的首信号和尾信号发生时,其分别对应的第一时钟细分序列{S i} pit_laser的值与第二时钟细分序列{S i} pit_encoder的值之间的差值在第二时钟细分序列{S i} pit_encoder相关、且相邻的值之间差值上的占比,分别对第二编码计数值组{S i} encoder_laser中的数据进行校正,以获取每一反光标对应的精度更高的偏转角度值。
本发明较佳实施方式中,分离模块301用于:对于每一反光标,获取其对应的激光反射信号的首信号和尾信号。
第一映射模块302用于分别获取首信号和尾信号产生时映射在第一时钟细分序列{S i} pit_laser上的值(S a) pit_laser和(S b) pit_laser,以及映射在第二编码计数值组{S i} encoder_laser上的值(S a) encoder_laser和(S b) encoder_laser
第二映射模块303用于查询第二时钟细分序列{S i} pit_encoder,获取不小于 (S a) pit_laser的最大值(S c) pit_encoder,以及获取不大于(S b) pit_laser的最小值(S d) pit_encoder
第三映射模块304用于查询第一编码计数值组{S i} encoder,获取(S c) pit_encoder对应的值(S c) encoder以及(S d) pit_laser对应的值(S d) pit_encoder
第四映射模块305用于查询第二时钟细分序列{S i} pit_encoder,获取大于(S c) pit_encoder的最小值(S e) pit_encoder,以及小于(S d) pit_encoder的最大值(S f) pit_encoder
计算模块306用于获得(S a) pit_laser和(S c) pit_encoder之间的差值绝对值ΔS ac,(S c) pit_encoder和(S e) pit_encoder之间的差值绝对值ΔS ce,(S b) pit_laser和(S d) pit_encoder之间的差值绝对值ΔS bd以及(S d) pit_encoder和(S f) pit_encoder之间的差值绝对值ΔS df
Figure PCTCN2019115645-appb-000007
Figure PCTCN2019115645-appb-000008
其中,N begin表示校正后首信号对应的编码器计数值,N end表示校正后尾信号对应的编码器计数值。
本发明一较佳实施方式中,所述参数获取模块200还用于:判断首信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser;若否,将发生在首信号发生之前的时刻、且距离首信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser;及判断尾信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser;若否,将发生在尾信号发生之前的时刻、且距离尾信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
所述参数获取模块200还用于:判断(S c) encoder发生时刻,是否同步产生时钟 脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder;若否,将发生在(S c) encoder发生之前的时刻、且距离(S c) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder;判断(S d) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder;若否,将发生在(S d) encoder发生之前的时刻、且距离(S d) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
与现有技术相比,本发明的提高激光转台分辨率的方法及机器人系统,利用芯片时钟脉冲频率高于编码器脉冲频率,而使用芯片时钟产生的脉冲对编码器的脉冲进行细分,使用软件方案借助已有的芯片时钟提升编码器精度,具有不增加硬件成本的技术效果,同时具有优良的抗干扰性能,实施方便,提高机器人的工作效率。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者 也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)或处理器(processor)执行本申请各个实施方式所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施方式对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施方式技术方案的精神和范围。

Claims (10)

  1. 一种提高激光转台分辨率的方法,其特征是,所述方法包括:
    S1、激光发射器发射激光信号投射至反光标以形成激光反射信号;
    S2、获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号;
    S3、根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将所述芯片时钟脉冲信号对所述编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器脉冲频率。
  2. 根据权利要求1所述的提高激光转台分辨率的方法,其特征是,所述步骤S2具体包括:获取芯片时钟脉冲信号和编码器脉冲信号,所述芯片时钟脉冲信号包括:通过激光反射信号触发细分芯片时钟脉冲信号得到第一时钟细分序列{S i} pit_laser以及通过编码器触发细分芯片时钟脉冲信号得到第二时钟细分序列{S i} pit_encoder;所述编码器脉冲信号包括:编码器产生的第一编码器计数组{S i} encoder,以及通过激光反射信号触发编码器脉冲信号得到第二编码计数值组{S i} encoder_laser
    所述步骤S3具体包括:根据每一反光标对应的激光反射信号的首信号和尾信号发生时,其分别对应的第一时钟细分序列{S i} pit_laser的值与第二时钟细分序列{S i} pit_encoder的值之间的差值在第二时钟细分序列{S i} pit_encoder相关、且相邻的值之间差值上的占比,分别对第二编码计数值组{S i} encoder_laser中的数据进行校正,以获取每一反光标对应的精度更高的偏转角度值。
  3. 根据权利要求2所述的提高激光转台分辨率的方法,其特征是,所述步骤S3具体包括:
    S31、对于每一反光标,获取其对应的激光反射信号的首信号和尾信号;
    S32、分别获取首信号和尾信号产生时映射在第一时钟细分序列{S i} pit_laser上 的值(S a) pit_laser和(S b) pit_laser,以及映射在第二编码计数值组{S i} encoder_laser上的值(S a) encoder_laser和(S b) encoder_laser
    S33、查询第二时钟细分序列{S i} pit_encoder,获取不小于(S a) pit_laser的最大值(S c) pit_encoder,以及获取不大于(S b) pit_laser的最小值(S d) pit_encoder
    S34、查询第一编码计数值组{S i} encoder,获取(S c) pit_encoder对应的值(S c) encoder以及(S d) pit_encoder对应的值(S d) encoder
    S35、查询第二时钟细分序列{S i} pit_encoder,获取大于(S c) pit_encoder的最小值(S e) pit_encoder,以及小于(S d) pit_encoder的最大值(S f) pit_encoder
    S36、获得(S a) pit_laser和(S c) pit_encoder之间的差值绝对值ΔS ac,(S c) pit_encoder和(S e) pit_encoder之间的差值绝对值ΔS ce,(S b) pit_laser和(S d) pit_encoder之间的差值绝对值ΔS bd以及(S d) pit_encoder和(S f) pit_encoder之间的差值绝对值ΔS df
    Figure PCTCN2019115645-appb-100001
    Figure PCTCN2019115645-appb-100002
    其中,N begin表示校正后首信号对应的编码器计数值,N end表示校正后尾信号对应的编码器计数值。
  4. 根据权利要求3所述的提高激光转台分辨率的方法,其特征是,所述步骤S2还包括:
    判断首信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
    若否,将发生在首信号发生之前的时刻、且距离首信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
    及判断尾信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
    若否,将发生在尾信号发生之前的时刻、且距离尾信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
  5. 根据权利要求3所述的提高激光转台分辨率的方法,其特征是,所述步骤S2还包括:
    判断(S c) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
    若否,将发生在(S c) encoder发生之前的时刻、且距离(S c) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
    判断(S d) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
    若否,将发生在(S d) encoder发生之前的时刻、且距离(S d) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
  6. 一种机器人系统,该系统设于一工作区域内,所述工作区域内设置若干已知坐标值的反光标,其特征是,所述系统包括:
    激光发射器,用于发射激光信号投射至反光标以形成激光反射信号;
    参数获取模块,用于获取编码器产生的编码器脉冲信号和编码器脉冲信号触发期间对应的芯片时钟脉冲信号,以及获取激光反射信号触发期间对应的芯片时钟脉冲信号和编码器脉冲信号;
    参数处理模块,用于根据芯片时钟脉冲频率与编码器脉冲频率之间的比例关系,将所述芯片时钟脉冲信号对所述编码器脉冲信号进行细分以计算得出每一反光标对应的精度更高的偏转角度值,其中,芯片时钟脉冲频率高于编码器 脉冲频率。
  7. 根据权利要求6所述的机器人系统,其特征是,
    所述参数获取模块具体用于:获取芯片时钟脉冲信号和编码器脉冲信号,所述芯片时钟脉冲信号包括:通过激光反射信号触发细分芯片时钟脉冲信号得到第一时钟细分序列{S i} pit_laser以及通过编码器触发细分芯片时钟脉冲信号得到第二时钟细分序列{S i} pit_encoder;所述编码器脉冲信号包括:编码器产生的第一编码器计数组{S i} encoder,以及通过激光反射信号触发编码器脉冲信号得到第二编码计数值组{S i} encoder_laser
    所述参数处理模块具体用于:根据每一反光标对应的激光反射信号的首信号和尾信号发生时,其分别对应的第一时钟细分序列{S i} pit_laser的值与第二时钟细分序列{S i} pit_encoder的值之间的差值在第二时钟细分序列{S i} pit_encoder相关、且相邻的值之间差值上的占比,分别对第二编码计数值组{S i} encoder_laser中的数据进行校正,以获取每一反光标对应的精度更高的偏转角度值。
  8. 根据权利要求7所述的机器人系统,其特征是,所述参数处理模块具体用于:
    所述参数处理模块具体包括:分离模块,第一映射模块,第二映射模块,第三映射模块,第四映射模块,以及计算模块;
    对于每一反光标,所述分离模块用于获取其对应的激光反射信号的首信号和尾信号;
    所述第一映射模块用于分别获取首信号和尾信号产生时映射在第一时钟细分序列{S i} pit_laser上的值(S a) pit_laser和(S b) pit_laser,以及映射在第二编码计数值组{S i} encoder_laser上的值(S a) encoder_laser和(S b) encoder_laser
    所述第二映射模块用于查询第二时钟细分序列{S i} pit_encoder,获取不小于(S a) pit_laser的最大值(S c) pit_encoder,以及获取不大于(S b) pit_laser的最小值(S d) pit_encoder
    所述第三映射模块用于查询第一编码计数值组{S i} encoder,获取(S c) pit_encoder对应的值(S c) encoder以及(S d) pit_laser对应的值(S d) pit_encoder
    所述第四映射模块用于查询第二时钟细分序列{S i} pit_encoder,获取大于(S c) pit_encoder的最小值(S e) pit_encoder,以及小于(S d) pit_encoder的最大值(S f) pit_encoder
    所述计算模块用于获得(S a) pit_laser和(S c) pit_encoder之间的差值绝对值ΔS ac,(S c) pit_encoder和(S e) pit_encoder之间的差值绝对值ΔS ce,(S b) pit_laser和(S d) pit_encoder之间的差值绝对值ΔS bd以及(S d) pit_encoder和(S f) pit_encoder之间的差值绝对值ΔS df
    Figure PCTCN2019115645-appb-100003
    Figure PCTCN2019115645-appb-100004
    其中,N begin表示校正后首信号对应的编码器计数值,N end表示校正后尾信号对应的编码器计数值。
  9. 根据权利要求8所述的机器人系统,其特征是,所述参数获取模块还用于:
    判断首信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
    若否,将发生在首信号发生之前的时刻、且距离首信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S a) encoder_laser
    及判断尾信号发生时刻,是否同步产生编码器计数值,若是,将该同步产生的编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
    若否,将发生在尾信号发生之前的时刻、且距离尾信号发生时刻最近的一个编码器计数值写入第一时钟细分序列{S i} pit_laser,并将其作为(S b) encoder_laser
  10. 根据权利要求8所述的机器人系统,其特征是,所述参数获取模块还 用于:判断(S c) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
    若否,将发生在(S c) encoder发生之前的时刻、且距离(S c) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S c) pit_encoder
    判断(S d) encoder发生时刻,是否同步产生时钟脉冲信号计数值,若是,将该同步产生的时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
    若否,将发生在(S d) encoder发生之前的时刻、且距离(S d) encoder发生时刻最近的一个时钟脉冲信号计数值写入第二时钟细分序列{S i} pit_encoder,并将其作为(S d) pit_encoder
PCT/CN2019/115645 2019-04-10 2019-11-05 提高激光转台分辨率的方法及机器人系统 WO2020207001A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910286280.X 2019-04-10
CN201910286280.XA CN111812667B (zh) 2019-04-10 2019-04-10 提高激光转台分辨率的方法及机器人系统

Publications (1)

Publication Number Publication Date
WO2020207001A1 true WO2020207001A1 (zh) 2020-10-15

Family

ID=72750877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/115645 WO2020207001A1 (zh) 2019-04-10 2019-11-05 提高激光转台分辨率的方法及机器人系统

Country Status (2)

Country Link
CN (1) CN111812667B (zh)
WO (1) WO2020207001A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223757A (ja) * 2008-03-18 2009-10-01 Toyota Motor Corp 自律移動体、その制御システム、自己位置推定方法
CN201615907U (zh) * 2010-02-02 2010-10-27 北京航天控制仪器研究所 一种旋转台低角速率检测装置
CN101893457A (zh) * 2010-06-22 2010-11-24 南京航空航天大学 连续运动高精度全参数检测方法
CN103542846A (zh) * 2012-07-16 2014-01-29 苏州科瓴精密机械科技有限公司 一种移动机器人的定位系统及其定位方法
CN104317253A (zh) * 2014-10-27 2015-01-28 浙江理工大学 一种用于伺服电机位置控制的系统方法
CN106092148A (zh) * 2015-04-29 2016-11-09 飞思卡尔半导体公司 用于测量物体运动的基于计数器的电路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104914744A (zh) * 2015-04-09 2015-09-16 中国科学院半导体研究所 用于编码成像的在线可编码同步控制系统和控制方法
CN106353740A (zh) * 2016-10-14 2017-01-25 中国人民解放军海军航空工程学院 一种基于时序脉冲编码的无线电应答标校设备
CN107991662B (zh) * 2017-12-06 2023-12-15 南京添马机械科技股份有限公司 一种3d激光和2d成像同步扫描装置及其扫描方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223757A (ja) * 2008-03-18 2009-10-01 Toyota Motor Corp 自律移動体、その制御システム、自己位置推定方法
CN201615907U (zh) * 2010-02-02 2010-10-27 北京航天控制仪器研究所 一种旋转台低角速率检测装置
CN101893457A (zh) * 2010-06-22 2010-11-24 南京航空航天大学 连续运动高精度全参数检测方法
CN103542846A (zh) * 2012-07-16 2014-01-29 苏州科瓴精密机械科技有限公司 一种移动机器人的定位系统及其定位方法
CN104317253A (zh) * 2014-10-27 2015-01-28 浙江理工大学 一种用于伺服电机位置控制的系统方法
CN106092148A (zh) * 2015-04-29 2016-11-09 飞思卡尔半导体公司 用于测量物体运动的基于计数器的电路

Also Published As

Publication number Publication date
CN111812667A (zh) 2020-10-23
CN111812667B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN111492265B (zh) 基于3d激光雷达测量的多分辨率、同时定位和地图绘制
US11815625B2 (en) Methods and devices for correcting underwater photon displacement and for depth sounding with single-photon Lidar
US11815601B2 (en) Methods and systems for geo-referencing mapping systems
CN109807911B (zh) 基于gnss、uwb、imu、激光雷达、码盘的室外巡逻机器人多环境联合定位方法
JP6129863B2 (ja) 3次元タッチタイプ入力システム及び光ナビゲーション方法
CN110542436B (zh) 车辆定位系统的评测方法、装置、设备及存储介质
CN109946649B (zh) 低成本室内狭长环境二维uwb系统定位方法
US20100332124A1 (en) Analyzing and Consolidating Track File Data
CN108490426A (zh) 一种目标测距方法及其设备
WO2014012351A1 (zh) 一种移动机器人的定位系统及其定位方法
CN108638062A (zh) 机器人定位方法、装置、定位设备及存储介质
WO2021239054A1 (zh) 空间测量装置、方法、设备以及计算机可读存储介质
Köhler et al. Tracksense: Infrastructure free precise indoor positioning using projected patterns
Hallaway et al. Coarse, inexpensive, infrared tracking for wearable computing
CN112904353A (zh) 一种激光雷达距离信号模拟方法与模拟信号发生器
CN110856104A (zh) 一种联合最小二乘和三边定位的超宽带室内定位方法
WO2020207001A1 (zh) 提高激光转台分辨率的方法及机器人系统
CN110261825A (zh) 双基阵长基线水声定位方法及系统
CN103592627A (zh) 确定可控震源组合中心的方法及装置
CN206095257U (zh) 智能巡视机器人组合导航系统
WO2020192127A1 (zh) 识别反光标方法、移动机器人定位方法及移动机器人系统
CN110501715B (zh) 反光标辨识方法及移动机器人系统
WO2020155159A1 (zh) 增加点云采样密度的方法、点云扫描系统、可读存储介质
CN108548536A (zh) 无人驾驶智能机器人的位置推算方法
CN109816783B (zh) 一种坐标扩散实现三维建模的测绘方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19924218

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19924218

Country of ref document: EP

Kind code of ref document: A1