Пример #1
0
        # Apply control on vehicle
        for q in range(len(vehicle.other_vehicles)):
            vehicle.other_vehicles[q].apply_control(
                vehicle.other_agents[q].run_step())

        vehicle.vehicle.apply_control(vehicle.agent.run_step())
        vehicle.world.tick()

        # Plotting ####################################

        # rotate VO points from VO frame to robot start frame
        trajectory_vo_np = (np.asarray(trajectory_vo) @ vo_compensation).T

        trajectory_gt_np = np.asarray(trajectory_gt).T
        trajectory_vio_np = vio_ekf.getTrajectory().T

        ax.plot3D(
            trajectory_gt_np[0],
            trajectory_gt_np[1],
            trajectory_gt_np[2],
            "red",
            label="Ground Truth",
        )

        ax.plot3D(
            trajectory_vo_np[0],
            trajectory_vo_np[1],
            trajectory_vo_np[2],
            "green",
            label="Estimated (VO)",