The 26-year-old has spent each of the last two seasons with Barnsley, helping the club reach the Championship during the 2015-16 campaign, before making 40 appearances in England's second tier last season.
"I'm happy to be at such a big club," Roberts told BluesTV. "There's been a lot of rumours and a lot of clubs interested but when a manager like Harry Redknapp comes along and asks for your signature you've got to take it seriously.
"There are some really good players here and from my point of view I want to help the football club get promoted. That's the end aim. I pride myself on clean sheets. I'm a defender first and foremost.
"My job is to protect the goalkeeper and let the more technical players go and score goals. I'm a heart on my sleeve type of player. I'll give my all every game and I want to win. I'm addicted to winning and it can only be a good trait."