def plotGuess (gtFilename, guessFilename, figFilename): """ Plots groundtruth and initial guess of SLAM problem. Parameters ---------- gtFilename: string path for groundtruth data guessFilename: string path for initial guess data figFilename: string path for output figure (without extension) """ # get variables from file gtData = slamData(gtFilename) guessData = slamData(guessFilename) lw = 3 ms = 8 if gtData is not None: gtRobPlt, = plt.plot(gtData.poseX, gtData.poseY, '.-', color = '#bbbbf9', linewidth = lw, markersize = ms, label='GT robot path') lanPlt, = plt.plot(guessData.landmarkX, guessData.landmarkY, 'r+', linewidth = lw, markersize = ms, label='landmarks') robPlt, = plt.plot(guessData.poseX, guessData.poseY, 'b-', linewidth = lw, markersize = ms, label='robot path') if gtData is not None: gtLanPlt, = plt.plot(gtData.landmarkX, gtData.landmarkY, '.', color = '#800000', linewidth = lw, markersize = ms, label='GT landmarks') ax = plt.axes() ax.grid(True) ax.set_title("Initial Guess") ax.relim() ax.autoscale_view() ax.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) plt.savefig(figFilename + ".pdf", bbox_inches='tight')
def plotResults(gtFilename, guessFilename, optFilename, figFilename, suffix=""): """ Plots groundtruth, initial guess, and optimized results of SLAM (simulated) problem. Parameters ---------- gtFilename: string path for groundtruth data guessFilename: string path for initial guess data optFilename: string path for optimized result data figFilename: string path for output figure (without extension) suffix: string, optional string to append in figure's name """ # get variables from file gtData = slamData(gtFilename) guessData = slamData(guessFilename) optData = slamData(optFilename) # create figure f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) makeSubplot(ax1, gtData, guessData, "Initial Guess", False) makeSubplot(ax2, gtData, optData, "After Solver", True) #plt.show() # print figure #plt.savefig(figFilename + ".png", bbox_inches='tight') plt.savefig(figFilename + suffix + ".pdf", bbox_inches='tight') # plot path error pathPlot(gtData, optData, figFilename, suffix)
def plotGuess (gtFilename, guessFilename, figFilename): """ Plots groundtruth and initial guess of SLAM problem. Parameters ---------- gtFilename: string path for groundtruth data guessFilename: string path for initial guess data figFilename: string path for output figure (without extension) """ # get variables from file gtData = slamData(gtFilename) guessData = slamData(guessFilename) ax = plt.axes() makeSubplot(ax, gtData, guessData, "Initial Guess", True) plt.savefig(figFilename + ".pdf", bbox_inches='tight')
def plotGuess(gtFilename, guessFilename, figFilename): """ Plots groundtruth and initial guess of SLAM problem. Parameters ---------- gtFilename: string path for groundtruth data guessFilename: string path for initial guess data figFilename: string path for output figure (without extension) """ # get variables from file gtData = slamData(gtFilename) guessData = slamData(guessFilename) ax = plt.axes() makeSubplot(ax, gtData, guessData, "Initial Guess", True) plt.savefig(figFilename + ".pdf", bbox_inches='tight')
def makeRealPlots (guessPath, optPath, figPath, suffix=""): """ Plots initial guess and optimized results of SLAM (real) problem. Parameters ---------- guessFilename: string path for initial guess data optFilename: string path for optimized result data figFilename: string path for output figure (without extension) suffix: string, optional string to append in figure's name """ # get data from file guessData = slamData(guessPath) optData = slamData(optPath) f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) makeSubplot(ax1, None, guessData, "Initial Guess", False) makeSubplot(ax2, None, optData, "After Solver", True) # make figure plt.savefig(figPath + suffix + ".pdf", bbox_inches='tight')