plt plot([ , ],[ , ],"- ",linewidth= for loc in top locations( ,ytop locations[locplt plot([ ],[ ]," <"plt text( + , + ,locprint the label above and to the right plt plot([body rob_x],[body rob_y],"go"plt draw( def plot_run(self)"""plots the history after the agent has finished this is typically only used if body plotting==false ""xs,ys zip(*self body historyplt plot(xs,ys,"go"wxs,wys zip(*self body wall_historyplt plot(wxs,wys,"ro"#plt draw(the following code plots the agent as it acts in the worldagenttop py -(continued from agentenv import rob_bodyrob_env env rob_env({(( , ),( , ))(( ,- ),( , ))}body rob_body(envmiddle rob_middle_layer(bodytop rob_top_layer(middle trypl=plot_env(body,toptop do({'visit':[' ','storage',' ',' ']}you can directly control the middle layermiddle do({'go_to':( ,- )'timeout': }can you make it crashexercise the following code implements robot trap write controller that can escape the "trapand get to the goal see textbook for hints agenttop py -(continued robot trap for which the current controller cannot escapetrap_env rob_env({(( ,- ),( , ))(( , ),( , ))(( ,- ),( , ))(( , ),( , ))(( ,- ),( , ))(( ,- ),( ,- ))(( , ),( , ))(( , ),( , ))(( , ),( , ))}trap_body rob_body(trap_env,init_pos=(- , , )trap_middle rob_middle_layer(trap_bodytrap_top rob_top_layer(trap_middle,locations={'goal':( , )} robot trap exerciseversion june