Author
Topic: game controller "design" (Read 2611 times)

So I've got a task to design a game controller using two different sensors and im thinking about designing something that could be used for virtual reality perhaps wearing a headset.. So to the player could wear the head set then spin around and have a sensor detecting them rotating.. Do you agree that this can be achieved with some type of electronic compass?

An electronic compass would be one solution but would render the "controller" quiet slow to respond.

You could still go with an electronic compass paired up with multiple accelerometers. You would use the compass to find the player's Polar coordinates(The angle from North that they are facing) to direct the in-game 3D Camera. The accelerometers would measure the 3-Axis velocity of the player whether the player is moving forwards/back/strafing left/strafing right/etc. The accelerometers would then determine the Radius that the player is from the center of the map.

You would then, in-game, convert the Polor Coordinates given by the Compass and Accelerometers into X,Y coordinates for the player's position on the game map.

if I were to use the compass for rotation and had it sending a number for the rotation of the "player" would it be slow? And also accelerometers are a good idea but I was try to steer away from making something like a wii, but accelorometers almost seem inevitable to use

I guess ive found out why nobody has ever used this idea... Hmm I'm not sure what to do. We were told to come up with an unique idea so I guess this could count as an unique idea (not saying it will work)

Accelerometers are 'bout the only thing you can use for velocityacceleration measurements.

Fixed that for you. I'm not usually a grammar cop, this one just bugged me for some reason. Accelerometers only measure lateral acceleration.

Ok, here's the mini lesson that should clear some things up.

Accelerometers measure acceleration, not velocity. They can be used for orientation sensing since gravity is constant, but that's assuming there's no acceleration in other vectors since they can only measure the sum of the forces. For example, a accelerometer upright with a secondary lateral acceleration in the x direction (assuming z direction has vector due to gravity) will have similar output to a sensor oriented slightly so that the gravity vector has a x and z term. The only difference would be magnitude. Also, they are very noisy.

Gyroscopes measure angular velocity, from which angular position can be derived through integration. They are fairly sensitive but have a single weakness of drift. Since they have to be sampled discretely, any velocity data outside the average of two subsequent samples is lost, and causes the derived position to 'drift'. For example, if you rely entirely on gyros, after a few minutes, looking forward using your helmet won't be looking forward in the game anymore. The more you play, the worse the drift gets.

A compass measures absolute angular position, but only in the xy plane. It is a slow and noisy sensor, but never drifts. North is always north (well, not always, but that's another lesson).

For full 3D inertial measuring, a common practice is to combine the fast and accurate sampling of gyros, the absolute reference of a compass for XY vector, and accelerometers to measure gravity for the absolute reference in the other two planes. If you miss any one of these three pieces, you will not have a fairly accurate measuring sensor.

Wii gets around using a compass by using an IR led and camera as the absolute reference for angular position, and uses gyros and accelerometers in-between IR reads.

A compass measures absolute angular position, but only in the xy plane. It is a slow and noisy sensor, but never drifts. North is always north (well, not always, but that's another lesson).

And to make stuff worse - the above is not always the case either.

For example: a CMPS03 does the above if it is parallel to the xy plane - giving a bearing in the Z axis. But if you start to rotate it in the x or y axis then the readings get effected wildly. So now you need to adjust the compass reading to compensate for the tilt.

Accelerometers are 'bout the only thing you can use for velocityacceleration measurements.

Fixed that for you. I'm not usually a grammar cop, this one just bugged me for some reason. Accelerometers only measure lateral acceleration.

And ironically I just got acceleration down in Physics.

You could try something radical, like a gyroscope/electronic compass. Have a free rotating ring of magnets with an outside, fixed ring of Hall Effect sensors to measure polar angle of the player. This is more responsive compared with an electronic compass as the magnets have a much, much denser flux field than the Earth does.

You could try something radical, like a gyroscope/electronic compass. Have a free rotating ring of magnets with an outside, fixed ring of Hall Effect sensors to measure polar angle of the player. This is more responsive compared with an electronic compass as the magnets have a much, much denser flux field than the Earth does.