CN100416551C - Control point smoothing method based on preceding deviation - Google Patents

Control point smoothing method based on preceding deviation Download PDF

Info

Publication number
CN100416551C
CN100416551C CNB2006100520980A CN200610052098A CN100416551C CN 100416551 C CN100416551 C CN 100416551C CN B2006100520980 A CNB2006100520980 A CN B2006100520980A CN 200610052098 A CN200610052098 A CN 200610052098A CN 100416551 C CN100416551 C CN 100416551C
Authority
CN
China
Prior art keywords
last
flag
current
constantly
reference mark
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CNB2006100520980A
Other languages
Chinese (zh)
Other versions
CN1866242A (en
Inventor
陈纯
卜佳俊
杨建旭
姜波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100520980A priority Critical patent/CN100416551C/en
Publication of CN1866242A publication Critical patent/CN1866242A/en
Application granted granted Critical
Publication of CN100416551C publication Critical patent/CN100416551C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

The present invention discloses a control point smoothing method based on preceding deviation, which dynamically adjusts the positions of control points based on the preceding prediction deviation to realize the smoothing processing of remote-range control points. The present invention is the improvement of a Dead-reckoning method which utilizes speed and acceleration parameters of an object to carry out dynamic prediction. The present invention not only utilizes the speed and the acceleration of the object, but also utilizes the past deviation to carry out micro adjustment. Thus, the present invention has the advantages that the prediction precision to the movement of the control points is improved; the control point smoothing method makes up undesirable results brought by the judder of a network; smooth mobile traces of the remote control points are shown to users; a better perception effect can be attained.

Description

Reference mark smoothing method based on preceding deviation
Technical field
The present invention relates to the computer supported cooperative work field, particularly relate to a kind of reference mark smoothing method based on preceding deviation.
Background technology
One of 20th century mankind's outstanding achievement computer technology has been brought human society into the information age.Be accompanied by deepening continuously of IT application process, the communication technology, computing machine and network technology merge mutually, have produced a new research field-computer supported cooperative work CSCW (Computer SupportedCooperative Work).
As collaborative design person during in co-operation, the monitoring Long-distance Control locus of points can help the user to understand preferably and predict other devisers' intention.The change procedure that represents long-range pattern objects is for supporting that collaborative work is of great value means.Yet usually there is the instability of delay in network, also is called shake (jitter), and this may cause representing under the real time environment the inaccurate of remote participant activity.Shake can cause the discontinuous of Long-distance Control point motion track, causes the user to misread or even operating collision.In order to relax the negative effect brought of shake, adopt usually based on known historical position and predict that Long-distance Control puts the method for next position, with the track of skimulated motion, reach level and smooth natural effect.
There is certain limitation in track following (Tracing) technology at present, the main mutual effect that adopts the Dead-reckoning method to improve player and distributed objects in the internet game on-line.The Dead-reckoning method has been utilized speed, the acceleration parameter of object, shows good effect in the moving process based on the strong inertial mass of mechanics.The Dead-reckoning Forecasting Methodology is applied to equally cuts down the shake effect that move at the reference mark, experimental results show that this prediction can improve in the group system immediacy and naturality mutual between the user.Yet the prediction accuracy of Dead-reckoning under this application still has much room for improvement.
Summary of the invention
The object of the present invention is to provide a kind of reference mark smoothing method based on preceding deviation.
The technical scheme that the present invention solves its technical matters employing is as follows:
1) the Long-distance Control point of the nearest N of record within second is in the shift position of each millisecond;
2) when network jitter takes place, for the shift position of PREDICTIVE CONTROL point, at first calculation control point is used aveVelocity at the present speed of directions X and Y direction XAnd aveVelocity YRepresent; Present speed is by from current nearest T LastPosition coordinates (X constantly Last, Y Last) and the preceding T of M millisecond FlagPosition coordinates (the X that constantly receives Flag, Y Flag) calculate;
aveVelocit y X = ( X last - X flag ) / ( T last - T flag ) aveVelocit y Y = ( Y last - Y flag ) / ( T last - T flag )
3) calculation control point is used aveAcceleration in the current acceleration of directions X and Y direction XAnd aveAcceleration YRepresent; Current acceleration is by from current nearest T LastSpeed and T constantly FlagSpeed is calculated constantly; Wherein, T LastPosition constantly is (X Last, Y Last), T FlagPosition constantly is (X Flag, Y Flag); T FlagBe T constantly LastThe moment before the moment M millisecond;
aveAcceleratio n X = ( Velocity Xlast - Velocity Xflag ) / ( T last - T flag ) aveAcceleratio n Y = ( Velocity Ylast - Velocity Yflag ) / ( T last - T flag )
Wherein:
Velocity XlastBe that the reference mark is at horizontal ordinate directions X T LastSpeed constantly;
Velocity XflagBe that the reference mark is at horizontal ordinate directions X T FlagSpeed constantly;
Velocity YlastBe that the reference mark is at ordinate Y direction T LastSpeed constantly;
Velocity YflagBe that the reference mark is at ordinate Y direction T FlagSpeed constantly;
4) calculation control point is represented with Δ x and Δ y respectively at the correcting value of horizontal ordinate directions X and ordinate Y direction, and Δ x is relevant with following factor with Δ y:
(1) preceding once horizontal ordinate (X, predicted value Y) when shake finishes;
(2) preceding corresponding horizontal ordinate (X, actual value Y) that receives when finishing of once shaking;
(3) current shake time-delay;
(4) preceding once shake time-delay, if system is prediction for the first time, the value of Δ x and Δ y is 0;
The formula that calculates Δ x and Δ y is:
Δx = ( X true - X last ) * JitterLapse * C / JitterPeriod Δy = ( Y true - Y last ) * JitterLapse * C / JitterPeriod
Wherein:
X LastIt is the value of last horizontal ordinate X of predicting in the preceding network jitter process;
X TrueIt is last the horizontal ordinate X actual value that is blocked by the shake time-delay in the preceding network jitter process;
Y LastIt is the value of last ordinate Y of predicting in the preceding network jitter process;
Y TrueIt is last the ordinate Y actual value that is blocked by the shake time-delay in the preceding network jitter process;
JitterLapse is current shake time-delay;
Once shake time-delay before the JitterPeriod;
C is an adjustment factor;
5) the current location note at reference mark is (X Current, Y Current), and the next position note at reference mark is (X Next, Y Next), when network jitter takes place, (X Next, Y Next) calculate by following formula:
X next = X current + aveVelocit y X * T + aveA cceleration X * T 2 + Δx Y next = Y current + aveVelocit y Y * T + aveAcceleratio n Y * T 2 + Δy
Wherein:
T is current shake time-delay, is equal to JitterLapse;
6) with the position (X of Long-distance Control point according to prediction Next, Y Next) be plotted on user's the screen;
7) wipe the reference mark of previous prediction, draw the reference mark of up-to-date prediction, the rest may be inferred, and complete in the reference mark of all predictions in dither process.
The present invention compares with background technology, and the useful effect that has is:
The deviation that the present invention is based on last time prediction is dynamically adjusted the position at reference mark, realizes that the smoothing of Long-distance Control point is handled.The present invention improves the Dead-reckoning method, the Dead-reckoning method has utilized the speed of object, acceleration parameter to carry out performance prediction, and the present invention has not only used speed, the acceleration of object, and utilized deviation in the past to carry out the adjustment of trace, improved the precision of prediction of reference mark motion.Remedy the bad result that network jitter brings, show the level and smooth Long-distance Control point motion track of user, reach perceived effect preferably.
Embodiment
Specific implementation flow process based on the reference mark smoothing method of preceding deviation is as follows.
1) the Long-distance Control point of the nearest N of record within second is in the shift position of each millisecond;
For example, can write down position data within nearest 2 seconds.
2) when network jitter takes place, for the shift position of PREDICTIVE CONTROL point, at first calculation control point is used aveVelocity at the present speed of directions X and Y direction XAnd aveVelocity YRepresent; Approximate velocity is by from current nearest T LastPosition coordinates (X constantly Last, Y Last) and the preceding T of M millisecond FlagPosition coordinates (the X that constantly receives Flag, Y Flag) calculate;
aveVelocit y X = ( X last - X flag ) / ( T last - T flag ) aveVelocit y Y = ( Y last - Y flag ) / ( T last - T flag )
For example, the M value is got 100 milliseconds, promptly 0.1 second.T LastPosition coordinates constantly is (310,320), T FlagThe position coordinates that constantly receives is (300,300), coordinate all with pixel as unit.
3) calculation control point is used aveAcceleration in the current acceleration of directions X and Y direction XAnd aveAcceleration YRepresent; Approximate acceleration is by from current nearest T Last(X constantly Last, Y Last) speed and the T of position Flag(X constantly Flag, Y Flag) another speed of position calculates;
aveAcceleratio n X = ( Velocity Xlast - Velocity Xflag ) / ( T last - T flag ) aveAcceleratio n Y = ( Velocity Ylast - Velocity Yflag ) / ( T last - T flag )
Suppose T Last(X constantly Last, Y Last) speed of position is (100,100), acceleration calculation is as follows so:
4) calculation control point is represented with Δ x and Δ y respectively at the correcting value of directions X and Y direction, and Δ x is relevant with following factor with Δ y:
(1) preceding once (X, predicted value Y) when shake finishes;
(2) preceding corresponding (X, actual value Y) that receives when finishing of once shaking;
(3) current shake time-delay;
(4) preceding once shake time-delay.If system is prediction for the first time, the value of Δ x and Δ y is 0;
The formula that calculates Δ x and Δ y is:
Δx = ( X true - X last ) * JitterLapse * C / JitterPeriod Δy = ( Y true - Y last ) * JitterLapse * C / JitterPeriod
Wherein:
X LastIt is the coordinate of last X of predicting in the preceding network jitter process;
X TrueIt is last X true coordinate of being blocked by the shake time-delay in the preceding network jitter process;
Y LastIt is the coordinate of last Y of predicting in the preceding network jitter process;
Y TrueIt is last Y true coordinate of being blocked by the shake time-delay in the preceding network jitter process;
JitterLapse is current shake time-delay;
Once shake time-delay before the JitterPeriod;
C is an adjustment factor;
Suppose (X Last, Y Last)=(290,280), (X True, Y True)=(290,284) suppose JitterLapse=100 (ms), JitterPeriod=200 (ms) establishes C=0.5, has:
Δx = ( 290 - 290 ) * 0.1 * 0.5 / 0.2 = 0 Δy = ( 284 - 280 ) * 0.1 * 0.5 / 0.2 = 1
5) the current location note at reference mark is (X Current, Y Current), and the next position note at reference mark is (X Next, Y Next), when network jitter takes place, (X Next, Y Next) calculate by following formula:
X next = X current + aveVelocit y X * T + aveA cceleration X * T 2 + Δx Y next = Y current + aveVelocit y Y * T + aveAcceleratio n Y * T 2 + Δy
Wherein:
T is current shake time-delay, is equal to JitterLapse;
As above routine:
X next = 310 + 100 * 0.1 + 0 = 320 Y next = 320 + 200 * 0.1 + 1000 * 0.1 2 + 1 = 351
6) with the position (X of Long-distance Control point according to prediction Next, Y Next) be plotted on user's the screen;
7) wipe the reference mark of previous prediction, draw the reference mark of up-to-date prediction, the rest may be inferred, and complete in the reference mark of all predictions in dither process.

