My asteroid dont move after shoot - why?

Hello,
I have two scripts - one for my beam and one for asteroid. The problem is, that after my beam shoot asteroid, the asteroid is only move up along Y axis and rotate, but not change z or x position. I thought, that if i attach a rigidbody and cofigurable joint to my asteroid, it will move properly. What I missing?

Here is my beam script

using UnityEngine;
using System.Collections;

public class Beam : MonoBehaviour {

	public float beamVelocity;
	public GameObject miniExplosion;
	public GameObject go;
	
	
	
	public void Go (Vector3 shipVelocity) 
	{
	
	rigidbody.AddForce(transform.forward + shipVelocity, ForceMode.VelocityChange);
		
	}
	
	void FixedUpdate()
	{		
		rigidbody.AddForce(transform.forward * beamVelocity, ForceMode.Acceleration);
		
	}
	
	void OnTriggerEnter(Collider innyobiekt)
	{
		Asteroid ast = innyobiekt.transform.GetComponent<Asteroid>();
		if(ast != null)
		{
			ast.Hit();
			go = (GameObject)Instantiate(miniExplosion, transform.position, transform.rotation);
			Detonator det = go.GetComponent<Detonator>();
			det.size = 1;
			Destroy(this.gameObject);
			
			
		}
	}
	
}

And here is my Asteroid script:

using UnityEngine;
using System.Collections;

public class Asteroid : MonoBehaviour {
	
	
	public float maxAsteroidVelocity;
	public float minAsteroidVelocity;
	public AudioClip explosionSound;
	public GameObject explosionPrefab;
	GameObject go;
	
	private Vector3 velocity;
	private float asteroidHitPoints = 100;

	// Use this for initialization
	void Start () 
	{
	
	}
	
	// Update is called once per frame
	void FixedUpdate () 
	{
		 
	}
	
	public void Hit()
	{
		asteroidHitPoints--;
		if(asteroidHitPoints <= 0)
		{
			Explode();
		}
	}
	
	public void Explode()
	{
		go = (GameObject)Instantiate(explosionPrefab, transform.position, transform.rotation);
		Detonator det = go.GetComponent<Detonator>();
		det.size = 1;
		Destroy(this.gameObject);
	}
	
}

Anyone :(?