I am working on a small project involving an intelligent safety helmet. I am using the LSM9DS1 and PIR motion sensors. Since the PIR motion sensor is also in a state of random motion, it creates a relative velocity issue when detecting moving objects. However, I am not sure how to smoothly resolve this problem in the code.
I don't think there is a solution, given just those two sensors. An IMU cannot detect or measure constant velocity, for example.
Maybe I didn't express myself clearly enough (the little LED lights up when the sensor detects a moving object). I now have an immature idea, since the sensor and the surrounding objects are moving, there will be relative motion. Is it possible to set the small LED to light up only when the speed of the surrounding objects is greater or less than the speed of the sensor's own movement?
Not possible, with just those two sensors. An IMU cannot measure speed, for example.
These "motion sensors" do not detect motion they only detect acceleration, which is the rate of change of speed with time.
If just want to achieve the ability to detect moving objects around in various states, then determine the state of the helmet through the LSM9DS1, and if (the sensor) is in motion, then set the LED to be always on, and when a moving object is detected, the LED starts blinking. Similarly, when stationary, the LED is normally off and the status changes to blinking when a moving object is detected. The model of my PIR Motion Sensor is the Seeed Studio PIR Motion Sensor Grove System. In addition, I have a TFmini-s Micro radar. I don't know if it will help.
-
Define Frames of Reference: Establish the coordinate systems for the sensor and the object(s) in motion.
-
Determine Velocities
-
: Identify the velocities of the sensor and the object relative to a common reference frame.
-
Apply Relative Motion Equations: Use the formula (\vec{v}{rel} = \vec{v}{obj} - \vec{v}_{sensor}) to find the relative velocity of the object with respect to the sensor.
-
Analyze Data: Apply this relative velocity to compute parameters such as displacement, time of arrival, or Doppler shift, depending on the context.
-
Consider Sensor Characteristics: Account for sensor-specific factors like calibration, sensitivity, and measurement range.
Good old chatGPT, pretending to be @rizwan326, sticks its nose in once again.
Hi, @Brian1212
Why do you need to know if the helmet is moving?
All you need to know is the relative speed between the helmet and the object, and determine if it is a dangerous object.
I'm not sure EXACTLY what the purpose of your project is?
Tom...
You can determine the 3D orientation of the helmet using the LSM9DS1.
You cannot determine the position or the velocity of the helmet using the LSM9DS1.
How?
Something must know the time, direction and amplitude of the detected (relative) random motion.
I tried to design a smart helmet. My current idea is like this: when there is a moving object around that enters the detection range, the LED lights will come on (blinking) and the status of the rider can also be detected (whether he/she has fallen or not), and if the specified time is exceeded then the rider's position will be sent to the emergency centre. My components consist of an Arduino UNO R3, four Seeed Studio PIR Motion Sensor Grove Systems, a TFmini-S Radar, a SIM7000 Expansion Board, and a LSM9DS1 9-axis sensor.
This is my first time tackling this project, so I'm still figuring out the best way to approach it. Any ideas? The sensors are supposed to be part of the helmet, but when the rider is moving, the sensors are too. How can I make them work properly in these conditions? It's like Tesla's assisted driving, where it's possible to see pedestrians or vehicles around you from the centre control screen. I'm not sure there is a connection.
With riders in motion
Got it. The devices then become stationary relative to themselves. You need to measure time/distance against Earth. Try GPS.
I have a SIM7000 Expansion Board. Does it help?
A telephone? Did it have a useful function in your tests?
I have a SIM card. However, On testing, I realised that there may be a mismatch between the expansion board and the SIM card frequency causing the error. I probably should have bought the SIM7000E instead of the SIM7000C. My idea is to be able to automatically send a locator after the system has determined that the rider has fallen. However, should I set a threshold for determining whether or not a fall has occurred, as riding is a complex motor process. Perhaps acceleration can be used to determine this? But it might not be very accurate.
Or the helmet is removed.
That will be determined by your testing.
How? After falling down?