Claims (1)

1. reference mark smoothing method based on preceding deviation is characterized in that:
1) the Long-distance Control point of the nearest N of record within second is in the shift position of each millisecond;
2) when network jitter takes place, for the shift position of PREDICTIVE CONTROL point, at first calculation control point is used aveVelocity at the present speed of directions X and Y direction XAnd aveVelocity YRepresent; Present speed is by from current nearest T LastPosition coordinates (X constantly Last, Y Last) and the preceding T of M millisecond FlagPosition coordinates (the X that constantly receives Flag, Y Flag) calculate;
aveVelocit y X = ( X last - x flag ) / ( T last - T flag ) aveVelocity Y = ( Y last - Y flag ) / ( T last - T flag )
3) calculation control point is used aveAcceleration in the current acceleration of directions X and Y direction XAnd aveAcceleration YRepresent; Current acceleration is by from current nearest T LastSpeed and T constantly FlagSpeed is calculated constantly; Wherein, T LastPosition constantly is (X Last, Y Last), T FlagPosition constantly is (X Flag, Y Flag); T FlagBe T constantly LastThe moment before the moment M millisecond;
aveAcceleration X = ( Velocity Xlast - Velocity Xflag ) / ( T last - T flag ) aveAcceleration Y = ( Velocity Ylast - Velocity Yflag ) / ( T last - T flag )
Wherein:
Velocity XlastBe that the reference mark is at horizontal ordinate directions X T LastSpeed constantly;
Velocity XflagBe that the reference mark is at horizontal ordinate directions X T FlagSpeed constantly;
Velocity YlastBe that the reference mark is at ordinate Y direction T LastSpeed constantly;
Velocity YflagBe that the reference mark is at ordinate Y direction T FlagSpeed constantly;
4) calculation control point is represented with Δ x and Δ y respectively at the correcting value of horizontal ordinate directions X and ordinate Y direction, and Δ x is relevant with following factor with Δ y:
(1) preceding once horizontal ordinate (X, predicted value Y) when shake finishes;
(2) preceding corresponding horizontal ordinate (X, actual value Y) that receives when finishing of once shaking;
(3) current shake time-delay;
(4) preceding once shake time-delay, if system is prediction for the first time, the value of Δ x and Δ y is 0;
The formula that calculates Δ x and Δ y is:
Δx = ( X true - X last ) * JitterLapse * C / JitterPeriod Δy = ( Y true - Y last ) * JitterLapse * C / JitterPeriod
Wherein:
X LastIt is the value of last horizontal ordinate X of predicting in the preceding network jitter process;
X TrueIt is last the horizontal ordinate X actual value that is blocked by the shake time-delay in the preceding network jitter process;
Y LastIt is the value of last ordinate Y of predicting in the preceding network jitter process;
Y TrueIt is last the ordinate Y actual value that is blocked by the shake time-delay in the preceding network jitter process;
JitterLapse is current shake time-delay;
Once shake time-delay before the JitterPeriod;
C is an adjustment factor;
5) the current location note at reference mark is (X Current, Y Current), and the next position note at reference mark is (X Next, Y Next), when network jitter takes place, (X Next, Y Next) calculate by following formula:
X next = X current + aveVelo cot y X * T + aveAcceleration X * T 2 + Δx Y next = Y current + aveVelocity Y * T + aveAcceleration Y * T 2 + Δy
Wherein:
T is current shake time-delay, is equal to JitterLapse;
6) with the position (X of Long-distance Control point according to prediction Next, Y Next) be plotted on user's the screen;
7) wipe the reference mark of previous prediction, draw the reference mark of up-to-date prediction, the rest may be inferred, and complete in the reference mark of all predictions in dither process.
CNB2006100520980A 2006-06-23 2006-06-23 Control point smoothing method based on preceding deviation Expired - Fee Related CN100416551C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100520980A CN100416551C (en) 2006-06-23 2006-06-23 Control point smoothing method based on preceding deviation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100520980A CN100416551C (en) 2006-06-23 2006-06-23 Control point smoothing method based on preceding deviation

