六自由度机械臂是大学生学习舵机控制很好的练习,由于当时比赛的需求,做了简单一个机械臂逆解算法,原理不做过多解释,只是为我春雨哥方便使用,由于我们fpga使用的办卡无法处理浮点数,因此自定义了许多超越函数。
#include <stdint.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include "math.h"
#define PI 3.1415926535898
#define eps 1e-7
#define RAD2ANG (3.1415926535898/180.0)
#define ANG2RAD(N) ( (N) * (180.0/3.1415926535898) )
#define TAN_MAP_RES 0.003921569f
#define RAD_PER_DEG 0.017453293f
#define TAN_MAP_SIZE 256
float fac(float n); //阶乘
float kvat(float n,float ci); //次方
float sinus(float x);
float fcos(float x);
float my_acos(float x);
float my_asin(float in);
float my_abs(float f);
float fast_atan2(float y, float x);
double fsqrt(int n);
void inverseKinematics(float x, float y, float z);
float fast_atan_table[257] =
{
0.000000e+00, 3.921549e-03, 7.842976e-03, 1.176416e-02,
1.568499e-02, 1.960533e-02, 2.352507e-02, 2.744409e-02,
3.136226e-02, 3.527947e-02, 3.919560e-02, 4.311053e-02,
4.702413e-02, 5.093629e-02, 5.484690e-02, 5.875582e-02,
6.266295e-02, 6.656816e-02, 7.047134e-02, 7.437238e-02,
7.827114e-02, 8.216752e-02, 8.606141e-02, 8.995267e-02,
9.384121e-02, 9.772691e-02, 1.016096e-01, 1.054893e-01,
1.093658e-01, 1.132390e-01, 1.171087e-01, 1.209750e-01,
1.248376e-01, 1.286965e-01, 1.325515e-01, 1.364026e-01,
1.402496e-01, 1.440924e-01, 1.479310e-01, 1.517652e-01,
1.555948e-01, 1.594199e-01, 1.632403e-01, 1.670559e-01,
1.708665e-01, 1.746722e-01, 1.784728e-01, 1.822681e-01,
1.860582e-01, 1.898428e-01, 1.936220e-01, 1.973956e-01,
2.011634e-01, 2.049255e-01, 2.086818e-01, 2.124320e-01,
2.161762e-01, 2.199143e-01, 2.236461e-01, 2.273716e-01,
2.310907e-01, 2.348033e-01, 2.385093e-01, 2.422086e-01,
2.459012e-01, 2.495869e-01, 2.532658e-01, 2.569376e-01,
2.606024e-01, 2.642600e-01, 2.679104e-01, 2.715535e-01,
2.751892e-01, 2.788175e-01, 2.824383e-01, 2.860514e-01,
2.896569e-01, 2.932547e-01, 2.968447e-01, 3.004268e-01,
3.040009e-01, 3.075671e-01, 3.111252e-01, 3.146752e-01,
3.182170e-01, 3.217506e-01, 3.252758e-01, 3.287927e-01,
3.323012e-01, 3.358012e-01, 3.392926e-01, 3.427755e-01,
3.462497e-01, 3.497153e-01, 3.531721e-01, 3.566201e-01,
3.600593e-01, 3.634896e-01, 3.669110e-01, 3.703234e-01,
3.737268e-01, 3.771211e-01, 3.805064e-01, 3.838825e-01,
3.872494e-01, 3.906070e-01, 3.939555e-01, 3.972946e-01,
4.006244e-01, 4.039448e-01, 4.072558e-01, 4.105574e-01,
4.138496e-01, 4.171322e-01, 4.204054e-01, 4.236689e-01,
4.269229e-01, 4.301673e-01, 4.334021e-01, 4.366272e-01,
4.398426e-01, 4.430483e-01, 4.462443e-01, 4.494306e-01,
4.526070e-01, 4.557738e-01, 4.589307e-01, 4.620778e-01,
4.652150e-01, 4.683424e-01, 4.714600e-01, 4.745676e-01,
4.776654e-01, 4.807532e-01, 4.838312e-01, 4.868992e-01,
4.899573e-01, 4.930055e-01, 4.960437e-01, 4.990719e-01,
5.020902e-01, 5.050985e-01, 5.080968e-01, 5.110852e-01,
5.140636e-01, 5.170320e-01, 5.199904e-01, 5.229388e-01,
5.258772e-01, 5.288056e-01, 5.317241e-01, 5.346325e-01,
5.375310e-01, 5.404195e-01, 5.432980e-01, 5.461666e-01,
5.490251e-01, 5.518738e-01, 5.547124e-01, 5.575411e-01,
5.603599e-01, 5.631687e-01, 5.659676e-01, 5.687566e-01,
5.715357e-01, 5.743048e-01, 5.770641e-01, 5.798135e-01,
5.825531e-01, 5.852828e-01, 5.880026e-01, 5.907126e-01,
5.934128e-01, 5.961032e-01, 5.987839e-01, 6.014547e-01,
6.041158e-01, 6.067672e-01, 6.094088e-01, 6.120407e-01,
6.146630e-01, 6.172755e-01, 6.198784e-01, 6.224717e-01,
6.250554e-01, 6.276294e-01, 6.301939e-01, 6.327488e-01,
6.352942e-01, 6.378301e-01, 6.403565e-01, 6.428734e-01,
6.453808e-01, 6.478788e-01, 6.503674e-01, 6.528466e-01,
6.553165e-01, 6.577770e-01, 6.602282e-01, 6.626701e-01,
6.651027e-01, 6.675261e-01, 6.699402e-01, 6.723452e-01,
6.747409e-01, 6.771276e-01, 6.795051e-01, 6.818735e-01,
6.842328e-01, 6.865831e-01, 6.889244e-01, 6.912567e-01,
6.935800e-01, 6.958943e-01, 6.981998e-01, 7.004964e-01,
7.027841e-01, 7.050630e-01, 7.073330e-01, 7.095943e-01,
7.118469e-01, 7.140907e-01, 7.163258e-01, 7.185523e-01,
7.207701e-01, 7.229794e-01, 7.251800e-01, 7.273721e-01,
7.295557e-01, 7.317307e-01, 7.338974e-01, 7.360555e-01,
7.382053e-01, 7.403467e-01, 7.424797e-01, 7.446045e-01,
7.467209e-01, 7.488291e-01, 7.509291e-01, 7.530208e-01,
7.551044e-01, 7.571798e-01, 7.592472e-01, 7.613064e-01,
7.633576e-01, 7.654008e-01, 7.674360e-01, 7.694633e-01,
7.714826e-01, 7.734940e-01, 7.754975e-01, 7.774932e-01,
7.794811e-01, 7.814612e-01, 7.834335e-01, 7.853983e-01,
7.853983e-01
};
const float sinetable[8193] = {
0.000000,0.000767,0.001534,0.002301,0.003068,0.003835,0.004602,0.005369,0.006136,0.006903,0.007670,0.008437,0.009204,0.009971,0.010738,0.011505,0.012272,0.013038,0.013805,0.014572,0.015339,0.016106,0.016873,0.017640,0.018407,0.019174,0.019940,0.020707,0.021474,0.022241,0.023008,0.023774,0.024541,
0.025308,0.026075,0.026841,0.027608,0.028375,0.029142,0.029908,0.030675,0.031441,0.032208,0.032975,0.033741,0.034508,0.035274,0.036041,0.036807,0.037574,0.038340,0.039107,0.039873,0.040639,0.041406,0.042172,0.042938,0.043705,0.044471,0.045237,0.046003,0.046769,0.047535,0.048302,0.049068,
0.049834,0.050600,0.051366,0.052132,0.052898,0.053664,0.054429,0.055195,0.055961,0.056727,0.057493,0.058258,0.059024,0.059790,0.060555,0.061321,0.062086,0.062852,0.063617,0.064383,0.065148,0.065913,0.066679,0.067444,0.068209,0.068974,0.069739,0.070505,0.071270,0.072035,0.072800,0.073565,
0.074329,0.075094,0.075859,0.076624,0.077389,0.078153,0.078918,0.079682,0.080447,0.081211,0.081976,0.082740,0.083505,0.084269,0.085033,0.085797,0.086561,0.087326,0.088090,0.088854,0.089617,0.090381,0.091145,0.091909,0.092673,0.093436,0.094200,0.094963,0.095727,0.096490,0.097254,0.098017,
0.098780,0.099544,0.100307,0.101070,0.101833,0.102596,0.103359,0.104122,0.104884,0.105647,0.106410,0.107172,0.107935,0.108697,0.109460,0.110222,0.110984,0.111747,0.112509,0.113271,0.114033,0.114795,0.115557,0.116319,0.117080,0.117842,0.118604,0.119365,0.120127,0.120888,0.121649,0.122411,
0.123172,0.123933,0.124694,0.125455,0.126216,0.126977,0.127737,0.128498,0.129259,0.130019,0.130780,0.131540,0.132300,0.133061,0.133821,0.134581,0.135341,0.136101,0.136860,0.137620,0.138380,0.139139,0.139899,0.140658,0.141418,0.142177,0.142936,0.143695,0.144454,0.145213,0.145972,0.146730,
0.147489,0.148248,0.149006,0.149765,0.150523,0.151281,0.152039,0.152797,0.153555,0.154313,0.155071,0.155828,0.156586,0.157343,0.158101,0.158858,0.159615,0.160372,0.161129,0.161886,0.162643,0.163400,0.164157,0.164913,0.165670,0.166426,0.167182,0.167938,0.168694,0.169450,0.170206,0.170962,
0.171718,0.172473,0.173229,0.173984,0.174739,0.175494,0.176249,0.177004,0.177759,0.178514,0.179268,0.180023,0.180777,0.181532,0.182286,0.183040,0.183794,0.184548,0.185301,0.186055,0.186809,0.187562,0.188315,0.189069,0.189822,0.190575,0.191328,0.192080,0.192833,0.193586,0.194338,0.195090,
0.195843,0.196595,0.197347,0.198098,0.198850,0.199602,0.200353,0.201105,0.201856,0.202607,0.203358,0.204109,0.204860,0.205610,0.206361,0.207111,0.207862,0.208612,0.209362,0.210112,0.210862,0.211611,0.212361,0.213110,0.213860,0.214609,0.215358,0.216107,0.216856,0.217604,0.218353,0.219101,
0.219850,0.220598,0.221346,0.222094,0.222841,0.223589,0.224337,0.225084,0.225831,0.226578,0.227325,0.228072,0.228819,0.229565,0.230312,0.231058,0.231804,0.232550,0.233296,0.234042,0.234788,0.235533,0.236278,0.237024,0.237769,0.238514,0.239258,0.240003,0.240748,0.241492,0.242236,0.242980,
0.243724,0.244468,0.245212,0.245955,0.246698,0.247442,0.248185,0.248928,0.249670,0.250413,0.251155,0.251898,0.252640,0.253382,0.254124,0.254866,0.255607,0.256349,0.257090,0.257831,0.258572,0.259313,0.260054,0.260794,0.261534,0.262275,0.263015,0.263755,0.264494,0.265234,0.265973,0.266713,
0.267452,0.268191,0.268930,0.269668,0.270407,0.271145,0.271883,0.272621,0.273359,0.274097,0.274834,0.275572,0.276309,0.277046,0.277783,0.278520,0.279256,0.279993,0.280729,0.281465,0.282201,0.282937,0.283672,0.284408,0.285143,0.285878,0.286613,0.287347,0.288082,0.288816,0.289551,0.290285,
0.291019,0.291752,0.292486,0.293219,0.293952,0.294685,0.295418,0.296151,0.296883,0.297616,0.298348,0.299080,0.299812,0.300543,0.301275,0.302006,0.302737,0.303468,0.304199,0.304929,0.305660,0.306390,0.307120,0.307850,0.308579,0.309309,0.310038,0.310767,0.311496,0.312225,0.312953,0.313682,
0.314410,0.315138,0.315866,0.316593,0.317321,0.318048,0.318775,0.319502,0.320229,0.320955,0.321682,0.322408,0.323134,0.323859,0.324585,0.325310,0.326035,0.326760,0.327485,0.328210,0.328934,0.329658,0.330382,0.331106,0.331830,0.332553,0.333277,0.334000,0.334722,0.335445,0.336168,0.336890,
0.337612,0.338334,0.339055,0.339777,0.340498,0.341219,0.341940,0.342661,0.343381,0.344101,0.344821,0.345541,0.346261,0.346980,0.347700,0.348419,0.349138,0.349856,0.350575,0.351293,0.352011,0.352729,0.353446,0.354164,0.354881,0.355598,0.356314,0.357031,0.357747,0.358463,0.359179,0.359895,
0.360611,0.361326,0.362041,0.362756,0.363470,0.364185,0.364899,0.365613,0.366327,0.367040,0.367754,0.368467,0.369180,0.369892,0.370605,0.371317,0.372029,0.372741,0.373453,0.374164,0.374875,0.375586,0.376297,0.377007,0.377718,0.378428,0.379138,0.379847,0.380557,0.381266,0.381975,0.382683,
0.383392,0.384100,0.384808,0.385516,0.386224,0.386931,0.387638,0.388345,0.389052,0.389758,0.390464,0.391170,0.391876,0.392582,0.393287,0.393992,0.394697,0.395401,0.396106,0.396810,0.397514,0.398218,0.398921,0.399624,0.400327,0.401030,0.401732,0.402435,0.403137,0.403838,0.404540,0.405241,
0.405942,0.406643,0.407344,0.408044,0.408744,0.409444,0.410144,0.410843,0.411542,0.412241,0.412940,0.413638,0.414336,0.415034,0.415732,0.416430,0.417127,0.417824,0.418520,0.419217,0.419913,0.420609,0.421305,0.422000,0.422695,0.423390,0.424085,0.424780,0.425474,0.426168,0.426862,0.427555,
0.428248,0.428941,0.429634,0.430326,0.431019,0.431711,0.432402,0.433094,0.433785,0.434476,0.435167,0.435857,0.436547,0.437237,0.437927,0.438616,0.439305,0.439994,0.440683,0.441371,0.442059,0.442747,0.443435,0.444122,0.444809,0.445496,0.446183,0.446869,0.447555,0.448241,0.448926,0.449611,
0.450296,0.450981,0.451665,0.452350,0.453033,0.453717,0.454400,0.455084,0.455766,0.456449,0.457131,0.457813,0.458495,0.459177,0.459858,0.460539,0.461219,0.461900,0.462580,0.463260,0.463939,0.464619,0.465298,0.465976,0.466655,0.467333,0.468011,0.468689,0.469366,0.470043,0.470720,0.471397,
0.472073,0.472749,0.473425,0.474100,0.474775,0.475450,0.476125,0.476799,0.477473,0.478147,0.478821,0.479494,0.480167,0.480839,0.481512,0.482184,0.482856,0.483527,0.484198,0.484869,0.485540,0.486210,0.486880,0.487550,0.488220,0.488889,0.489558,0.490226,0.490895,0.491563,0.492231,0.492898,
0.493565,0.494232,0.494899,0.495565,0.496231,0.496897,0.497563,0.498228,0.498893,0.499557,0.500221,0.500885,0.501549,0.502212,0.502876,0.503538,0.504201,0.504863,0.505525,0.506187,0.506848,0.507509,0.508170,0.508830,0.509490,0.510150,0.510810,0.511469,0.512128,0.512786,0.513445,0.514103,
0.514760,0.515418,0.516075,0.516732,0.517388,0.518045,0.518700,0.519356,0.520011,0.520666,0.521321,0.521975,0.522629,0.523283,0.523937,0.524590,0.525243,0.525895,0.526547,0.527199,0.527851,0.528502,0.529153,0.529804,0.530454,0.531104,0.531754,0.532403,0.533052,0.533701,0.534349,0.534998,
0.535645,0.536293,0.536940,0.537587,0.538234,0.538880,0.539526,0.540171,0.540817,0.541462,0.542106,0.542751,0.543395,0.544039,0.544682,0.545325,0.545968,0.546610,0.547252,0.547894,0.548536,0.549177,0.549817,0.550458,0.551098,0.551738,0.552378,0.553017,0.553656,0.554294,0.554932,0.555570,
0.556208,0.556845,0.557482,0.558119,0.558755,0.559391,0.560026,0.560662,0.561297,0.561931,0.562565,0.563199,0.563833,0.564466,0.565099,0.565732,0.566364,0.566996,0.567628,0.568259,0.568890,0.569521,0.570151,0.570781,0.571410,0.572040,0.572669,0.573297,0.573925,0.574553,0.575181,0.575808,
0.576435,0.577062,0.577688,0.578314,0.578939,0.579565,0.580189,0.580814,0.581438,0.582062,0.582685,0.583309,0.583931,0.584554,0.585176,0.585798,0.586419,0.587040,0.587661,0.588282,0.588902,0.589521,0.590141,0.590760,0.591378,0.591997,0.592615,0.593232,0.593850,0.594466,0.595083,0.595699,
0.596315,0.596931,0.597546,0.598161,0.598775,0.599389,0.600003,0.600616,0.601230,0.601842,0.602455,0.603067,0.603678,0.604290,0.604900,0.605511,0.606121,0.606731,0.607341,0.607950,0.608559,0.609167,0.609775,0.610383,0.610990,0.611597,0.612204,0.612810,0.613416,0.614022,0.614627,0.615232,
0.615836,0.616440,0.617044,0.617647,0.618250,0.618853,0.619455,0.620057,0.620659,0.621260,0.621861,0.622461,0.623061,0.623661,0.624260,0.624859,0.625458,0.626056,0.626654,0.627252,0.627849,0.628446,0.629042,0.629638,0.630234,0.630829,0.631424,0.632019,0.632613,0.633207,0.633800,0.634393,
0.634986,0.635578,0.636170,0.636762,0.637353,0.637944,0.638534,0.639124,0.639714,0.640303,0.640892,0.641481,0.642069,0.642657,0.643244,0.643832,0.644418,0.645005,0.645590,0.646176,0.646761,0.647346,0.647930,0.648514,0.649098,0.649681,0.650264,0.650847,0.651429,0.652011,0.652592,0.653173,
0.653753,0.654334,0.654913,0.655493,0.656072,0.656651,0.657229,0.657807,0.658384,0.658961,0.659538,0.660114,0.660690,0.661266,0.661841,0.662416,0.662990,0.663564,0.664138,0.664711,0.665284,0.665856,0.666428,0.667000,0.667571,0.668142,0.668713,0.669283,0.669852,0.670422,0.670990,0.671559,
0.672127,0.672695,0.673262,0.673829,0.674396,0.674962,0.675527,0.676093,0.676658,0.677222,0.677786,0.678350,0.678913,0.679476,0.680039,0.680601,0.681163,0.681724,0.682285,0.682846,0.683406,0.683965,0.684525,0.685084,0.685642,0.686200,0.686758,0.687315,0.687872,0.688429,0.688985,0.689541,
0.690096,0.690651,0.691205,0.691759,0.692313,0.692866,0.693419,0.693971,0.694523,0.695075,0.695626,0.696177,0.696728,0.697278,0.697827,0.698376,0.698925,0.699473,0.700021,0.700569,0.701116,0.701663,0.702209,0.702755,0.703300,0.703845,0.704390,0.704934,0.705478,0.706021,0.706564,0.707107,
0.707649,0.708191,0.708732,0.709273,0.709813,0.710353,0.710893,0.711432,0.711971,0.712509,0.713047,0.713585,0.714122,0.714659,0.715195,0.715731,0.716266,0.716801,0.717336,0.717870,0.718404,0.718937,0.719470,0.720003,0.720535,0.721066,0.721597,0.722128,0.722659,0.723188,0.723718,0.724247,
0.724776,0.725304,0.725832,0.726359,0.726886,0.727413,0.727939,0.728464,0.728990,0.729514,0.730039,0.730563,0.731086,0.731609,0.732132,0.732654,0.733176,0.733697,0.734218,0.734739,0.735259,0.735779,0.736298,0.736817,0.737335,0.737853,0.738370,0.738887,0.739404,0.739920,0.740436,0.740951,
0.741466,0.741980,0.742494,0.743008,0.743521,0.744034,0.744546,0.745058,0.745569,0.746080,0.746591,0.747101,0.747610,0.748119,0.748628,0.749136,0.749644,0.750152,0.750659,0.751165,0.751671,0.752177,0.752682,0.753187,0.753691,0.754195,0.754698,0.755201,0.755704,0.756206,0.756708,0.757209,
0.757710,0.758210,0.758710,0.759209,0.759708,0.760207,0.760705,0.761202,0.761700,0.762196,0.762693,0.763188,0.763684,0.764179,0.764673,0.765167,0.765661,0.766154,0.766647,0.767139,0.767631,0.768122,0.768613,0.769103,0.769593,0.770083,0.770572,0.771061,0.771549,0.772036,0.772524,0.773010,
0.773497,0.773983,0.774468,0.774953,0.775438,0.775922,0.776405,0.776888,0.777371,0.777853,0.778335,0.778817,0.779297,0.779778,0.780258,0.780737,0.781216,0.781695,0.782173,0.782651,0.783128,0.783605,0.784081,0.784557,0.785032,0.785507,0.785981,0.786455,0.786929,0.787402,0.787874,0.788346,
0.788818,0.789289,0.789760,0.790230,0.790700,0.791169,0.791638,0.792107,0.792575,0.793042,0.793509,0.793975,0.794442,0.794907,0.795372,0.795837,0.796301,0.796765,0.797228,0.797691,0.798153,0.798615,0.799076,0.799537,0.799998,0.800458,0.800917,0.801376,0.801835,0.802293,0.802750,0.803208,
0.803664,0.804120,0.804576,0.805031,0.805486,0.805940,0.806394,0.806848,0.807300,0.807753,0.808205,0.808656,0.809107,0.809558,0.810008,0.810457,0.810906,0.811355,0.811803,0.812251,0.812698,0.813144,0.813591,0.814036,0.814482,0.814926,0.815371,0.815814,0.816258,0.816701,0.817143,0.817585,
0.818026,0.818467,0.818908,0.819348,0.819787,0.820226,0.820664,0.821103,0.821540,0.821977,0.822414,0.822850,0.823285,0.823721,0.824155,0.824589,0.825023,0.825456,0.825889,0.826321,0.826753,0.827184,0.827615,0.828045,0.828475,0.828904,0.829333,0.829761,0.830189,0.830616,0.831043,0.831470,
0.831895,0.832321,0.832746,0.833170,0.833594,0.834018,0.834440,0.834863,0.835285,0.835706,0.836127,0.836548,0.836968,0.837387,0.837806,0.838225,0.838643,0.839060,0.839477,0.839894,0.840310,0.840725,0.841140,0.841555,0.841969,0.842383,0.842796,0.843208,0.843620,0.844032,0.844443,0.844854,
0.845264,0.845673,0.846082,0.846491,0.846899,0.847307,0.847714,0.848120,0.848526,0.848932,0.849337,0.849742,0.850146,0.850549,0.850953,0.851355,0.851757,0.852159,0.852560,0.852961,0.853361,0.853760,0.854159,0.854558,0.854956,0.855354,0.855751,0.856147,0.856543,0.856939,0.857334,0.857729,
0.858123,0.858516,0.858909,0.859302,0.859694,0.860085,0.860476,0.860867,0.861257,0.861646,0.862035,0.862424,0.862812,0.863199,0.863586,0.863973,0.864359,0.864744,0.865129,0.865514,0.865898,0.866281,0.866664,0.867046,0.867428,0.867809,0.868190,0.868571,0.868951,0.869330,0.869709,0.870087,
0.870465,0.870842,0.871219,0.871595,0.871971,0.872346,0.872721,0.873095,0.873469,0.873842,0.874215,0.874587,0.874958,0.875329,0.875700,0.876070,0.876440,0.876809,0.877177,0.877545,0.877913,0.878280,0.878646,0.879012,0.879378,0.879743,0.880107,0.880471,0.880834,0.881197,0.881559,0.881921,
0.882283,0.882643,0.883004,0.883363,0.883723,0.884081,0.884439,0.884797,0.885154,0.885511,0.885867,0.886223,0.886578,0.886932,0.887286,0.887640,0.887993,0.888345,0.888697,0.889048,0.889399,0.889750,0.890099,0.890449,0.890798,0.891146,0.891493,0.891841,0.892187,0.892534,0.892879,0.893224,
0.893569,0.893913,0.894256,0.894599,0.894942,0.895284,0.895625,0.895966,0.896307,0.896646,0.896986,0.897325,0.897663,0.898001,0.898338,0.898674,0.899011,0.899346,0.899681,0.900016,0.900350,0.900683,0.901016,0.901349,0.901681,0.902012,0.902343,0.902673,0.903003,0.903332,0.903661,0.903989,
0.904317,0.904644,0.904971,0.905297,0.905622,0.905947,0.906272,0.906596,0.906919,0.907242,0.907564,0.907886,0.908207,0.908528,0.908848,0.909168,0.909487,0.909806,0.910124,0.910441,0.910758,0.911075,0.911391,0.911706,0.912021,0.912335,0.912649,0.912962,0.913275,0.913587,0.913899,0.914210,
0.914520,0.914830,0.915140,0.915449,0.915757,0.916065,0.916372,0.916679,0.916985,0.917291,0.917596,0.917901,0.918205,0.918508,0.918811,0.919114,0.919416,0.919717,0.920018,0.920318,0.920618,0.920917,0.921216,0.921514,0.921812,0.922109,0.922405,0.922701,0.922997,0.923291,0.923586,0.923880,
0.924173,0.924465,0.924758,0.925049,0.925340,0.925631,0.925921,0.926210,0.926499,0.926787,0.927075,0.927363,0.927649,0.927935,0.928221,0.928506,0.928791,0.929075,0.929358,0.929641,0.929923,0.930205,0.930486,0.930767,0.931047,0.931327,0.931606,0.931884,0.932162,0.932440,0.932716,0.932993,
0.933269,0.933544,0.933818,0.934093,0.934366,0.934639,0.934912,0.935184,0.935455,0.935726,0.935996,0.936266,0.936535,0.936803,0.937072,0.937339,0.937606,0.937872,0.938138,0.938404,0.938668,0.938932,0.939196,0.939459,0.939722,0.939984,0.940245,0.940506,0.940766,0.941026,0.941285,0.941544,
0.941802,0.942060,0.942317,0.942573,0.942829,0.943084,0.943339,0.943593,0.943847,0.944100,0.944353,0.944605,0.944856,0.945107,0.945358,0.945607,0.945857,0.946105,0.946353,0.946601,0.946848,0.947094,0.947340,0.947586,0.947830,0.948075,0.948318,0.948561,0.948804,0.949046,0.949287,0.949528,
0.949768,0.950008,0.950247,0.950486,0.950724,0.950962,0.951199,0.951435,0.951671,0.951906,0.952141,0.952375,0.952609,0.952842,0.953074,0.953306,0.953537,0.953768,0.953998,0.954228,0.954457,0.954686,0.954914,0.955141,0.955368,0.955594,0.955820,0.956045,0.956270,0.956494,0.956717,0.956