Hi,
I'm looking for technical advice on selecting how to approach the problem of a system that needs to respond to a human moving near it. Basically, I'm looking to track the human user.
My system has a base, and it can move around this base (imagine a pendulum, but that can swing itself to different directions). The interaction should be around the user touching or attempting to touch the system, the system trying to touch the user, or the system trying to touch part of the user which not being touched itself, like a game of tag. I'm using an arduino to control the movement of the system, but I can also use a computer that communicates with the arduino wirelessly to do heavy computations, and I can also put another arduino on the user.
I'm considering different approaches to build this system.
My main problem is how to narrow down what hardware can be relevant for the different approaches, or even if they are feasible.
I have either the mkr1010 or the adafruit feather sense for controlling the actuators. I can introduce a laptop to the setup but it will be placed a few meters away.
I've considered the following:
-
Optical tracking:
Pros: High resolution of tracking (can track different body parts.
Cons: Needs 3D camera or multiple cameras, needs a high end computing device to process video feed, might be difficult to estimate distance between the system and the user.
1a. 3D camera mounted on the device, but how can I send the video stream to the laptop for processing?
1b. External camera(s), but how do I measure distance between the system and the user?
1c. Tracking with markers, but will they help me with any of the problems above?
Question: is there any marker tracking approach that can run on the arduino directly? -
Using proximity sensors on the system
Pros: they are cheap, not a lot of data features
Cons: A lot of the arduino/adafruit stuff don't specify distance that they are good for, I might need to use a lot of them to get good coverage, but I2C only supports one of each kind
Question: how can I use several proximity sensors connected to the same arduino? -
RF strength for measuring distance
Pros: kinda built in with the feather sense boards
Cons: single dimension/only one RF pair. Relative distance only. -
Using accelerometer data on user and system
Pros: Already built in to my board!
Cons: I can't map acceleration to absolute position, just to relative position to the user's initial position. And even then it drifts. How fast is the drift? Can I use several accelerometers on the user to track different body parts? -
Something else that I haven't thought of?
Thank you! Any advice helps, such as projects that use one the approaches, hardware that might be relevant, critique on my analysis...
Yoav