久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    • <bdo id='dUJRh'></bdo><ul id='dUJRh'></ul>

    1. <legend id='dUJRh'><style id='dUJRh'><dir id='dUJRh'><q id='dUJRh'></q></dir></style></legend>
    2. <i id='dUJRh'><tr id='dUJRh'><dt id='dUJRh'><q id='dUJRh'><span id='dUJRh'><b id='dUJRh'><form id='dUJRh'><ins id='dUJRh'></ins><ul id='dUJRh'></ul><sub id='dUJRh'></sub></form><legend id='dUJRh'></legend><bdo id='dUJRh'><pre id='dUJRh'><center id='dUJRh'></center></pre></bdo></b><th id='dUJRh'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='dUJRh'><tfoot id='dUJRh'></tfoot><dl id='dUJRh'><fieldset id='dUJRh'></fieldset></dl></div>
      <tfoot id='dUJRh'></tfoot>

      <small id='dUJRh'></small><noframes id='dUJRh'>

        提高超越方程解的精度

        Increasing accuracy of solution of transcendental equation(提高超越方程解的精度)
          • <bdo id='1gIzN'></bdo><ul id='1gIzN'></ul>
            1. <tfoot id='1gIzN'></tfoot>
                <legend id='1gIzN'><style id='1gIzN'><dir id='1gIzN'><q id='1gIzN'></q></dir></style></legend>

                  <tbody id='1gIzN'></tbody>
              • <i id='1gIzN'><tr id='1gIzN'><dt id='1gIzN'><q id='1gIzN'><span id='1gIzN'><b id='1gIzN'><form id='1gIzN'><ins id='1gIzN'></ins><ul id='1gIzN'></ul><sub id='1gIzN'></sub></form><legend id='1gIzN'></legend><bdo id='1gIzN'><pre id='1gIzN'><center id='1gIzN'></center></pre></bdo></b><th id='1gIzN'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='1gIzN'><tfoot id='1gIzN'></tfoot><dl id='1gIzN'><fieldset id='1gIzN'></fieldset></dl></div>

                  <small id='1gIzN'></small><noframes id='1gIzN'>

                  本文介紹了提高超越方程解的精度的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我有一個特定的運動學作為更復雜機器的一部分,需要計算一些物理參數,這些參數非常難(更像是不可能)以適當的準確度測量> 使用我可以使用的儀器

                  I have a specific kinematics as a part of a more complex machine and need to compute some physical parameters that are very hard (more like impossible) to measure with proper accuracy with instruments I have at my disposal

                  [運動學]

                  乍一看是一個簡單的1自由度臂(黑色),可以繞x軸旋轉.它有一個重量迫使它總是向上移動,直到它碰到機械端點(角度 a0)或半徑為 r0 的某個管子(藍色).手臂旋轉中心在y0.管子可以移動到任何y(t)高度.

                  At first look it is a simple 1 degree of freedom arm (black) which can rotate around x axis. It has a weight to force it to go always up until it hit the mechanic endpoint (angle a0) or some tube (blue) with radius r0. Arm rotation center is at y0. The tube can be moved to any y(t) height.

                  [使用]

                  這用于測量管的半徑以進行進一步處理.半徑可以計算(通過基本的測角法),這導致圖像底部的方程.常數 a0,y0,z0 很難測量(它在復雜的機械內部)所以距離的測量精度為 min 0.1 mm 和角度 0.1 deg 甚至這是有問題的.

                  This is used to measure the radius of a tube for further processing. The radius can be computed (by basic goniometry) which leads to equation in the bottom of image. The constants a0,y0,z0 are very hard to measure (it is inside complex machinery) so the measurement accuracy for distances is min 0.1 mm and angle 0.1 deg and even that is questionable.

                  [校準]

                  所以我決定嘗試從機器本身完成的一組測量中計算這些參數(自動校準).所以我有已知半徑 r0 的校準管.所有綠色參數都可以作為常量處理.現在我沿著 y 軸定位管子,以覆蓋盡可能多的手臂角度.遺憾的是,范圍只有 20 度(對于當前機器設置)記住測量的 a(t) 預設 y(t) ...作為 n 點數據集.這給了我 n 個超越方程的系統.由此我嘗試/猜測 a0,y0,z0 記住最佳解決方案的所有"可能性(最接近 r0)

                  So I decided to try compute these parameters from set of measurements done by the machine itself (auto-calibration). So I have calibration tube with known radius r0. All green parameters can be handled as constants. Now I position the tube along y axis to cover as much angles of arm as I could. Sadly the range is only about 20 degrees (for current machine setup) remembering measured a(t) for preset y(t) ... as n point dataset. This gives me system of n transcendent equations. From this I try/guess "all" possibilities of a0,y0,z0 remembering the best solution (closest to r0)

                  [a0,y0,z0 的近似值]

                  近似是基于我的這個類:

                  approximation is based on this class of mine:

                  //---------------------------------------------------------------------------
                  class approx
                      {
                  public:
                      double a,aa,a0,a1,da,*e,e0;
                      int i,n;
                      bool done,stop;
                  
                      approx()            { a=0.0; aa=0.0; a0=0.0; a1=1.0; da=0.1; e=NULL; e0=NULL; i=0; n=5; done=true; }
                      approx(approx& a)   { *this=a; }
                      ~approx()           {}
                      approx* operator = (const approx *a) { *this=*a; return this; }
                      //approx* operator = (const approx &a) { ...copy... return this; }
                  
                      void init(double _a0,double _a1,double _da,int _n,double *_e)
                          {
                          if (_a0<=_a1) { a0=_a0; a1=_a1; }
                          else          { a0=_a1; a1=_a0; }
                          da=fabs(_da);
                          n =_n ;
                          e =_e ;
                          e0=-1.0;
                          i=0; a=a0; aa=a0;
                          done=false; stop=false;
                          }
                      void step()
                          {
                          if ((e0<0.0)||(e0>*e)) { e0=*e; aa=a; }         // better solution
                          if (stop)                                       // increase accuracy
                              {
                              i++; if (i>=n) { done=true; a=aa; return; } // final solution
                              a0=aa-fabs(da);
                              a1=aa+fabs(da);
                              a=a0; da*=0.1;
                              a0+=da; a1-=da;
                              stop=false;
                              }
                          else{
                              a+=da; if (a>a1) { a=a1; stop=true; }       // next point
                              }
                          }
                      };
                  //---------------------------------------------------------------------------
                  

                  它通過一些初始步驟搜索單個變量的完整范圍,然后找到最小偏差點.之后改變范圍和步長以關閉該點的區域并遞歸提高精度.

                  It search the full range of single variable by some initial step then find the min deviation point. After that change the range and step to close area of this point and recursively increase accuracy.

                  解決方案本身如下所示:

                  The solution itself looks like this:

                  // (global) input data
                  #define _irc_calib_n 100
                  #define _irc_approx_n 5
                  int    irc_calib_ix; // number of measured points
                  double irc_calib_y[_irc_calib_n]; // y(t)
                  double irc_calib_a[_irc_calib_n]; // a(t)
                  double irc_calib_r; // calibration tube radius + arm radius
                  
                  // approximation
                  int ix=0;
                  double e,a,deg=M_PI/180.0;
                  approx aa,ay,az;
                  //           min       max       step     recursions    ErrorOfSolutionVariable
                  for (aa.init(-90.0*deg,+90.0*deg,10.0*deg,_irc_approx_n,&e);!aa.done;aa.step())
                  for (ay.init(  0.0    ,200.0    ,10.0    ,_irc_approx_n,&e);!ay.done;ay.step())
                  for (az.init( 50.0    ,400.0    ,10.0    ,_irc_approx_n,&e);!az.done;az.step())
                      {
                      for (e=0.0,ix=0;ix<_irc_calib_n;ix++) // test all measured points (e is cumulative error)
                          {
                          a=irc_calib_a[ix]+aa.a;
                          if (a> pi) a-=pi2;
                          if (a<-pi) a+=pi2;
                          if (fabs(a)>0.5*pi) { e=100.0; break; } // ignore too far angles
                          e+=fabs(+(cos(a)*(irc_calib_y[ix]-ay.a))
                                  -(sin(a)*(az.a))
                                  -(irc_calib_r));
                          }
                      }
                  // here aa.a,ay.a,az.a holds the result
                  

                  這導致解接近測量值,但在模擬中結果仍然不夠準確.根據點數和角度范圍,它從 0.1 毫米到 0.5 毫米不等.如果我正確測量 z0 并忽略它的近似值,那么精度會顯著提高,使 y0 沒有錯誤(在模擬中)和 a0 的誤差約為 0.3學位

                  This leads to solution close to the measured values but inside simulation the result is still not accurate enough. It is from 0.1 mm to 0.5 mm depending on number of points and angle range. If I measure properly z0 and ignore its approximation then the precision is boosted significantly leaving y0 without error (in simulation) and a0 with error around 0.3 degree

                  Q1 如何進一步提高解的準確度?

                  我無法增加角度范圍.點數最好在 100 左右,精度越高越好,但超過 150 結果不穩定(對于某些半徑,它完全關閉).完全不知道為什么.6 上面的遞歸數沒有太大影響

                  I cannot increase the angular range. The number of points is best around 100 the more the better accuracy but above 150 the result is unstable (for some radiuses it is completely off). Have absolutely no clue why. The recursions number above 6 has not much effect

                  能否幫助根據與 0 度 的角距離對偏差進行加權?但遺憾的是 a(t) 范圍不一定包括 0 度

                  Could help weighting the deviations according to angular distance from 0 degree ? But sadly a(t) range does not necessarily include 0 degrees

                  y0,z00.01 mma0

                  Q2 有什么我遺漏的地方嗎?

                  比如錯誤嵌套的近似值或一些數學簡化或不同的方法

                  Like wrongly nested approximations or some math simplification or different approach

                  [注釋]

                  角度必須是a(t)+a0的形式,因為它是由IRC測量的,軟件復位(16000 steps/round).它在 a0 位置時重置,我不計算振動和校準管偏心,它們已經得到處理,我的第一個目標是在沒有它們的情況下在模擬中進行這項工作.管子y(t)可以隨意定位,a(t)測量可以隨意進行.

                  The angle must be in form of a(t)+a0 because it is measured by IRC with SW reset (16000 steps/round). It is reseted when in a0 position I do not count vibrations and calibration tube eccentricity they are taken care of already and my first goal is to make this work in simulation without them. Tube y(t) can be positioned at free will and the a(t) measurement can be done at will.

                  現在校準過程沿著 y 軸掃描點(從 a0 向下移動).使用 6 遞歸計算大約需要 35 秒(所以請耐心等待).5 遞歸大約需要 22

                  Right now the calibration process scan points along y axis (movement from a0 down). Computation with 6 recursions take around 35 seconds (so be patient). 5 recursions take around 22 seconds

                  [edit1] 這里是如何進行模擬

                  approx aa; double e;
                  for (aa.init(-90.0*deg,+90.0*deg,10.0*deg,6,&e);!aa.done;aa.step())
                   e=fabs(+(cos(aa.a)*(y(t)-y0))
                          -(sin(aa.a)*(z0))
                          -(irc_calib_r));
                  if (aa.a<a0) aa.a=a0;
                  

                  [edit2] 一些值

                  剛剛意識到我在模擬代碼中只有 4 個遞歸來匹配輸入的 IRC 精度,那么必須有 6 個遞歸.更改后(也在之前的編輯中)這里有一些結果

                  Just realized that I had only 4 recursions in simulation code to match the input IRC accuracy then there must be 6 recursions. After changing it (also in previous edit) here are some results

                                  | a0[deg]| y0[mm] | z0[mm] | 
                      simulated   | -7.4510|191.2590|225.9000|
                      z0 known    | -7.4441|191.1433|225.9000|
                      z0 unknown  | -7.6340|191.8074|225.4971|
                  

                  因此,z0 測量的精度幾乎在所需范圍內,但 z0 未知,誤差仍然比所需的 ~10 大.提高模擬精度對6遞歸沒有影響,也沒有意義,因為真實的輸入數據也不會更準確.

                  So the accuracy with z0 measured is almost in desired range but with z0 unknown the error is still ~10 times bigger then needed. Increasing simulation accuracy has no effect above 6 recursions and also no sense because real input data will not be more accurate either.

                  這里是使用上述模擬設置進行測試的模擬/測量點:

                  Here the simulated/measured points for testing with above simulated settings:

                   ix   a [deg]    y [mm]
                    0   -0.2475 +105.7231 
                    1   -0.4500 +104.9231 
                    2   -0.6525 +104.1231 
                    3   -0.8550 +103.3231 
                    4   -1.0575 +102.5231 
                    5   -1.2600 +101.7231 
                    6   -1.4625 +100.9231 
                    7   -1.6650 +100.1231 
                    8   -1.8675  +99.3231 
                    9   -2.0700  +98.5231 
                   10   -2.2725  +97.7231 
                   11   -2.4750  +96.9231 
                   12   -2.6775  +96.1231 
                   13   -2.8575  +95.3077 
                   14   -3.0600  +94.5154 
                   15   -3.2625  +93.7231 
                   16   -3.4650  +92.9308 
                   17   -3.6675  +92.1385 
                   18   -3.8700  +91.3462 
                   19   -4.0725  +90.5538 
                   20   -4.2750  +89.7615 
                   21   -4.4877  +88.9692 
                   22   -4.6575  +88.1769 
                   23   -4.8825  +87.3615 
                   24   -5.0850  +86.5154 
                   25   -5.2650  +85.7000 
                   26   -5.4675  +84.9077 
                   27   -5.6700  +84.1154 
                   28   -5.8725  +83.3231 
                   29   -6.0750  +82.5308 
                   30   -6.2775  +81.7000 
                   31   -6.5025  +80.8462 
                   32   -6.6825  +80.0462 
                   33   -6.8850  +79.2538 
                   34   -7.0875  +78.4615 
                   35   -7.2900  +77.6538 
                   36   -7.5159  +76.7692 
                   37   -7.6725  +75.9769 
                   38   -7.8750  +75.1846 
                   39   -8.1049  +74.3692 
                   40   -8.2800  +73.5000 
                   41   -8.4825  +72.7077 
                   42   -8.6850  +71.9154 
                   43   -8.9100  +71.0308 
                   44   -9.0900  +70.2231 
                   45   -9.2925  +69.4308 
                   46   -9.5175  +68.5462 
                   47   -9.6975  +67.7462 
                   48   -9.9000  +66.9462 
                   49  -10.1025  +66.0615 
                   50  -10.3148  +65.2692 
                   51  -10.4850  +64.3769 
                   52  -10.6875  +63.5846 
                   53  -10.9125  +62.7462 
                   54  -11.0925  +61.9077 
                   55  -11.2950  +61.0846 
                   56  -11.4975  +60.2231 
                   57  -11.7000  +59.3923 
                   58  -11.9025  +58.5308 
                   59  -12.1288  +57.6692 
                   60  -12.3075  +56.8385 
                   61  -12.5100  +55.9462 
                   62  -12.7125  +55.1538 
                   63  -12.9150  +54.2615 
                   64  -13.1175  +53.4000 
                   65  -13.2975  +52.5769 
                   66  -13.5000  +51.6846 
                   67  -13.7025  +50.7923 
                   68  -13.9050  +50.0000 
                   69  -14.1075  +49.1077 
                   70  -14.3100  +48.2154 
                   71  -14.5350  +47.3615 
                   72  -14.7150  +46.5308 
                   73  -14.9175  +45.6385 
                   74  -15.1200  +44.7462 
                   75  -15.3225  +43.8538 
                   76  -15.5250  +42.9615 
                   77  -15.7490  +42.0692 
                   78  -15.9075  +41.2769 
                   79  -16.1100  +40.3846 
                   80  -16.3125  +39.4923 
                   81  -16.5150  +38.6000 
                   82  -16.7175  +37.7077 
                   83  -16.9200  +36.8154 
                   84  -17.1225  +35.9231 
                   85  -17.3250  +34.9308 
                   86  -17.5275  +34.0385 
                   87  -17.7300  +33.1462 
                   88  -17.9325  +32.2538 
                   89  -18.1350  +31.3615 
                   90  -18.3405  +30.4692 
                   91  -18.5175  +29.4769 
                   92  -18.7200  +28.5846 
                   93  -18.9225  +27.6923 
                   94  -19.1250  +26.8000 
                   95  -19.3275  +25.8077 
                   96  -19.5300  +24.9154 
                   97  -19.7325  +23.9231 
                   98  -19.9350  +23.0308 
                   99  -20.1375  +22.1385 
                  

                  [edit3] 進度更新

                  對@Ben 的一些說明

                  工作原理

                  第一張圖片下的彩色方程給出了半徑 r0 它由 2 個連接的 90 度 三角形(基本三角學)組成

                  the colored equation under the first image gives you the radius r0 it is made from 2 joined 90 degree triangles (basic trigonometry)

                  紅色的東西:

                  • y(t) 是電機位置,它是已知的
                  • a(t) 也是已知的 IRC 狀態
                  • y(t) is motor position and it is known
                  • a(t) is IRC state also known

                  綠色的東西:

                  • a0,y0,z0 是機械尺寸,已知但不精確,所以我測量了 y(t) 不同位置的許多 a(t) 使用已知的校準管 r0 并從中計算出更高精度的 a0,y0,z0
                  • a0,y0,z0 are mechanical dimensions and are known but not precise so I measure many a(t) for different positions of y(t) with known calibration tube r0 and compute the a0,y0,z0 with higher precision from it

                  進一步提高準確性

                  實際上,我通過從特殊校準運動中測量 y1=y0+z0*cos(a0) 使其更精確,精度約為 0.03 mm 甚至更好.a0 位置的手臂與管子y 運動軸的交點高度.它是從管從上到下時手臂第一次接觸時的情況進行測量和插值的,但實際位置必須通過使用的半徑和a0重新計算...因為接觸點不在該軸上...(除非 r0=0.0).這也從校準中消除了一個近似循環,因為 y1,a0,z0 是相關的并且可以相互計算.由于不連續的測量方式和 a(t),y(t) 位置,從 IRC 的測量中消除雙重混疊也有助于提高精度和計算穩定性(在真機上).我現在無法可靠地評估準確性,因為通過對許多測量周期的分析,我發現機器上存在一些機械問題,所以我一直等到它被修復.無論如何,在考慮兩種方法和 _irc_calib_n=30 的情況下,r0=80.03 mm 的校準與仿真精度現在是:

                  I actually managed to get it more precise by measuring y1=y0+z0*cos(a0) from special calibration movement with precision around 0.03 mm and better. It is the height of intersection between arm in a0 position and tube y movement axis. It is measured and interpolated from situation when arm get first time contact when tube coming from up to down but the real position must be recomputed by used radius and a0... because contact point is not on this axis ... (unless r0=0.0). This also eliminates one approximation loop from calibration because y1,a0,z0 are dependent and can be computed from each other. Also removing double aliasing from measurement of IRC due to discontinuous manner of measurement and a(t),y(t) positions helped a lot to increase precision and computation stability (on real machine). I can not reliably asses accuracy right now because by analysis of many measured cycles I found some mechanical problems on the machine so I wait until it is repaired. Anyway the calibration vs. simulation accuracy for r0=80.03 mm with accounting both approaches and _irc_calib_n=30 is now:

                      ;      computed     simulated  |delta|
                      a0=  -6.915840 ;  -6.916710   +0.000870 deg
                      y0=+186.009765 ;+186.012822   +0.003057 mm
                      y1=+158.342452 ;+158.342187   +0.000264 mm
                      z0=+228.102470 ;+228.100000   +0.002470 mm
                  

                  校準值越大 r0 精度越低(由于 a(t) 范圍更有限)這是通過計算所有 a0,y0,(y1),z1 沒有什么是直接測量或已知的.這已經是可以接受的,但正如我之前寫的,當機器準備好時需要檢查機器.只是為了完成這里是模擬測量現在的樣子:

                  The bigger the calibration r0 the less accuracy (due to more limited a(t) range) this is by computing all a0,y0,(y1),z1 nothing is measured directly or known. This is already acceptable but as I wrote before need to check on machine when it is ready. Just to be complete here is how simulated measurements looks like now:

                  [edit4] 參見 近似搜索的工作原理

                  推薦答案

                  如果我理解正確,您正在嘗試推斷(但不是 測量)半徑y 和 a 的測量值得到管的 r0.

                  If I understand this correctly, you're trying to infer (but not measure) the radius r0 of the tube from measurements for y and a.

                  將通常的誤差傳播應用到 r0 的公式中,可以獲得(估計)結果 r0 的誤差.在小角度的極限(這里適用,因為 a(t) 被限制為 20 度),這給出了粗略的(使用三角函數的小角度近似)

                  Applying the usual error propagation to your formula for r0, one obtains (an estimate for) the error of the resulting r0. In the limit of small angles (applicable here, since a(t) is limited to 20 degrees), this gives roughly (using the small-angle approximation for the trigonometic functions)

                  dr0^2 ~= dy^2 + z0^2 (pi*da/180)^2

                  dr0^2 ~= dy^2 + z0^2 (pi*da/180)^2

                  因此,在 r0 遠小于 z0 的情況下,r0 上的相對誤差總是遠大于 y 和 z0*sin(a) 的相對誤差.從您的圖中可以清楚地看出這一點:測量的數量僅微弱地依賴于 r0.

                  Thus, in the case of r0 much smaller than z0, the relative error on r0 is always much larger than the relative errors of y and z0*sin(a). This is already clear from your graph: the measured quantities depend only weakly on r0.

                  換句話說,這不是確定半徑 r0 的巧妙方法.對于這個基本限制,您無能為力(除非您可以增加角度 a 的范圍).進行多次測量(消除噪音/錯誤的常用方法)可能無濟于事,因為由于機器的內部工作原理,這些測量并不是相互獨立的.因此,唯一的幫助是更準確的測量.

                  In other words, this is not a clever way to determine the radius r0. There is not much you can do about this fundamental limitation (except you can increase the range of angle a). Making many measurements (the usual method to beat down noise/errors) presumably won't help, because these measurements aren't independent of each other due to the internal workings of your machine. So, the only help would be more accurate measurements.

                  為了分析這種情況,我建議將推斷的 r0 繪制為 y 的函數或作為固定 r0 的 a 函數的 y 的繪圖/數字.

                  To analyse the situation, I recommend to make plots/figures of, say, the inferred r0 as function of y or of y as function of a for fixed r0.

                  這篇關于提高超越方程解的精度的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  In what ways do C++ exceptions slow down code when there are no exceptions thown?(當沒有異常時,C++ 異常會以何種方式減慢代碼速度?)
                  Why catch an exception as reference-to-const?(為什么要捕獲異常作為對 const 的引用?)
                  When and how should I use exception handling?(我應該何時以及如何使用異常處理?)
                  Scope of exception object in C++(C++中異常對象的范圍)
                  Catching exceptions from a constructor#39;s initializer list(從構造函數的初始化列表中捕獲異常)
                  Difference between C++03 throw() specifier C++11 noexcept(C++03 throw() 說明符 C++11 noexcept 之間的區別)

                  • <tfoot id='lhNUs'></tfoot>
                        <tbody id='lhNUs'></tbody>

                        1. <i id='lhNUs'><tr id='lhNUs'><dt id='lhNUs'><q id='lhNUs'><span id='lhNUs'><b id='lhNUs'><form id='lhNUs'><ins id='lhNUs'></ins><ul id='lhNUs'></ul><sub id='lhNUs'></sub></form><legend id='lhNUs'></legend><bdo id='lhNUs'><pre id='lhNUs'><center id='lhNUs'></center></pre></bdo></b><th id='lhNUs'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='lhNUs'><tfoot id='lhNUs'></tfoot><dl id='lhNUs'><fieldset id='lhNUs'></fieldset></dl></div>
                          <legend id='lhNUs'><style id='lhNUs'><dir id='lhNUs'><q id='lhNUs'></q></dir></style></legend>

                          <small id='lhNUs'></small><noframes id='lhNUs'>

                            <bdo id='lhNUs'></bdo><ul id='lhNUs'></ul>
                            主站蜘蛛池模板: 国产精品mv在线观看 | 人人干97| 成人免费毛片在线观看 | 久久久久久国产精品三区 | 国产精品久久国产精品久久 | 免费观看一级视频 | 日本理论片好看理论片 | 亚洲午夜电影 | 中文字幕四虎 | 激情伊人网 | 亚洲一区不卡在线 | 中文字幕成人av | 日本超碰 | 欧美 日韩 亚洲91麻豆精品 | 成人午夜影院 | 狠狠干综合视频 | 中文字幕免费视频 | 亚洲 欧美 综合 | 不卡视频在线 | 一区二区三区小视频 | 欧美在线观看一区 | av官网在线 | 精品亚洲第一 | 日韩av免费在线观看 | 日韩视频在线一区二区 | 亚洲视频免费观看 | 免费亚洲网站 | 日韩区 | 久久久成人精品 | 国产在线一区二区三区 | 亚洲一区二区在线播放 | 久久久久久久一区 | 国产精品久久久久久久久图文区 | 一级毛片黄片 | 欧美精品一区二区三区四区五区 | 91色综合| www.99热.com| 91精品亚洲| 欧美激情欧美激情在线五月 | 午夜精品久久久久久久久久久久 | 91欧美激情一区二区三区成人 |