Publications (2)

Publication Number Publication Date
CN1866242A CN1866242A (en) 2006-11-22
CN100416551C true CN100416551C (en) 2008-09-03

Family

ID=37425264

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100520980A Expired - Fee Related CN100416551C (en) 2006-06-23 2006-06-23 Control point smoothing method based on preceding deviation

Country Status (1)

Country Link
CN (1) CN100416551C (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026095A (en) * 1994-09-27 2000-02-15 3Com Corporation Method and apparatus for controlling latency and jitter in shared CSMA/CD (repeater) environment
CN1430155A (en) * 2001-12-30 2003-07-16 利文劲 Method of realizing interactive cartoon system on Internet
US6654374B1 (en) * 1998-11-10 2003-11-25 Extreme Networks Method and apparatus to reduce Jitter in packet switched networks
CN1581844A (en) * 2003-08-15 2005-02-16 上海贝尔阿尔卡特股份有限公司 Packet switching network distributed adaptive dither buffer adjusting method
CN1740999A (en) * 2004-08-27 2006-03-01 鸿富锦精密工业(深圳)有限公司 General-using type jitter analysis system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026095A (en) * 1994-09-27 2000-02-15 3Com Corporation Method and apparatus for controlling latency and jitter in shared CSMA/CD (repeater) environment
US6654374B1 (en) * 1998-11-10 2003-11-25 Extreme Networks Method and apparatus to reduce Jitter in packet switched networks
CN1430155A (en) * 2001-12-30 2003-07-16 利文劲 Method of realizing interactive cartoon system on Internet
CN1581844A (en) * 2003-08-15 2005-02-16 上海贝尔阿尔卡特股份有限公司 Packet switching network distributed adaptive dither buffer adjusting method
CN1740999A (en) * 2004-08-27 2006-03-01 鸿富锦精密工业(深圳)有限公司 General-using type jitter analysis system and method

Also Published As

Publication number Publication date
CN1866242A (en) 2006-11-22

Similar Documents

Publication Publication Date Title
Mitra et al. Model-mediated telemanipulation
KR20210091263A (en) Test method, apparatus, medium and device of trajectory tracking controller
CN111506063B (en) Mobile robot map-free navigation method based on layered reinforcement learning framework
EP3173134B1 (en) Synchronization object determining method, apparatus, and system
CN110023856A (en) The method and computing device of motion outline are generated by using S type curve
CN101615301A (en) The controlling of path thereof of target and system in the computer virtual environment
CN108762253A (en) A kind of man-machine approach to formation control being applied to for people's navigation system
CN103631419A (en) Cursor positioning method and system based on remote control touch pad
CN110355752A (en) Robot controller, robot control method and storage medium
CN100416551C (en) Control point smoothing method based on preceding deviation
CN1916969A (en) Method for generating reaction accompany movement based on hybrid control
EP4086154A3 (en) Method and controller unit for controlling motion of a hydrofoil watercraft
CN106775093A (en) A kind of contact action control method and device
US20140115532A1 (en) Information-processing device, storage medium, information-processing method, and information-processing system
CN112650217A (en) Robot trajectory tracking strategy dynamic optimization method based on evaluation function
CN116339517A (en) Closed-loop bidirectional interaction digital twin system based on robot and construction method thereof
JP4653101B2 (en) Haptic transmission system
CN100479360C (en) Restraining method of control points of using marginal effect
CN112904855B (en) Follow-up robot local path planning method based on improved dynamic window
CN103076874A (en) Method and system for improving high delay of computer-vision-based somatosensory input equipment
US20210316462A1 (en) Multimodal intent recognition for telepresence robots
Jiang et al. Remote control point motion prediction in internet-based real-time collaborative graphics editing systems
CN110362040A (en) Robot motion's method for planning track based on B-spline
CN109002165B (en) Virtual space real walking guide system with space positioning device
KR102093476B1 (en) System and method for on-line trajectory optimization based on automatic time warping

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080903

Termination date: 20160623

CF01 Termination of patent right due to non-payment of annual fee