按轨迹运行

文章目录


在这里插入图片描述

import math
import time

import numpy as np
import matplotlib.pyplot as plt

def plot_arrow(x, y, yaw, length=5, width=1):
    dx = length * math.cos(yaw)
    dy = length * math.sin(yaw)
    plt.arrow(x, y, dx, dy, head_length=width, head_width=width)
    plt.plot([x, x + dx], [y, y + dy])

def plot_robot(x, y, yaw, robot_length, robot_width):
    corner_x = x - robot_length / 2
    corner_y = y - robot_width / 2
    rectangle = plt.Rectangle((corner_x, corner_y), robot_length, robot_width, angle=math.degrees(yaw), fill=False)
    plt.gca().add_patch(rectangle)

def main():
    # x_trajectory = [0.0, 1.0, 2.0, 3.0, 4.0]  # x坐标轨迹
    x_trajectory = [
        1,
        1.1,
        1.2,
        1.3,
        1.4,
        1.5,
        1.6,
        1.7,
        1.8,
        1.9,
        2,
        2.1,
        2.2,
        2.3,
        2.4,
        2.5,
        2.6,
        2.7,
        2.8,
        2.9,
        3,
        3.1,
        3.2,
        3.3,
        3.4,
        3.5,
        3.6,
        3.7,
        3.8,
        3.9,
        4,
        4.1,
        4.2,
        4.3,
        4.4,
        4.5,
        4.6,
        4.7,
        4.8,
        4.9,
        5,
        5.1,
        5.2,
        5.3,
        5.4,
        5.5,
        5.6,
        5.7,
        5.8,
        5.9,
        6,
        6.1,
        6.2,
        6.3,
        6.4,
        6.5,
        6.6,
        6.7,
        6.8,
        6.9,
        7,
        7.1,
        7.2,
        7.3,
        7.4,
        7.5,
        7.6,
        7.7,
        7.8,
        7.9,
        8,
        8.1,
        8.2,
        8.3,
        8.4,
        8.5,
        8.6,
        8.7,
        8.8,
        8.9,
        9,
        9.1,
        9.2,
        9.3,
        9.4,
        9.5,
        9.6,
        9.7,
        9.8,
        9.9,
        10,
        10.1,
        10.2,
        10.3,
        10.4,
        10.5,
        10.6,
        10.7,
        10.8,
        10.9,
        11,
        11.1,
        11.2,
        11.3,
        11.4,
        11.5,
        11.6,
        11.7,
        11.8,
        11.9,
        12,
        12.1,
        12.2,
        12.3,
        12.4,
        12.5,
        12.6,
        12.7,
        12.8,
        12.9,
        13,
        13.1,
        13.2,
        13.3,
        13.4,
        13.5,
        13.6,
        13.7,
        13.8,
        13.9,
        14,
        14.1,
        14.2,
        14.4,
        14.5,
        14.6,
        14.7,
        14.8,
        14.9,
        15,
        15.1,
        15.2,
        15.3,
        15.4,
        15.5,
        15.6,
        15.7,
        15.8,
        15.9,
        16,
        16.1,
        16.2,
        16.3,
        16.4,
        16.5,
        16.6,
        16.7,
        16.9,
        17,
        17.1,
        17.2,
        17.3,
        17.4,
        17.5,
        17.6,
        17.7,
        17.8,
        17.9,
        18,
        18.1,
        18.2,
        18.3,
        18.4,
        18.5,
        18.6,
        18.7,
        18.8,
        18.9,
        19,
        19.1,
        19.2,
        19.3,
        19.4,
        19.5,
        19.6,
        19.7,
        19.8,
        19.9,
        20,
        20.1,
        20.2,
        20.3,
        20.4,
        20.5,
        20.6,
        20.7,
        20.8,
        20.9,
        21,
        21,
        21.09999833,
        21.19998667,
        21.299955,
        21.39989334,
        21.49979169,
        21.59964006,
        21.69942847,
        21.79914694,
        21.89878549,
        21.99833417,
        22.09778301,
        22.19712207,
        22.29634143,
        22.39543115,
        22.49438132,
        22.59318207,
        22.69182349,
        22.79029573,
        22.88858895,
        22.98669331,
        23.084599,
        23.18229623,
        23.27977524,
        23.37702626,
        23.47403959,
        23.57080552,
        23.66731437,
        23.76355649,
        23.85952225,
        23.95520207,
        24.05058636,
        24.14566561,
        24.24043028,
        24.33487092,
        24.42897807,
        24.52274233,
        24.61615432,
        24.70920469,
        24.80188415,
        24.89418342,
        24.98609328,
        25.07760453,
        25.16870802,
        25.25939465,
        25.34965534,
        25.43948107,
        25.52886285,
        25.61779176,
        25.70625888,
        25.79425539,
        25.88177247,
        25.96880138,
        26.05533341,
        26.14135992,
        26.22687229,
        26.31186198,
        26.39632049,
        26.48023937,
        26.56361023,
        26.64642473,
        26.7286746,
        26.81035161,
        26.89144758,
        26.97195441,
        27.05186406,
        27.13116852,
        27.20985987,
        27.28793024,
        27.36537182,
        27.44217687,
        27.51833771,
        27.59384672,
        27.66869635,
        27.74287912,
        27.8163876,
        27.88921445,
        27.96135239,
        28.03279419,
        28.10353272,
        28.17356091,
        28.24287174,
        28.3114583,
        28.37931371,
        28.4464312,
        28.51280405,
        28.57842563,
        28.64328937,
        28.70738879,
        28.77071748,
        28.8332691,
        28.8950374,
        28.9560162,
        29.01619941,
        29.075581,
        29.13415505,
        29.19191568,
        29.24885713,
        29.3049737,
        29.36025979,
        29.41470985,
        29.46831845,
        29.52108022,
        29.57298989,
        29.62404227,
        29.67423226,
        29.72355482,
        29.77200504,
        29.81957807,
        29.86626914,
        29.9120736,
        29.95698686,
        30.00100442,
        30.04412189,
        30.08633496,
        30.1276394,
        30.16803109,
        30.20750598,
        30.24606012,
        30.28368967,
        30.32039086,
        30.35616002,
        30.39099356,
        30.42488802,
        30.45783999,
        30.48984619,
        30.52090342,
        30.55100856,
        30.5801586,
        30.60835064,
        30.63558185,
        30.66184952,
        30.687151,
        30.71148378,
        30.73484542,
        30.75723358,
        30.77864602,
        30.79908061,
        30.8185353,
        30.83700815,
        30.8544973,
        30.87100101,
        30.88651763,
        30.9010456,
        30.91458348,
        30.92712991,
        30.93868363,
        30.9492435,
        30.95880845,
        30.96737752,
        30.97494987,
        30.98152472,
        30.98710144,
        30.99167945,
        30.99525831,
        30.99783764,
        30.9994172,
        30.99999683,
        30.9995,
        30.99800007,
        30.99550034,
        30.99200107,
        30.9875026,
        30.9820054,
        30.97551,
        30.96801706,
        30.95952733,
        30.95004165,
        30.93956098,
        30.92808636,
        30.91561894,
        30.90215996,
        30.88771078,
        30.87227283,
        30.85584767,
        30.83843693,
        30.82004235,
        30.80066578,
        30.78030915,
        30.75897449,
        30.73666395,
        30.71337975,
        30.68912422,
        30.66389978,
        30.63770896,
        30.61055438,
        30.58243876,
        30.55336489,
        30.5233357,
        30.49235418,
        30.46042344,
        30.42754666,
        30.39372713,
        30.35896824,
        30.32327346,
        30.28664636,
        30.2490906,
        30.21060994,
        30.17120823,
        30.1308894,
        30.0896575,
        30.04751663,
        30.00447102,
        29.96052498,
        29.91568288,
        29.86994923,
        29.82332859,
        29.77582562,
        29.72744508,
        29.6781918,
        29.62807071,
        29.57708681,
        29.52524522,
        29.47255111,
        29.41900975,
        29.3646265,
        29.30940679,
        29.25335615,
        29.19648018,
        29.13878457,
        29.08027508,
        29.02095758,
        28.96083799,
        28.89992231,
        28.83821666,
        28.77572719,
        28.71246015,
        28.64842187,
        28.58361876,
        28.51805729,
        28.45174402,
        28.38468559,
        28.31688869,
        28.24836011,
        28.1791067,
        28.10913538,
        28.03845316,
        27.96706709,
        27.89498433,
        27.82221207,
        27.7487576,
        27.67462826,
        27.59983146,
        27.52437468,
        27.44826547,
        27.37151144,
        27.29412027,
        27.21609968,
        27.13745749,
        27.05820157,
        26.97833982,
        26.89788025,
        26.81683089,
        26.73519986,
        26.65299531,
        26.57022547,
        26.48689861,
        26.40302306,
        26.31860721,
        26.23365951,
        26.14818845,
        26.06220257,
        25.97571048,
        25.88872082,
        25.80124229,
        25.71328364,
        25.62485367,
        25.53596121,
        25.44661517,
        25.35682446,
        25.26659808,
        25.17594504,
        25.08487441,
        24.99339529,
        24.90151684,
        24.80924824,
        24.71659872,
        24.62357754,
        24.53019401,
        24.43645746,
        24.34237727,
        24.24796284,
        24.15322362,
        24.05816908,
        23.96280873,
        23.8671521,
        23.77120875,
        23.67498829,
        23.57850033,
        23.48175452,
        23.38476053,
        23.28752808,
        23.19006687,
        23.09238666,
        22.99449721,
        22.89640831,
        22.79812978,
        22.69967143,
        22.60104312,
        22.5022547,
        22.40331606,
        22.30423709,
        22.20502769,
        22.1056978,
        22.00625733,
        21.90671624,
        21.80708448,
        21.70737202,
        21.60758881,
        21.50774485,
        21.40785011,
        21.30791459,
        21.20794828,
        21.10796117,
        21.00796327,
        21,
        20.9,
        20.8,
        20.7,
        20.6,
        20.5,
        20.4,
        20.3,
        20.2,
        20.1,
        20,
        19.9,
        19.8,
        19.7,
        19.6,
        19.5,
        19.4,
        19.3,
        19.2,
        19.1,
        19,
        18.9,
        18.8,
        18.7,
        18.6,
        18.5,
        18.4,
        18.3,
        18.2,
        18.1,
        18,
        17.9,
        17.8,
        17.7,
        17.6,
        17.5,
        17.4,
        17.3,
        17.2,
        17.1,
        17,
        16.9,
        16.8,
        16.7,
        16.6,
        16.5,
        16.4,
        16.3,
        16.2,
        16.1,
        16,
        15.9,
        15.8,
        15.7,
        15.6,
        15.5,
        15.4,
        15.3,
        15.2,
        15.1,
        15,
        14.9,
        14.8,
        14.7,
        14.6,
        14.5,
        14.4,
        14.3,
        14.2,
        14.1,
        14,
        13.9,
        13.8,
        13.7,
        13.6,
        13.5,
        13.4,
        13.3,
        13.2,
        13.1,
        13,
        12.9,
        12.8,
        12.7,
        12.6,
        12.5,
        12.4,
        12.3,
        12.2,
        12.1,
        12,
        11.9,
        11.8,
        11.7,
        11.6,
        11.5,
        11.4,
        11.3,
        11.2,
        11.1,
        11,
        10.9,
        10.8,
        10.7,
        10.6,
        10.5,
        10.4,
        10.3,
        10.2,
        10.1,
        10,
        9.9,
        9.8,
        9.7,
        9.6,
        9.5,
        9.4,
        9.3,
        9.2,
        9.1,
        9,
        8.9,
        8.8,
        8.7,
        8.6,
        8.5,
        8.4,
        8.3,
        8.2,
        8.1,
        8,
        7.9,
        7.8,
        7.7,
        7.6,
        7.5,
        7.4,
        7.3,
        7.2,
        7.1,
        7,
        6.9,
        6.8,
        6.7,
        6.6,
        6.5,
        6.4,
        6.3,
        6.2,
        6.1,
        6,
        5.9,
        5.8,
        5.7,
        5.6,
        5.5,
        5.4,
        5.3,
        5.2,
        5.1,
        5,
        4.9,
        4.8,
        4.7,
        4.6,
        4.5,
        4.4,
        4.3,
        4.2,
        4.1,
        4,
        3.9,
        3.8,
        3.7,
        3.6,
        3.5,
        3.4,
        3.3,
        3.2,
        3.1,
        3,
        2.9,
        2.8,
        2.7,
        2.6,
        2.5,
        2.4,
        2.3,
        2.2,
        2.1,
        2,
        1.9,
        1.8,
        1.7,
        1.6,
        1.5,
        1.4,
        1.3,
        1.2,
        1.1,
        1,
        1,
        0.900001667,
        0.800013333,
        0.700044998,
        0.600106658,
        0.500208307,
        0.400359935,
        0.300571527,
        0.20085306,
        0.101214508,
        0.001665834,
        - 0.097783008,
        - 0.197122073,
        - 0.296341426,
        - 0.395431146,
        - 0.494381325
        - 0.593182066,
        - 0.691823491,
        - 0.790295734,
        - 0.88858895,
        - 0.986693308,
        - 1.084598998,
        - 1.182296231,
        - 1.279775235,
        - 1.377026264,
        - 1.474039593,
        - 1.570805519,
        - 1.667314367,
        - 1.763556486,
        - 1.859522251,
        - 1.955202067,
        - 2.050586364,
        - 2.145665606,
        - 2.240430284,
        - 2.334870921,
        - 2.428978075,
        - 2.522742333,
        - 2.61615432,
        - 2.709204694,
        - 2.801884151,
        - 2.894183423,
        - 2.98609328,
        - 3.077604531,
        - 3.168708024,
        - 3.259394651,
        - 3.349655341,
        - 3.43948107,
        - 3.528862854,
        - 3.617791755,
        - 3.706258882,
        - 3.794255386,
        - 3.881772469,
        - 3.968801378,
        - 4.055333412,
        - 4.141359917,
        - 4.226872289,
        - 4.311861979,
        - 4.396320487,
        - 4.480239368,
        - 4.563610229,
        - 4.646424734,
        - 4.728674601,
        - 4.810351605,
        - 4.891447579,
        - 4.971954414,
        - 5.051864057,
        - 5.13116852,
        - 5.20985987,
        - 5.28793024,
        - 5.365371822,
        - 5.442176872,
        - 5.51833771,
        - 5.59384672,
        - 5.66869635,
        - 5.742879116,
        - 5.8163876,
        - 5.889214451,
        - 5.961352386,
        - 6.032794192,
        - 6.103532724,
        - 6.173560909,
        - 6.242871744,
        - 6.311458297,
        - 6.379313711,
        - 6.4464312,
        - 6.512804051,
        - 6.578425629,
        - 6.64328937,
        - 6.707388789,
        - 6.770717475,
        - 6.833269096,
        - 6.895037397,
        - 6.9560162,
        - 7.016199409,
        - 7.075581004,
        - 7.134155048,
        - 7.191915683,
        - 7.248857133,
        - 7.304973705,
        - 7.360259786,
        - 7.414709848,
        - 7.468318446,
        - 7.521080219,
        - 7.572989892,
        - 7.624042272,
        - 7.674232256,
        - 7.723554823,
        - 7.772005043,
        - 7.819578069,
        - 7.866269144,
        - 7.912073601,
        - 7.956986857,
        - 8.001004422,
        - 8.044121894,
        - 8.086334961,
        - 8.127639403,
        - 8.168031088,
        - 8.207505977,
        - 8.246060124,
        - 8.283689672,
        - 8.32039086,
        - 8.356160016,
        - 8.390993563,
        - 8.424888019,
        - 8.457839994,
        - 8.489846194,
        - 8.520903416,
        - 8.551008556,
        - 8.580158603,
        - 8.608350642,
        - 8.635581854,
        - 8.661849516,
        - 8.687151001,
        - 8.711483779,
        - 8.734845417,
        - 8.757233578,
        - 8.778646024,
        - 8.799080614,
        - 8.818535304,
        - 8.837008148,
        - 8.8544973,
        - 8.87100101,
        - 8.886517629,
        - 8.901045603,
        - 8.914583482,
        - 8.92712991,
        - 8.938683634,
        - 8.949243498,
        - 8.958808445,
        - 8.96737752,
        - 8.974949866,
        - 8.981524725,
        - 8.98710144,
        - 8.991679453,
        - 8.995258306,
        - 8.997837642,
        - 8.999417202,
        - 8.999996829,
        - 8.999576465,
        - 8.998156151,
        - 8.99573603,
        - 8.992316344,
        - 8.987897435,
        - 8.982479744,
        - 8.976063813,
        - 8.968650285,
        - 8.960239899,
        - 8.950833498,
        - 8.940432022,
        - 8.929036511,
        - 8.916648105,
        - 8.903268042,
        - 8.88889766,
        - 8.873538397,
        - 8.857191788,
        - 8.839859469,
        - 8.821543171,
        - 8.802244728,
        - 8.781966068,
        - 8.76070922,
        - 8.738476309,
        - 8.715269558,
        - 8.691091289,
        - 8.665943918,
        - 8.639829962,
        - 8.61275203,
        - 8.584712831,
        - 8.555715169,
        - 8.525761943,
        - 8.494856149,
        - 8.463000877,
        - 8.430199313,
        - 8.396454737,
        - 8.361770523,
        - 8.32615014,
        - 8.28959715,
        - 8.252115208,
        - 8.213708062,
        - 8.174379553,
        - 8.134133613,
        - 8.092974268,
        - 8.050905633,
        - 8.007931915,
        - 7.964057412,
        - 7.91928651,
        - 7.873623686,
        - 7.827073508,
        - 7.77964063,
        - 7.731329795,
        - 7.682145834,
        - 7.632093666,
        - 7.581178296,
        - 7.529404816,
        - 7.476778401,
        - 7.423304316,
        - 7.368987908,
        - 7.313834608,
        - 7.257849931,
        - 7.201039476,
        - 7.143408924,
        - 7.084964038,
        - 7.025710662,
        - 6.965654722,
        - 6.904802223,
        - 6.843159251,
        - 6.780731969,
        - 6.71752662,
        - 6.653549525,
        - 6.588807082,
        - 6.523305764,
        - 6.457052122,
        - 6.390052781,
        - 6.32231444,
        - 6.253843875,
        - 6.184647931,
        - 6.114733528,
        - 6.044107658,
        - 5.972777383
        - 5.900749836,
        - 5.828032219,
        - 5.754631806,
        - 5.680555934,
        - 5.605812013,
        - 5.530407516,
        - 5.454349983,
        - 5.377647021,
        - 5.3003063,
        - 5.222335553,
        - 5.143742578,
        - 5.064535234,
        - 4.984721441,
        - 4.904309181,
        - 4.823306495,
        - 4.741721484,
        - 4.659562304,
        - 4.576837174,
        - 4.493554364,
        - 4.409722204,
        - 4.325349076,
        - 4.240443417,
        - 4.155013718,
        - 4.069068522,
        - 3.982616424,
        - 3.895666068,
        - 3.80822615,
        - 3.720305413,
        - 3.631912649,
        - 3.543056698,
        - 3.453746445,
        - 3.363990822,
        - 3.273798802,
        - 3.183179407,
        - 3.092141697,
        - 3.000694776,
        - 2.908847789,
        - 2.816609921,
        - 2.723990394,
        - 2.630998472,
        - 2.537643453,
        - 2.443934673,
        - 2.349881502,
        - 2.255493345,
        - 2.160779642,
        - 2.065749864,
        - 1.970413513,
        - 1.874780123,
        - 1.778859258,
        - 1.682660509,
        - 1.586193497,
        - 1.489467867,
        - 1.392493292,
        - 1.29527947,
        - 1.197836122,
        - 1.100172993,
        - 1.002299847,
        - 0.904226474,
        - 0.805962679,
        - 0.70751829,
        - 0.60890315,
        - 0.510127121,
        - 0.411200081,
        - 0.312131922,
        - 0.21293255,
        - 0.113611887,
        - 0.014179863,
        0.085353578,
        0.184978482,
        0.284684889,
        0.384462826,
        0.484302316,
        0.584193376,
        0.684126016,
        0.784090243,
        0.884076061,
        0.984073471,
        1,
        1.1,
        1.2,
        1.3,
        1.4,
        1.5,
        1.6,
        1.7,
        1.8,
        1.9,
        2,
        2.1,
        2.2,
        2.3,
        2.4,
        2.5,
        2.6,
        2.7,
        2.8,
        2.9,
        3,
        3.1,
        3.2,
        3.3,
        3.4,
        3.5,
        3.6,
        3.7,
        3.8,
        3.9,
        4,
        4.1,
        4.2,
        4.3,
        4.4,
        4.5,
        4.6,
        4.7,
        4.8,
        4.9,
        5,
        5.1,
        5.2,
        5.3,
        5.4,
        5.5,
        5.6,
        5.7,
        5.8,
        5.9,
        6,
        6.1,
        6.2,
        6.3,
        6.4,
        6.5,
        6.6,
        6.7,
        6.8,
        6.9,
        7,
        7.1,
        7.2,
        7.3,
        7.4,
        7.5,
        7.6,
        7.7,
        7.8,
        7.9,
        8,
        8.1,
        8.2,
        8.3,
        8.4,
        8.5,
        8.6,
        8.7,
        8.8,
        8.9,
        9,
        9.1,
        9.2,
        9.3,
        9.4,
        9.5,
        9.6,
        9.7,
        9.8,
        9.9,
        10,
        10.1,
        10.2,
        10.3,
        10.4,
        10.5,
        10.6,
        10.7,
        10.8,
        10.9,
        11,
        11.1,
        11.2,
        11.3,
        11.4,
        11.5,
        11.6,
        11.7,
        11.8,
        11.9,
        12,
        12.1,
        12.2,
        12.3,
        12.4,
        12.5,
        12.6,
        12.7,
        12.8,
        12.9,
        13,
        13.1,
        13.2,
        13.3,
        13.4,
        13.5,
        13.6,
        13.7,
        13.8,
        13.9,
        14,
        14.1,
        14.2,
        14.3,
        14.4,
        14.5,
        14.6,
        14.7,
        14.8,
        14.9,
        15,
        15.1,
        15.2,
        15.3,
        15.4,
        15.5,
        15.6,
        15.7,
        15.8,
        15.9,
        16,
        16.1,
        16.2,
        16.3,
        16.4,
        16.5,
        16.6,
        16.7,
        16.8,
        16.9,
        17,
        17.1,
        17.2,
        17.3,
        17.4,
        17.5,
        17.6,
        17.7,
        17.8,
        17.9,
        18,
        18.1,
        18.2,
        18.3,
        18.4,
        18.5,
        18.6,
        18.7,
        18.8,
        18.9,
        19,
        19.1,
        19.2,
        19.3,
        19.4,
        19.5,
        19.6,
        19.7,
        19.8,
        19.9,
        20,
        20.1,
        20.2,
        20.3,
        20.4,
        20.5,
        20.6,
        20.7,
        20.8,
        20.9,
        20.9,
        20.9,
        21
    ]
    # y_trajectory = [0.0, 1.0, 2.0, 3.0, 4.0]  # y坐标轨迹
    y_trajectory = [
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1.000499996,
        1.001999933,
        1.004499663,
        1.007998933,
        1.012497396,
        1.017994601,
        1.024489997,
        1.031982937,
        1.04047267,
        1.049958347,
        1.06043902,
        1.071913641,
        1.084381063,
        1.097840038,
        1.112289221,
        1.127727166,
        1.144152331,
        1.161563072,
        1.179957649,
        1.199334222,
        1.219690853,
        1.241025507,
        1.26333605,
        1.286620251,
        1.310875783,
        1.336100219,
        1.362291036,
        1.389445617,
        1.417561245,
        1.446635109,
        1.476664301,
        1.507645819,
        1.539576565,
        1.572453345,
        1.606272872,
        1.641031763,
        1.676726544,
        1.713353644,
        1.750909401,
        1.78939006,
        1.828791772,
        1.869110597,
        1.910342503,
        1.952483368,
        1.995528976,
        2.039475025,
        2.084317118,
        2.130050772,
        2.176671414,
        2.224174381,
        2.272554924,
        2.321808203,
        2.371929295,
        2.422913186,
        2.474754779,
        2.52744889,
        2.580990248,
        2.635373501,
        2.690593209,
        2.746643851,
        2.803519822,
        2.861215433,
        2.919724917,
        2.979042421,
        3.039162015,
        3.100077685,
        3.161783341,
        3.224272812,
        3.28753985,
        3.351578127,
        3.41638124,
        3.481942709,
        3.548255977,
        3.615314413,
        3.683111311,
        3.751639893,
        3.820893304,
        3.89086462,
        3.961546843,
        4.032932907,
        4.10501567,
        4.177787927,
        4.251242399,
        4.325371742,
        4.400168541,
        4.475625318,
        4.551734528,
        4.628488558,
        4.705879734,
        4.783900317,
        4.862542505,
        4.941798434,
        5.021660177,
        5.10211975,
        5.183169105,
        5.264800139,
        5.347004688,
        5.429774532,
        5.513101394,
        5.596976941,
        5.681392786,
        5.766340487,
        5.85181155,
        5.937797428,
        6.024289521,
        6.111279181,
        6.19875771,
        6.286716358,
        6.375146331,
        6.464038786,
        6.553384833,
        6.643175537,
        6.733401921,
        6.82405496,
        6.915125591,
        7.006604706,
        7.098483157,
        7.190751756,
        7.283401277,
        7.376422455,
        7.469805988,
        7.563542537,
        7.657622729,
        7.752037156,
        7.846776376,
        7.941830916,
        8.037191271,
        8.132847904,
        8.228791249,
        8.325011714,
        8.421499675,
        8.518245483,
        8.615239466,
        8.712471922,
        8.809933129,
        8.907613341,
        9.00550279,
        9.103591687,
        9.201870223,
        9.300328571,
        9.398956884,
        9.497745301,
        9.596683942,
        9.695762913,
        9.794972306,
        9.894302202,
        9.993742666,
        10.09328376,
        10.19291552,
        10.29262798,
        10.39241119,
        10.49225515,
        10.59214989,
        10.69208541,
        10.79205172,
        10.89203883,
        10.99203673,
        11.09999833,
        11.19998667,
        11.299955,
        11.39989334,
        11.49979169,
        11.59964006,
        11.69942847,
        11.79914694,
        11.89878549,
        11.99833417,
        12.09778301,
        12.19712207,
        12.29634143,
        12.39543115,
        12.49438132,
        12.59318207,
        12.69182349,
        12.79029573,
        12.88858895,
        12.98669331,
        13.084599,
        13.18229623,
        13.27977524,
        13.37702626,
        13.47403959,
        13.57080552,
        13.66731437,
        13.76355649,
        13.85952225,
        13.95520207,
        14.05058636,
        14.14566561,
        14.24043028,
        14.33487092,
        14.42897807,
        14.52274233,
        14.61615432,
        14.70920469,
        14.80188415,
        14.89418342,
        14.98609328,
        15.07760453,
        15.16870802,
        15.25939465,
        15.34965534,
        15.43948107,
        15.52886285,
        15.61779176,
        15.70625888,
        15.79425539,
        15.88177247,
        15.96880138,
        16.05533341,
        16.14135992,
        16.22687229,
        16.31186198,
        16.39632049,
        16.48023937,
        16.56361023,
        16.64642473,
        16.7286746,
        16.81035161,
        16.89144758,
        16.97195441,
        17.05186406,
        17.13116852,
        17.20985987,
        17.28793024,
        17.36537182,
        17.44217687,
        17.51833771,
        17.59384672,
        17.66869635,
        17.74287912,
        17.8163876,
        17.88921445,
        17.96135239,
        18.03279419,
        18.10353272,
        18.17356091,
        18.24287174,
        18.3114583,
        18.37931371,
        18.4464312,
        18.51280405,
        18.57842563,
        18.64328937,
        18.70738879,
        18.77071748,
        18.8332691,
        18.8950374,
        18.9560162,
        19.01619941,
        19.075581,
        19.13415505,
        19.19191568,
        19.24885713,
        19.3049737,
        19.36025979,
        19.41470985,
        19.46831845,
        19.52108022,
        19.57298989,
        19.62404227,
        19.67423226,
        19.72355482,
        19.77200504,
        19.81957807,
        19.86626914,
        19.9120736,
        19.95698686,
        20.00100442,
        20.04412189,
        20.08633496,
        20.1276394,
        20.16803109,
        20.20750598,
        20.24606012,
        20.28368967,
        20.32039086,
        20.35616002,
        20.39099356,
        20.42488802,
        20.45783999,
        20.48984619,
        20.52090342,
        20.55100856,
        20.5801586,
        20.60835064,
        20.63558185,
        20.66184952,
        20.687151,
        20.71148378,
        20.73484542,
        20.75723358,
        20.77864602,
        20.79908061,
        20.8185353,
        20.83700815,
        20.8544973,
        20.87100101,
        20.88651763,
        20.9010456,
        20.91458348,
        20.92712991,
        20.93868363,
        20.9492435,
        20.95880845,
        20.96737752,
        20.97494987,
        20.98152472,
        20.98710144,
        20.99167945,
        20.99525831,
        20.99783764,
        20.9994172,
        20.99999683,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21,
        21.0005,
        21.00199993,
        21.00449966,
        21.00799893,
        21.0124974,
        21.0179946,
        21.02449,
        21.03198294,
        21.04047267,
        21.04995835,
        21.06043902,
        21.07191364,
        21.08438106,
        21.09784004,
        21.11228922,
        21.12772717,
        21.14415233,
        21.16156307,
        21.17995765,
        21.19933422,
        21.21969085,
        21.24102551,
        21.26333605,
        21.28662025,
        21.31087578,
        21.33610022,
        21.36229104,
        21.38944562,
        21.41756124,
        21.44663511,
        21.4766643,
        21.50764582,
        21.53957656,
        21.57245334,
        21.60627287,
        21.64103176,
        21.67672654,
        21.71335364,
        21.7509094,
        21.78939006,
        21.82879177,
        21.8691106,
        21.9103425,
        21.95248337,
        21.99552898,
        22.03947502,
        22.08431712,
        22.13005077,
        22.17667141,
        22.22417438,
        22.27255492,
        22.3218082,
        22.37192929,
        22.42291319,
        22.47475478,
        22.52744889,
        22.58099025,
        22.6353735,
        22.69059321,
        22.74664385,
        22.80351982,
        22.86121543,
        22.91972492,
        22.97904242,
        23.03916201,
        23.10007769,
        23.16178334,
        23.22427281,
        23.28753985,
        23.35157813,
        23.41638124,
        23.48194271,
        23.54825598,
        23.61531441,
        23.68311131,
        23.75163989,
        23.8208933,
        23.89086462,
        23.96154684,
        24.03293291,
        24.10501567,
        24.17778793,
        24.2512424,
        24.32537174,
        24.40016854,
        24.47562532,
        24.55173453,
        24.62848856,
        24.70587973,
        24.78390032,
        24.86254251,
        24.94179843,
        25.02166018,
        25.10211975,
        25.18316911,
        25.26480014,
        25.34700469,
        25.42977453,
        25.51310139,
        25.59697694,
        25.68139279,
        25.76634049,
        25.85181155,
        25.93779743,
        26.02428952,
        26.11127918,
        26.19875771,
        26.28671636,
        26.37514633,
        26.46403879,
        26.55338483,
        26.64317554,
        26.73340192,
        26.82405496,
        26.91512559,
        27.00660471,
        27.09848316,
        27.19075176,
        27.28340128,
        27.37642246,
        27.46980599,
        27.56354254,
        27.65762273,
        27.75203716,
        27.84677638,
        27.94183092,
        28.03719127,
        28.1328479,
        28.22879125,
        28.32501171,
        28.42149967,
        28.51824548,
        28.61523947,
        28.71247192,
        28.80993313,
        28.90761334,
        29.00550279,
        29.10359169,
        29.20187022,
        29.30032857,
        29.39895688,
        29.4977453,
        29.59668394,
        29.69576291,
        29.79497231,
        29.8943022,
        29.99374267,
        30.09328376,
        30.19291552,
        30.29262798,
        30.49225515,
        30.59214989,
        30.69208541,
        30.79205172,
        30.89203883,
        30.99203673,
        31.09203543,
        31.19202493,
        31.29199522,
        31.39193632,
        31.49183822,
        31.59169094,
        31.69148449,
        31.79120889,
        31.89085417,
        31.99041037,
        32.08986752,
        32.18921569,
        32.28844494,
        32.38754535,
        32.486507,
        32.58532001,
        32.68397448,
        32.78246056,
        32.88076839,
        32.97888815,
        33.07681002,
        33.17452421,
        33.27202095,
        33.36929049,
        33.4663231,
        33.56310908,
        33.65963876,
        33.75590247,
        33.85189059,
        33.94759353,
        34.04300171,
        34.13810559,
        34.23289567,
        34.32736246,
        34.42149651,
        34.51528842,
        34.6087288,
        34.70180831,
        34.79451765,
        34.88684753,
        34.97878874,
        35.07033207,
        35.16146837,
        35.25218852,
        35.34248346,
        35.43234416,
        35.52176162,
        35.61072691,
        35.69923114,
        35.78726544,
        35.87482102,
        35.96188913,
        36.04846105,
        36.13452812,
        36.22008175,
        36.30511338,
        36.38961449,
        36.47357665,
        36.55699146,
        36.63985058,
        36.72214571,
        36.80386863,
        36.88501117,
        36.96556522,
        37.04552271,
        37.12487566,
        37.20361612,
        37.28173623,
        37.35922817,
        37.43608419,
        37.51229661,
        37.5878578,
        37.66276021,
        37.73699636,
        37.81055881,
        37.8834402,
        37.95563326,
        38.02713077,
        38.09792556,
        38.16801057,
        38.23737879,
        38.30602327,
        38.37393716,
        38.44111365,
        38.50754605,
        38.57322769,
        38.63815202,
        38.70231254,
        38.76570284,
        38.82831657,
        38.89014747,
        38.95118937,
        39.01143616,
        39.0708818,
        39.12952037,
        39.18734599,
        39.24435289,
        39.30053535,
        39.35588777,
        39.41040461,
        39.46408041,
        39.51690981,
        39.56888753,
        39.62000837,
        39.67026721,
        39.71965904,
        39.7681789,
        39.81582196,
        39.86258344,
        39.90845867,
        39.95344306,
        39.99753211,
        40.04072142,
        40.08300666,
        40.12438361,
        40.16484813,
        40.20439618,
        40.24302379,
        40.2807271,
        40.31750235,
        40.35334586,
        40.38825404,
        40.42222341,
        40.45525056,
        40.48733219,
        40.5184651,
        40.54864616,
        40.57787238,
        40.60614081,
        40.63344863,
        40.65979312,
        40.68517164,
        40.70958165,
        40.73302071,
        40.75548648,
        40.7769767,
        40.79748924,
        40.81702203,
        40.83557313,
        40.85314068,
        40.86972293,
        40.88531821,
        40.89992497,
        40.91354174,
        40.92616717,
        40.93779999,
        40.94843903,
        40.95808325,
        40.96673166,
        40.9743834,
        40.98103772,
        40.98669394,
        40.9913515,
        40.99500994,
        40.99766888,
        40.99932806,
        40.99998732,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41,
        41]
    robot_length = 4  # 小车的长度
    robot_width = 2  # 小车的宽度

    fig, ax = plt.subplots()  # 创建一个图形和坐标轴对象

    for i in range(len(x_trajectory) - 1):
        x = x_trajectory[i]
        y = y_trajectory[i]
        yaw = math.atan2(y_trajectory[i+1] - y_trajectory[i], x_trajectory[i+1] - x_trajectory[i])  # 计算小车的朝向角度
        plt.cla()

        plot_robot(x+0.2, y-0.2, yaw, robot_length, robot_width)  # 绘制小车


        plt.plot(x_trajectory, y_trajectory, "-r")  # 绘制轨迹
        plt.plot(x, y, "bo")  # 绘制小车位置点
        plot_arrow(x, y, yaw)  # 绘制箭头
        plt.axis("equal")
        plt.grid(True)
        plt.pause(0.001)  # 暂停一段时间,使动画更流畅

    plt.show()

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vsropy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值