You could use their email address as their usernames. Just like in some registration sites. But what I'm worried about this is that if someone is looking behind their backs, that someone sees their email addresses being typed and may use that to communicate (via email) to them or send something nasty (like email viruses). But it's all up to you.
I suggest let them type their own passwords. They must confirm their registration in their respective email accounts. If they forget their usernames and/or passwords, give them the option to recover the data. You can show their registered usernames and passwords in your email messages.