Erro Exception in thread "main"

Caros, boa tarde!

Comecei a fazer a questao abaixo, só que estou tendo problema para rodar a classe principal. Gostaria da ajuda dos colegas!!

Obrigado,

[color=red]Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Cannot instantiate the type Veiculo[/color]

[color=brown]Deseja-se construir um sistema que controle o fluxo de veículos em um pedágio. Todo veículo tem
uma placa e deve pagar um valor ao passar pelo pedágio.
Nesse pedágio, a tabela de preços, que depende do tipo de veículo, é fornecida abaixo.
Tipo de Veículo Preço
Moto R$2,00
Veículos de Passeio R$4,00
Caminhões R$4,00 / eixo[/color]

[code]package automoveis;

public abstract class Veiculo{

private String placa;


public Veiculo(){
	}

public Veiculo(String placa){
	this.placa = placa;
}


public String getPlaca(){
	return this.placa;
}

public void setPlaca(String placa){
	this.placa = placa;
}

public abstract double obterValorPedagio();

}[/code]

[code]package automoveis;

public class VeiculosPasseio extends Veiculo{

public VeiculosPasseio(){
	super();
}

public VeiculosPasseio(String placa){
	super(placa);
}

//@override
public double obterValorPedagio(){
	return 4;	
}

}[/code]

[code]
package automoveis;

public class Moto extends Veiculo{

public Moto(){
	super();
}

public Moto(String placa){
	super(placa);
}

//@override
public double obterValorPedagio(){
	return 2;	
}

}[/code]

[code]package automoveis;

public class Caminhao extends Veiculo{

public Caminhao(){
	super();
}

public Caminhao(String placa, int numeroEixo){
	super(placa);
	this.numeroEixo = numeroEixo;
}

private int numeroEixo;

public int getNumeroEixo(){
	return this.numeroEixo;
}

public void setPlaca(int numeroEixo){
	this.numeroEixo =numeroEixo;
}

//@override
public double obterValorPedagio(){
	return 4 * numeroEixo;	
}

}[/code]

[code]import java.util.Scanner;

public class Principal {

public static void main(String args []) {

	
	
	Scanner teclado = new Scanner (System.in);
	Veiculo v = new Veiculo();   
	teclado.nextLine(); // quebra linha pro scanner funcionar   
	String tipoVeiculo = teclado.nextLine();   
	if (tipoVeiculo.equalsIgnoreCase("VeiculosPasseio")){   
	   v = new VeiculosPasseio();   
	} 
	if (tipoVeiculo.equalsIgnoreCase("Moto")){
		v = new Moto ();
	}
	if (tipoVeiculo.equalsIgnoreCase("Caminhao")){
		v = new Caminhao (); 
	}
	else {   
		System.out.print("Operacao inválida!");     
	}   
	System.out.println("O valor do pedágio é: " + v.obterValorPedagio());  
}

}[/code]

Uma classe abstrata não se instancia…

OK, muito obrigado!! Já consegui resolver