Methods of tracking pedestrian heading angle using smart phones data for pedestrian safety applications
09805592 · 2017-10-31
Assignee
Inventors
Cpc classification
G08G1/0129
PHYSICS
International classification
G05G1/02
PHYSICS
G01S5/14
PHYSICS
G01S5/00
PHYSICS
G01S19/49
PHYSICS
Abstract
This presentation provides methods to track pedestrians heading angle using smart phone data. Tracking heading angle especially at or from stationary position is key for pedestrian safety, e.g., for smart cross system and pedestrian collision mitigation system. It provides pedestrian-to-vehicle (P2V) platform. It deploys smart phones or mobile devices, equipped with DSRC (Dedicated short range communication) support, to act as beacons for pedestrians: Phone can alert driver to pedestrian presence in path; Pedestrian Basic Safety Message (BSM) can aid awareness for vehicles; It can be used for bicycles, as well. It also provides pedestrian-to-infrastructure (P2I) platform. Smart phone, through DSRC/cellular, transmits pedestrian presence to crosswalks/signals: It enables advanced crosswalk lighting/warning scheme; It enables bundling of pedestrian presence to vehicles. In this presentation, we provide various examples and variations on these.
Claims
1. A method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, said method comprising: using one or more global positioning services integrated into a smart phone or other mobile communication device, to determine location heading angle and direction of a pedestrian associated with said smart phone or other mobile communication device; a pedestrian locator receiving global positioning system location data from a global position sensor for a pedestrian during a first time period; an angle measurement module receiving data and calculating an angle for heading and a vector for direction of said pedestrian from a global positioning system heading sensor, based on said global positioning system location data for said pedestrian during said first time period; a central computer communicating with said pedestrian locator and said angle measurement module; said central computer receiving a first choice candidate for intended intersection segment for said pedestrian to cross from said global position sensor, through said pedestrian locator, based on said angle for heading and said vector for said direction of said pedestrian; said central computer predicting a second choice candidate for intended intersection segment for said pedestrian to cross, based on said angle for heading and said vector for said direction of said pedestrian; wherein said first choice candidate for intended intersection segment for said pedestrian to cross is perpendicular to said second choice candidate for intended intersection segment for said pedestrian to cross; said central computer monitoring speed profile for said pedestrian; when said central computer detects a drop from consistent range of said speed profile for said pedestrian, said central computer determining that said pedestrian is stopping; said central computer determining cluster of positions for said pedestrian at rest status; said central computer monitoring acceleration profile for said pedestrian in 3 different dimensions; when said central computer detects a large negative drop from consistent range of said acceleration profile for said pedestrian, said central computer determining that said pedestrian is stopping; said central computer receiving a flag value for rest status; said central computer receiving a radius value threshold distance; when said flag value for rest status is not true, and when distance between location of said pedestrian to an edge of an intersection for a street or highway is less than said radius value threshold distance, then said central computer selecting said first choice candidate for intended intersection segment for said pedestrian to cross; when said flag value for rest status is true, said central computer evaluating behavior of said angle for heading for said direction of said pedestrian, before and during a stop event; a microprocessor integrating yaw rate for said pedestrian, for a second time period, to get an integrated yaw rate; said central computer receiving said integrated yaw rate from said microprocessor; said central computer offsetting said angle for heading for said direction of said pedestrian by said integrated yaw rate, to get a corrected angle for heading for said direction of said pedestrian; said central computer determining if said pedestrian is stopping, using said corrected angle for heading for said direction of said pedestrian; when said central computer detects that said pedestrian is walking, said central computer evaluating how said corrected angle for heading for said direction of said pedestrian correlates with a recent value of said angle for heading for said direction of said pedestrian; a warning module communicating data which is calculated, accumulated, or determined through said central computer, to a pedestrian safety system, to alert or control an automobile or alert a driver, to prevent or avoid accidents involving said pedestrian.
2. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: monitoring multiple people.
3. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: monitoring multiple cars.
4. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: monitoring multiple intersections.
5. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: warning multiple people.
6. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: warning multiple cars.
7. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: monitoring multiple global positioning values.
8. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: monitoring multiple global positioning devices.
9. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with multiple satellites.
10. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with multiple telephone companies.
11. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with multiple service providers.
12. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: connecting cars with pedestrians.
13. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with cars.
14. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with pedestrians.
15. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with cloud.
16. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with server farms.
17. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: communicating with police.
18. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: alarming police.
19. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: scanning intersections with more than 4 outlets.
20. The method for tracking pedestrian heading angle using smart phones data for pedestrian safety applications, as recited in claim 1, said method comprises: correcting position data by local devices positioned at intersections.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(57) Here, we describe some of the embodiments of our system and method:
(58) Let's look at the details of one method:
(59) MAP Generation: MAP Generation based on vehicle data, included in Basic Safety Message (BSM) or equivalent message(s). a. Listen to all the BSMs transmitted in the given region, and based on what is the intended region of map, filter out the BSM data which falls outside this region. The intended region of map can also be defined adaptively, using the speed profiles data in each road segment of interest. For example, a high average speed road segment will require more map coverage than a low average speed road segment. b. Store location (concise), Heading, Speed, and timestamp of each of the BSM. If the vehicle provides PH (Path History or trajectory or breadcrumb trail points) (concise points), check the accuracy/confidence of the PH points. In case the accuracy is good (say better than e.g. 0.4 m (or meter)), store them instead of actual locations reported by the vehicle. For example, from the current location and velocity, we can calculate the next point in time, or we can extrapolate the next point, based on the last N points. For example, one can assume a line or higher order curves, or polynomials of degree M, to fit the points in the formula and get the coefficients. Once the coefficients are known, the next point can be extrapolated. For example, the accuracy can be measured from the distance of a given point to the line or curve of trajectory. For an embodiment, the accuracy threshold is a fixed number or distance. For an embodiment, the accuracy threshold is a variable number or distance. That can be dependent on the velocity of the vehicle. For example, the higher the velocity, the higher the threshold, e.g., with a linear relationship. Otherwise, use the location details provided by the vehicle and generate the PH (Concise) points for the vehicle, and store these values. c. Start generating a Temporary Map, once the stored data has sufficient number of vehicles, Q (say, e.g., 1000 vehicles), or for example, length of time for monitoring, T, as a threshold, e.g., one-week worth of data, to make sure we have enough data points for our analysis and determination. In one embodiment, we can use any logical combination of thresholds or conditions on Q and T, e.g., using AND or OR.
(60) Here are the steps of one embodiment of our method: (see
(61) Step 1: Generating Lanes: (see
(62)
w_r=1/(((1/w1)*(1/w2))/((1/w1)+(1/w2))) In general, we have as a function (F) of w1 and w2:
w_r=F(w1,w2) First, combine the paths which start and end with the same heading angles. Second, combine the parts of paths of the vehicles which have the same headings in that part. For the combined paths which are headed in the same direction, update the weights (using the above formula) of the paths (or parts of the paths). Detect Lane changes in the captured/stored data, and discard that data (either part or full info from that vehicle). Different methods of detecting lane changes have been proposed in previous inventions (see the parent applications). Any of those methods can be used here for the detection of lane changes. In addition, the statistical Median operation can be also used to filter outliers in positions and paths. It also can help for the lane change detection. In one embodiment, generally, the outliers may be bad data points, and cannot be relied on. So, we filter them out. In one embodiment, assuming the normal distribution, if any data point is beyond 2 standard deviations, from the peak, it is considered as the outlier point, and gets discarded. In one embodiment, a vehicle is monitored from its center, as a point, for tracking purposes. In one embodiment, a vehicle is monitored from the middle front point and the middle back point, as 2 points, for tracking purposes. So, for example, if one point (e.g. the front point) is in one lane and the other point is in another lane, that may indicate transition between lanes or changing lanes, if the difference is above a threshold, which is measured with respect to the distance perpendicular to the lane direction, or with respect to the angle relative to the lane direction.
(63) Step 2: Determining Intersection Region and Splitting the lanes: (see
(64) Intersection Diamond region can be identified from the above data in the following ways: (see
(65) 1. Using Speed profiles of the vehicles.
(66) 2. Using Heading angles of the vehicles.
(67) 3. Using Intersection of Lanes (generated from Vehicle Travel paths).
(68) Now, let's look at different methods in details:
(69) Method 1: Using Speed Profiles of the vehicles: (see
(70) This applies on other road segment of interest, that show queue of vehicles stopped, with profile history of coming to stop. Another way to look at it is to detect an area where there is no stopped vehicle position density. (This is the intersection diamond region.)
(71) Method 2: Using Heading Angles: Consider all the vehicles which are traversing on each of the lanes. Of the vehicles traversing on each lane, select the vehicles which have executed a change in the Heading angle (by more than α.sub.1, e.g. 20°), where some of the other vehicles near to that location were traveling straight. Of all the above selected vehicles, select the location where they executed this change. Of all these locations, discard the outliers which fall outside of e.g. 5% of the statistical limit, or tail of the distribution curve, as anomalies or outliers. Calculate the average of these remaining locations. This average location provides the lane boundary of the selected lane. In one embodiment, the average is based on average of X and Y coordinates, on 2-D coordinates. In one embodiment, the average is based on weighted average of X and Y coordinates, emphasizing some data over the others. For example, one can have more weights for more reliable data. The GPS location of each of the lanes, constructed based on the above steps, provides the outer edge of the Intersection Diamond region.
(72) Method 3: Using Intersection of Lanes (generated from Vehicle Travel paths): (see
(73) Step 3: Determining Lane type (Ingress/Egress): (see
(74) We Use the Following Methods:
(75) Method 1: Using difference in angle in Vehicle heading and Lane-Heading (Waypoint0): For each of the lanes, calculate the angle of Waypoint0 (w.r.t. Waypoint1). Calculate the difference in heading of Waypoint0 and Heading of vehicle (α.sub.6). If the Difference α.sub.6 falls between say, e.g., {[0°-90° ] U [270°-360°]}, as the union of sets or ranges of angles (or the angle locating in the union of the first and fourth quadrants in the 2-D coordinate system), then given lane is an Egress lane, else (otherwise), it is an Ingress lane. Based on the vehicles heading angle at the 1st waypoint (closest to intersection region), we decide on whether the Lane is an Ingress or Egress.
(76) Method 2: Based on Vehicle Movement Inside the Lane: Using the location of vehicle and its corresponding time-stamp, determine whether Vehicle is approaching Waypoint0, or leaving.
(77) Step 4: Determining Approach Set for each of the lanes: (see
(78) Step 5: Determining connected Lanes: (see
(79) Step 6: Determining Movement states for each Ingress lane: For each of the Ingress lanes, based on the Connected-Egress lane's Maneuver code, determine the Movement state. Say, for example, the possible connection maneuvers are Left-Turn (LT), Straight (S), and then the Movement states are: LT movement, S movement.
(80) MAP Generation: Improvement to above described method in steps 1-6 with an additional Signal Data available from Traffic controller. (see
(81) The Idea in this method is to match Traffic controller's signal-phase data with vehicles' motion in each of the lanes and determine the signal phase for each of the Lane/Approach. Here is how it works: Continuously poll Traffic-controller for the Signal status information. When Traffic-controller is stating a particular phase number for the first time, during next short period of time, t.sub.2, e.g. 1-5 seconds, identify the lanes in which vehicles started moving from a halt. Of these lanes, identify the direction of travel of the vehicles in each ingress lane towards their egress lanes, and determine the Phase-number for that lane corresponding to that Movement state. For each of the Signal-phase mapped to the Ingress lane, count the number of vehicles using that phase to cross the Diamond region, N.sub.1. Eliminate the Outlier, e.g. 5% of the phases (if any), or the tail of the distribution, from the above list of phases for each of the Ingress lanes, resulting in a smaller number (N.sub.2).
(82) MAP Maintenance: Based on BSM messages(s) or equivalent vehicle message. (see
(83) MAP Maintenance: Improvement to above method with additional Signal Data available from Traffic Controller. (see
(84) MAP publishing, storing, and updating mechanisms: Broadcasting MAP information. (see
(85) Each of the RSE/Remote-Server would have 2 MAPS for each location, namely, Base-Map and Look-aside (Current-status) MAP.
(86) Case 1: No Base map is available (initial condition): For a Look-aside MAP, once the MAP has sufficient number of vehicle (say e.g. 100) traversals on each of its lanes, consider it for further calculations. Once the above limit is reached, execute a Map-matching of vehicles with Look-aside MAP, and determine the match percentage or ratio. Average the matching percentage for all the vehicles. If the Match-percentage is high (say e.g. above 99%), upgrade the Look-aside database at that instant to Base-MAP.
(87) Case 2: Base Map is available (updating condition): Compare the Base Map with Look-aside MAP for following differences: Lateral distance shifts in the Waypoints of the lane: Ignore them if the shift is less than D.sub.s, e.g. 20 cm, or a threshold distance. In one embodiment, D.sub.s is defined e.g. based on lane width or average vehicle length or width, or based on D.sub.w. For example, D.sub.s is set equal to D.sub.w. In one embodiment, D.sub.s is adjusted based on historical data, or corrected by human expert periodically. Connection lane changes: Changes in possible maneuver codes of the lane and the connected lane lists. Change in Signal-Phase matching. In case the changes in the Base-Map and Look-aside Map are considerable (above a threshold), and base Map is failing to provide high-Map-matching results, while Look-aside MAP is able to provide high MAP-Matching results, consider upgrading Look-aside MAP in the following criteria: Manual override is detected for upgrading existing Look-aside MAP. The difference is seen consistently for more than e.g. a Day, or a specific time period T.sub.C, and there are sufficient numbers of vehicles, N.sub.V (say e.g. 1000), in each of the lanes, for proper statistics and analysis. Cherry pick these differences and update them in Base-Map.
Decreasing Computations and increasing confidence in MAP-Generations: (see
(88) Some minimal information, when available, could be manually fed to the system allowing the system to identify vehicle movements accurately and generate better results, in a shorter time period. For example: Approach Count, and Approach names Lane numbers in each Approach and Lane-widths Cross-Walks Traffic controller-information (to which system to poll and get results) Approximate intersection-Diamond region dimensions, or average/typical of those dimensions from other locations
Safety Consideration:
(89) Detecting an idle vehicle (or Breakdown vehicle or accident vehicle or a closed lane) and share the location of this vehicle with other vehicles make this concept of map extend, to have a safety attribute.
(90)
(91)
(92)
(93)
(94)
(95)
(96)
(97)
(98)
(99)
(100)
(101)
(102)
(103) An embodiment of the invention is a method for creating, storing, and updating local dynamic map database with safety attribute, for a street or highway, said method comprising: a central computer receiving speed profiles from vehicles in said street or highway from an input device; an analyzer module or device determining vehicular density for said vehicles in said street or highway; an identifier module or device determining lane attributes for a lane in said street or highway; receiving traffic controller data for said street or highway; integrating said traffic controller data for said street or highway into map data; identifying temporary and permanent changes in said map data; updating said map data; and identifying an obstacle of mobility attribute in said map data.
(104) An embodiment of the invention is one of the following: identifying intersections for said street or highway. identifying an idle vehicle in said street or highway. identifying an accident in said street or highway. using a short range communication device. using an on-board device in a car. using a road side equipment. determining a status of said traffic controller data. determining a correlation with a status of said traffic controller data. storing said map data. generating a basic safety message. storing location, heading, and speed of a car. storing a time-stamp for a basic safety message. checking an accuracy of past history points. generating lanes for said street or highway. combining paths for said street or highway. using statistical analysis for paths. using weights for paths. detecting a lane change event. filtering outlier samples in statistical analysis.
(105) In one embodiment, the map can be generated in a central processor. In one embodiment, the map can be generated in distributed processors, and later merged together as one map. The advantage of the distributed-processors method is that if for any reason the communication or the processing is interrupted, the other processors can partially supply the data for the vehicles, for navigation and operation. In one embodiment, the processor is mobile itself, e.g., installed in a car, satellite, drone, balloon, or airplane. In one embodiment, the processor is stationary, at a fixed location. In one embodiment, the processor network manages the map, e.g., in a server farm.
(106) In one embodiment, each server covers one part of the city or area. In one embodiment, the geographical areas have overlaps for coverage. In one embodiment, there are redundancies between coverage of different units. In one embodiment, there is a correction based on the redundancies between coverage of different units, to find and filter out the erroneous data. In one embodiment, there is an averaging process based on the redundancies between coverage of different units, to average the data for more accurate results. In one embodiment, there is a weighted-averaging process based on the redundancies between coverage of different units, to weighted-average the data for more accurate results, with more weights for the more reliable units or sources, or higher weights for the results that are closer to the center of curve representing the distribution of values, i.e., eliminating or reducing the fringe results or erroneous data.
(107) In one embodiment, we have data distributed and sold to a third party subscribing to our service and data flow, as updates and feed, so that they can manage the traffic or control cars or analyze the data for marketing purposes or finding the trends. For example, from the traffic patterns, one can conclude that how many cars are going to the new mall or store and how long they stay at that mall in average, in terms of hours, and at what hours or which days, which will help the mall to plan for marketing and sales, e.g., to order merchandise in advance for specific people or specific time or season. In addition, from the traffic pattern, one can conclude that which areas or streets are most likely the source of cars to a specific mall or region, statistically, so that from the social or income data from a target neighborhood, one can find the social or income level of people likely going to a specific mall, and at what time during the day, as a probability distribution, so that the average, or median, or aggregate, or expected value, or standard deviation can be extracted or estimated for each parameter under study, e.g., income level or average age or gender, e.g., a stay-home or vacationing parent driving to mall during day time on weekdays (e.g., not working at an office or regular job or vacationing, so that have enough time during the day to go to mall during weekdays and non-holidays). Such estimates and statistics for patterns or behaviors for people are very valuable for marketing and sales people who want to predict and plan ahead. Thus, they buy these data and analyze and extract patterns from them for their specific purposes.
(108) Another purpose or usage for such data is for traffic planning or city expansion planning or metro rail planning for future, e.g., to remove congestion or reduce traffic around main roads or plan for gas stations or malls or office buildings or metro stations or train stations, or estimate the trend for population growth or movement or concentration throughout the years, by comparing such traffic data in time, e.g., to plan schools for future for a district. Aggregate and trend and direction results are very useful and valuable for people in charge or decision makers for all of the private and public sectors. For example, for heavily congested and concentrated intersections and roads, the real estate market and values may go up, due to demand for commercial space and office space. Or, the parking fee rate per hour or per day may go up, due to the demand or shortage for parking space, at least during the time that are the peak for traffic, from our data collected for various times and regions.
(109) Here, we describe some of our embodiments/examples, as components of our system:
(110) Map Generation: (See
(111) Generating Lanes: (See
(112) Determining Intersection and Lanes Splitting: (See
(113) Determining Lane Type (Ingress/Egress): (See
(114) Determining the Approach Set for Every Lane: (See
(115) Determining Connecting Lanes and Movement State for Ingress Lane: (See
(116) More in MAP Generation: (See
(117) Map Maintenance: (See
(118) More in Map Maintenance: (See
(119) Map Publishing, Storing, and Updating Mechanism: (See
(120) Safety Consideration: (See
Description of the Overall System
(121) Here, we describe the overall/general system for some of our embodiments above:
(122)
(123)
(124)
(125)
(126)
(127) In one embodiment, we have the following technical components for the system: vehicle, roadway, communications, architecture, cybersecurity, safety reliability, human factors, and operations. In one embodiment, we have the following non-technical analysis for the system: public policy, market evolution, legal/liability, consumer acceptance, cost-benefit analysis, human factors, certification, and licensing.
(128) In one embodiment, we have the following requirements for AV (automated vehicles) system: Secure reliable connection to the command and control center Built-in fail-safe mechanisms Knowledge of its position and map database information (micro and macro maps) Communication with traffic lights/road side infrastructure Fast, reliable, and secure Situational awareness to completely understand its immediate surrounding environment Requires multiple sensors Algorithms to analyze information from sensors Algorithms to control the car, for drive-by-wire capability
(129) In one embodiment, we have the following primary technologies for our system: V2X communication: time-critical and reliable, secure, cheap, and dedicated wireless spectrum Car OBE (on-board equipment): sensor integration (vision, radar and ADAS (advanced driver assistance system)), positioning (accurate position, path, local map), wireless module (physical layer (PHY), Media Access Control (MAC), antenna), security (multi-layer architecture), processing and message engine, and algorithms for vehicle prediction and control
(130) In one embodiment, we have the following building blocks for AVs: Automation Platform i. Advanced Driver Assistance (ADAS) integration ii. Map Integration, Lane Control iii. Radio communications support iv. Vehicle Controller Unit to do actuation Base Station Ground positioning support to improve positioning accuracy V2I (vehicle to infrastructure) functionality, support for public/private spectrums Cloud connectivity to provide secure access to vehicles Command Control Center i. Integration with Infrastructure Providers
(131) Here are some of the modules, components, or objects used or monitored in our system: V2V (vehicle to vehicle), GPS (Global Positioning System), V2I (vehicle to infrastructure), HV (host vehicle), RV (remote vehicle, other vehicle, or 3.sup.rd party), and active and passive safety controls.
(132)
(133)
(134)
(135)
(136)
(137) Here, we describe a method, as one embodiment: The first level of filtering is based on defining circle (geometry) of interest or any other geometrical shape (see also
(138) In one embodiment, for example, for calculating R, we have (see also
(139) R, as a function of host vehicle speed, F.sub.H, e.g.:
R=F.sub.H(V)=50+2V+(V.sup.2/8)
(140) Where V is the host vehicle speed in m/s.
(141) In one embodiment, F is a function of velocities, distances, and coordinates, both in absolute values and relative values, for host and other vehicles. In one embodiment, F is a function of polynomial of degree G, in host vehicle speed V. In the example above, we have: G=2.
(142) For example, for: 70 m≦R≦200 m
(143) That is, Maximum (R)=200 m, and
(144) Minimum (R)=70 m.
(145) The 70 meter will still be sufficient to do all the rear applications. These numbers are just examples for some specific applications.
(146) In one embodiment, the next step is to convert this R to delta Longitudinal and delta Latitude from the host vehicle coordinate. The objective here is to ignore all vehicles that are outside a radius. Here, we assumed circular filtering. Different types of geometric filtering can also be done: rectangle, ellipse, other irregular geometry, or any other regions or shapes. For circular filtering, given the current host vehicle (HV) coordinate (lat_HV, lon_HV), and given the desired filtering radius R, then the equivalent delta latitude (Delta_lat) and delta longitudinal (Delta_lon), from (lat_HV, lon_HV) for this radius R, are calculated as follows (see also
Delta_lat=(R/Radius_of_earth)=(R/6378137),
(147) e.g., based on Earth Equatorial radius of 6378137 m,
(148) and where R is in meter (m).
Delta_lon=arcsin(sin(Delta_lat)/cos(lat_HV))
(149) Therefore, in one embodiment, to apply the filtering algorithm for any node (Remote Vehicle (RV)), with the coordinate of (lat_RV, lon_RV), the following is executed (see also
(150) If
Abs(lat_RV−lat_HV)>Delta_lat
OR
Abs(lon_RV−lon_HV)>Delta_lon
(151) Then: Ignore it (i.e., do not process it).
(152) Else: Process it.
(153) Wherein all “lat” and “lon” values are expressed in radian. The default value for R is 200 m, but it is configurable. For jam reduction and reduction of processing, in one embodiment, we want to ignore all the vehicles outside of the radius R.
(154) Now, in one embodiment, this value of R can be adaptively adjusted based on the statistical distribution of the nodes ranges (see also
(155) In one embodiment, the second level of filtering is based on the relative velocity between the host vehicle and the remote vehicle. For example, for all remote vehicles that have a value of the velocity component in host vehicle direction that is greater than the host vehicle velocity, and they are also at relatively high range distance from the host vehicle, then they constitute no immediate threat on the host vehicle (based on the probability) (see also
(156) In one embodiment, the third level of filtering is to adjust either the transmitted power and/or the received power threshold as a function of one of the following (as different embodiments) (see also
(157) a. Rate of change in the number of received nodes. As the number of nodes increases sharply, the host vehicle is approaching a congested traffic area, and therefore, the transmitted power can be decreased to reduce the communication range, and/or the received power threshold can be increased to reduce the receiving communication range (see also
(158) b. The map database can also be used very effectively: For example, if the number of connected road segments to the host vehicle road segment is high, and/or the total number of road segments is high within a defined area, then the transmitted power can be decreased, and/or the received power threshold can be increased (see also
(159) c. Based on the calculated R. For example, communication range R decreases/increases, as the transmission power increases/decreases (see also
(160) In one embodiment, the fourth level of filtering is just using the map database: For example, filter all the nodes (vehicles) that are on road segments that are not connected to the host vehicle road segment. An example for that is the main road and an overpass geometry. The main road and the overpass that passes over it are not connected, and thus, they do not make a V2V (vehicle to vehicle) possible traffic hazard. Map database can provide this information that these two road segments are not connected (see also
(161) The advantages of our methods are very clear over what the current state-of-the-art is. Our methods optimally use the available processing power and available bandwidth on processing the data of the desired nodes, which are relevant or important. They also help reducing the communication congestion problem.
(162) Tracking the Heading Angle of the Pedestrian
(163) Here, we describe embodiments for tracking the heading angle of the pedestrian system and method.
(164) The purpose of this approach is to track the heading angle of the pedestrian using existing sensors integrated in to a smart phone device or other mobile devices, e.g., wearables or smart watches.
(165) The system tries to use the following data when it is available:
(166) a. GPS—GPS position—GPS speed—GPS heading
(167) b. Compass heading
(168) c. Three rotation measurements (pitch, yaw, roll)
(169) d. Three acceleration measurements (down, longitudinal, lateral)
(170) In general, when a pedestrian is moving, it is an easy task to track its positions, and therefore, its heading. However, when the pedestrian is stopped, but changing his direction, tracking the heading, as his intended direction of travel, becomes a more difficult job. (See
(171) High Level Algorithm:
(172) Step 1:
(173) Calculate Heading from GPS Position:
ψ.sub.p=arcTan(ΔE/ΔN). (arc tan is the tan inverse function)
(174) See
(175) To see a significance difference in the position from one time epoch to a later one, this equation may apply at a lower data rate.
(176) Step 2:
(177) Based on the heading measurement, ψ.sub.GPS, and/or the calculated one, ψ.sub.p, try to best-match the pedestrian walk with the intended intersection segment. This will be the initial high probability candidate (IC1). The second candidate is the one perpendicular to it (IC2). See
(178) Step 3:
(179) Determine if the pedestrian stopped. a. Detect a drop in speed. Watch the speed profile and look for a drop from a consistent profile. See
(180) At the end of Step 3, the pedestrian stop flag will either be set (value=1) or not changed at all (value=0).
(181) Step 4:
(182) If the stop flag is never set and the position of the pedestrian is within G=2 meter radius from the surveyed edge of the intersection, then IC1 is held as the intended driving path.
(183) Step 5:
(184) If StopFlag=1, then it is important to watch the behavior of the compass heading angle, ψ.sub.c, before the stop and during the stop. See
(185) We are trying to capture a turn maneuver by the pedestrian. Another way of doing it, if yaw rate signal is available, is to watch integration of the yaw rate for a window of T=1-2 sec. See
(186) Step 6:
(187) Offset the last ψ.sub.p and/or ψ.sub.GPS (before stop) by the value of Δψ.sub.c or Δψ (call it ψ.sub.p corrected). (See above.)
(188) Step 7:
(189) Repeat Step 3 with ψ.sub.p corrected.
(190) Step 8:
(191) Once the pedestrian starts walking again, check how the ψ.sub.p-corrected is correlated with the new ψ.sub.p.
(192)
(193) Here are some examples: A method for safe crossing for pedestrians in a street or highway, said method comprising: a central computer receiving global positioning system location data for a pedestrian during a first time period from a remote location; said central computer calculating an angle for heading and a vector for direction of said pedestrian, using said global positioning system location data for said pedestrian during said first time period; said central computer predicting a first choice candidate for intended intersection segment for said pedestrian to cross, based on said angle for heading and said vector for said direction of said pedestrian; said central computer predicting a second choice candidate for intended intersection segment for said pedestrian to cross, based on said angle for heading and said vector for said direction of said pedestrian; wherein said first choice candidate for intended intersection segment for said pedestrian to cross is perpendicular to said second choice candidate for intended intersection segment for said pedestrian to cross; said central computer monitoring speed profile for said pedestrian.
(194) If said central computer detects a drop from consistent range of said speed profile for said pedestrian, then said central computer determining that said pedestrian is stopping; said central computer determining cluster of positions for said pedestrian at rest status; said central computer monitoring acceleration profile for said pedestrian in 3 different dimensions; if said central computer detects a large negative drop from consistent range of said acceleration profile for said pedestrian, then said central computer determining that said pedestrian is stopping; said central computer receiving a flag value for rest status; said central computer receiving a radius value threshold distance; if said flag value for rest status is not true, and if distance between location of said pedestrian to an edge of an intersection for a street or highway is less than said radius value threshold distance, then said central computer selecting said first choice candidate for intended intersection segment for said pedestrian to cross.
(195) If said flag value for rest status is true, then said central computer evaluating behavior of said angle for heading for said direction of said pedestrian, before and during a stop event; a computation module integrating yaw rate for said pedestrian, for a second time period, to get an integrated yaw rate; said central computer receiving said integrated yaw rate from said computation module; said central computer offsetting said angle for heading for said direction of said pedestrian by said integrated yaw rate, to get a corrected angle for heading for said direction of said pedestrian; said central computer determining if said pedestrian is stopping, using said corrected angle for heading for said direction of said pedestrian; if said central computer detects that said pedestrian is walking, said central computer evaluating how said corrected angle for heading for said direction of said pedestrian correlates with a recent value of said angle for heading for said direction of said pedestrian.
(196) Other Features are:
(197) monitoring multiple people.
(198) monitoring multiple cars.
(199) monitoring multiple intersections.
(200) warning multiple people.
(201) warning multiple cars.
(202) monitoring multiple global positioning values.
(203) monitoring multiple global positioning devices.
(204) communicating with multiple satellites.
(205) communicating with multiple telephone companies.
(206) communicating with multiple service providers.
(207) connecting cars with pedestrians.
(208) communicating with cars.
(209) communicating with pedestrians.
(210) communicating with cloud.
(211) communicating with server farms.
(212) communicating with police.
(213) alarming police.
(214) scanning intersections with more than 4 outlets or roads.
(215) correcting position data by local devices positioned at intersections, based on interactions with cell phones of pedestrians nearby, to register and record the position, and then later, compare those with other data, e.g., by satellite or GPS or maps.
(216) Here are some examples:
(217)
(218)
(219)
(220)
(221) In this disclosure, any computing device, such as processor, microprocessor(s), computer, PC, pad, laptop, server, server farm, multi-cores, telephone, mobile device, smart glass, smart phone, computing system, tablet, or PDA can be used. The communication can be done by or using sound, laser, optical, magnetic, electromagnetic, wireless, wired, antenna, pulsed, encrypted, encoded, or combination of the above. The vehicles can be car, sedan, truck, bus, pickup truck, SUV, tractor, agricultural machinery, entertainment vehicles, motorcycle, bike, bicycle, hybrid, or the like. The roads can be one-lane county road, divided highway, boulevard, multi-lane road, one-way road, two-way road, or city street. Any variations of the above teachings are also intended to be covered by this patent application.