One of the more complicated things for learners of Chinese is knowing when to use 會/能/可以. In English, they can all roughly be translated as “can” but the use in Chinese is a bit more complicated. I happened to come across this Euler diagram from the sinosplice blog. I think it goes a good job explaining the differences.
A = ability in the sense of “know how to” (“会” is more common than “能“)
B = permission/request (use “能” or “可以“)
C = possibility (use “能” or “可以“)
D = permission not granted (use “不可以“)
E = impossibility (use “不能“)