Force feedback using a braking system
Joey Campbell wrote 11/23/2016 at 11:58 • 0 pointsHi I'm trying to make a moveable object where the level of difficulty required to push the object can be controlled from within a game engine. [Cube size 1m³, room size 10m³].
The idea would the attributes of the physical box would mimic those of a similar sized virtual cube in the game environment ie. the virtual box would move easily over a virtual surface such as ice but require more exertion over a surface such as gravel.
I want the movement of the physical box to mimic the virtual friction level in the game environment so that the level of exertion required to push the box changes during game play and can be dynamically altered from the game engine in realtime.
The only hardware setup I can think of using is placing wheels on a 1m³ crate and attaching an electromagnetic or electromechanical wheel/brake system. The level of brake friction would be altered using an arduino controller. Unfortunately I can only source brake/wheel systems for remote controlled small toy cars whereas I need something larger and robust which would withstand greater exertion/pressure.
The project is flexible in so far as it doesn't need to be a box or use wheels but it does need to be movable.
If anyone knows where I could source a more robust brake/wheel system or
if anyone knows of a better solution I'd appreciate any feedback.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Hi - this is my current idea. I was thinking about putting a mountain bike wheel with hydraulic disc brake on a wheel barrow. I was thinking about controlling the amount of brake friction by somehow controlling the brake hand leaver with a stepper motor. Has anyone seen something like this done ie.rather than trying to control a disc brake at the wheel I would mimic a hand grasp/release on the leaver. Any suggestions would be great.
Are you sure? yes | no
If you were to start with a box on high quality casters (i.e. at each corner), and then add one or more "breaking pads" that can be actuated up or down to come in contact with the floor. The braking pad can be spring-mounted, to make it easier to vary the friction between it and the floor. You could have several different types of braking pads. You could have a set of rubber pads that will make the box almost impossible to move, carpeted pads that adds notable friction, and PTFE pads that provides minimal friction.
Are you sure? yes | no
Thanks for all the advice. I should point out that i am measuring exertion levels so the mimicking of the virtual friction doesn't have to be precise (sliding etc)...the difficulty just needs to be gradually controlled and consistent so that results can be comparable.
The falcon is very similar to the phantom omni in so far as its the right device but just not powerful enough.
The magnetic wheels don't seem to stop in a precise manner so I think it would need to be a device which can be controlled in increments.
The air suction is a great suggestion. Have you seen any examples using a strong air pump inside a movable object ? The first thing that comes to mind is a vacuum cleaner but seems very bulky and hard to alter the air suction level. Would it become a problem if the object was pushed at an angle and the suction between the object and the floor 'disconnected' regularly...would there be anyway to prevent this ?
I like the idea of the adjustable electromagnetic force inside the object - I'll check now but if anyone has seen this done with arduino please let me know. I wonder which would be the easier option - a mobile device with adjustable air suction or a mobile device with adjustable electromagnetic current ?
The last option that I have also been thinking about is the use of an 80kg bomb disposal robot which I have access to. I was thinking about connecting a pressure sensor to the robot and linking the pressure input to forward movement. The only issue being that as the robot moves forward in increments the users pressure will decrease, this could make the movement very jerky. If I alter the code to make the robot movement smoother based on decreased pressure input I'm also making my user exertion data flawed (if that makes sense).
Thanks again for everyones input.
Any suggestions would be great.
Are you sure? yes | no
Are you sure? yes | no
Here's how you do it.
Make a wheel base system using aluminum wheels, or with aluminum discs attached to the wheels.
Put the poles of an electromagnet either side of the aluminum disc, and by varying the current you vary the frictional force seen by the aluminum disc.
Are you sure? yes | no
Conceivably you could have an array of retractable rounded pegs on the bottom of the object. With only 4 pegs extended there would be a lot of friction, since all of the weight is on 4 points. With 30 pegs extended the friction would be a lot less.
Are you sure? yes | no
How about drilling holes in the base of your object in the manner of an air hockey table, then having an air pump inside?
By adjusting the airflow you could probably adjust the amount of friction.
Another option is adjusting the normal force. Friction is mu * normal force, so increasing the normal force increases the friction. Maybe use electromagnets in the object (or reverse the air hockey idea by sucking air in) to attract the metal flooring more strongly?
Are you sure? yes | no
I agree with [Radomir]. You need some kind of active solution. Brakes are usually not enough.
You should take a look at brushless gimbal motors with encoders. I like the ones from http://www.iflight-rc.com/gimbal-motors-with-encoders.html Depending on the amount of force you want to apply, this might get a bit expensive, though.
If you need a lot more torque, consider combining geared motors with strain gauges and maybe potentiometers.
Then use these to build a delta robot. Essentially that would be a bigger version of the device linked by [jarek319].
Are you sure? yes | no
My knee-jerk reaction to "force feedback" and "games" is http://www.novint.com/index.php/novintfalcon
While it seems you are looking for a larger version, maybe some ideas from the delta design might help you in your search for alternative solutions :)
Are you sure? yes | no
I think that brakes are not enough to simulate what you need -- since you will also want to simulate inertia of the box. For instance, with your example of a box on ice, you will need to make it keep on moving for quite a bit, even past the point where the physical box on the normal floor would normally stop. That means you actually need active motors there (with encoders and/or force sensors for feedback) and not just brakes.
Are you sure? yes | no