Your cells are too large. The client's job is to stay associated as long as there is a strong signal. If there is a strong signal there is no reason to jump ship. it sounds like you have too much overlap between cells if you are still associated to AP1 when you have moved in range of AP 3.
You seem to now have the un-envious condition of having no load balancing across your infrastructure. One AP will get most of the work load while others go under-utilized.
The way to fix this is to survey your facility for smaller cells. It sounds like you can probably get away with turning the power down on your AP's a bit, but I have no idea what your facility is or what kind of antennas you are using, so piddiling with the settings without benefit of a survey is strictly up to you.
If there is an upshot to this scenario, you obviously have coverage. As long as there are not too many simultaneous users, you should be ok. But know that as your network becomes more and more congested, your problems will increase exponentially.
This is the number one thing that I see when troubleshooting WLAN's, so don't feel like the Lone Ranger.
Things that may help include, turning down the power on the AP's, turn down the power on the clients, only allow the higher data rates unless the specific client you are using requires them (Old Symbol barcode scanners etc..)
The way to absolutely fix this is to perform another survey and design smaller cells in such a fashion that you still have coverage where you need it and the client devices actually associate to the AP's they are in proximity of. This may require more AP's but the payoff is a solid infrastructure with physical load balancing and more aggregate throughput across the network. Decide what your needs are and your future growth plans and use these factors in detrmining how big your cells should be. Keep in mind that the limitations of the building itself and materials used to construct it often make a lot of these decisions for you. The object is to find the happy medium.
Clients moving from AP to AP is strictly on the client side. Now the use of Cisco Compatable Extensions can assist this.
You used the word redundancy, and i may be over analyzing this... However are you stating that you have two APs right next to each other servicing the same area? Unless client density dictates this use, i would look instead towards using hotstandby... Granted i may be reading this incorrectly.
As john previously stated, you can change the speeds which are supported to adjust cell size.
heres a link. Btw i like johns response so im giving him some points. Dont forget to rate posts which help you. =)
Redundancy means that if an AP was out of service another APs around it (distance of 15-20 meters) can give service in that area.
So I'd like that when I walked around the plant with a laptop, my client change from an AP 1 to AP 2 when I leave the area of AP1 and I'm in area of AP2.
Maybe it's not necessary, because I guess this depends on the load of the APs and the available bandwidth, but I'd like to know if it is possible that each client is registered in the AP where this client is located each time...
As Robert stated below - roaming is up to the client. However, with the introduction of the 4.x code and CCX support we have added features to help influence or inform the clients to make a more intelligent decision. The clients must support it. This is located under 'Wireless'--->802.11a/bg-->Client Roaming