I've been in a situation in undergrad where we had a 30 page paper due, and it was supposed to be collaboration between 3 people. I did 95% of the work, and at one point I pretty much told them "look I can barely handle this by myself you both have to start working, this is ridiculous." One of them started truly trying, though it was late in the game, and the other person still didn't try at all. It was frustrating, but I was happy that I confronted them because at least it got pent up frustration out. Our grades individually represented the amount of work we did, so that didn't hurt either.