MD5Cam is a bit complex, I need to make a sample .blend file
ASE is easy - add Triangulate modifier to the model(s), make sure model(s) has UV map and default material with material's name exactly how it will be in the .mtr file (e.g. my/awesome/material in .mtr and exactly like that in the material's name in Blender). Vertex color is optional. Select objects to be exported, Export > idTech 4 ASE (I forgot the exact name), tweak settings and export. ASE output is usable right out of the box - no need to manually edit model file.
MD5Model/Anim is a bit more complex. Make sure you have a mesh (or several meshes) weighted to an Armature. Mesh needs to have UV map and material (same as ASE). At least one Action should be created, with local markers marking beginning and end of the Action. Select Armature in Object mode and click Init button in the Properties panel to initialize exporter. All bones with weight/vertex groups will be automatically included to the "list". If you need to export non-deformation bones, or any bones that don't have vertex groups (bones for attachments or effects, etc.) you need to select those manually in Pose mode and tick box Export.
Once that is done, go into Object mode, then select all meshes that belong to the Armature, then select Armature (must be selected last!), Export > idtech 4 MD5 something > Type in model name, select Actions to be exported, check some extra options if necessary, export. It will save md5model and md5anim, which can be used out of the box (that's if you rigged and weighted your model correctly).
Nothing should be in any specific layers, however, layers with exported items should be visible at the time of export (e.g. if you have mesh1 in layer1, mesh2 in layer2 and Armature in layer3, all 3 layers must be visible).
Note that for proper rigging and animation character needs to face -Y or +Y in Blender, but it has to face +X when exporting to Doom 3. It's a royal pita, but you can add an Empty, and use one of the constraints (forgot which one I used :? ) to "parent" armature to the Empty. This way you can animate in Blender with character facing -Y or +Y, and when you are ready, you can rotate Empty around Z axis to make character face +X, export it, test it in Doom 3, come back to Blender and turn character (again using Empty) to face -Y/+Y, rinse/repeat.