可以 means I can do it, but may I? For example
我可以开车吗?
May I drive? (Have the implication of I want to drive)
我可以开车
I can drive (have the implication of I can, but I don't want to (unwilling to do so))
会 means I am able to, or I know how to do it For example
你会开车吗?
Can you drive? (Are you able to drive? Do you know how to drive? Or even Do you have a drivers license?)
我会开车
I can drive (I know how to drive)
能 is similar to can, in most cases they are interchangeable. It means capable of doing something Or Would you...? For example:
你能开车吗?
Would you drive? (Would you mind driving?)
Other meanings:
Apart from the meaning of willingness, 可以 can also mean good/not bad. For example.
你的中文还可以
Your Chinese is not bad.
能 can also mean power/energy For example 能量