The decision to roam made by client station. But you can do some tricks to help clint make the "right" decision )))
1. Switch on the Smart Roam. If this feature is on, the AP kicks-off (disassociate) a client if the SNR is lower as threshold. It is so kind of hard disconnection and I would not suggest it you have voice traffic.
2. Limit a BSS Min Rate. 12Mbps or even 24 Mbps is a good choice. But be careful you do need low bitrates in your WLAN.