Method, computing device, and non-transitory computer-readable storage medium for locating a personal mobility system using an augmented reality device

By integrating AR wearable devices and PM systems, using sensor fusion technology and augmented reality technology, the operational challenges and security risks of PM systems are solved, real-time obstacle detection and performance adjustment are achieved, and user experience and security are improved.

CN118476207BActive Publication Date: 2025-08-22SNAP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280086974.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-01-25
Filing Date
2022-12-14
Publication Date
2025-08-22
Estimated Expiration
2042-12-14

AI Technical Summary

Technical Problem

Existing personal mobile systems (PM systems) have operational challenges and security risks, lack of effective obstacle detection and performance feedback, insufficient user training has led to frequent accidents, and AR wearable devices cannot be effectively integrated to improve user experience and security.

Method used

By integrating AR wearable devices and PM systems, sensor fusion technology and augmented reality technology can detect and display physical obstacles in real time, provide navigation information and performance adjustment, realize complementary and coordinated work of sensor data, and improve user interaction and system control accuracy.

Benefits of technology

It reduces the security risks of the PM system, improves the user experience, and provides real-time obstacle detection and performance adjustment through augmented reality technology, improving the safety and efficiency of user operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118476207B_ABST
    Figure CN118476207B_ABST
Patent Text Reader

Abstract

A method for positioning a personal mobility system using an augmented reality device is disclosed. The method includes receiving location data corresponding to the positioning of the personal mobility system; determining a relative position between the augmented reality device and the positioning of the personal mobility system; and causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the positioning of the personal mobility system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority claim

[0002] This application claims priority to U.S. non-provisional application serial number 17 / 584,056, filed on January 25, 2022, which claims the benefit of priority to U.S. provisional application serial number 63 / 295,402, filed on December 30, 2021, which are incorporated herein by reference in their entirety. Technical Field

[0003] The present disclosure generally relates to personal mobility systems (“PM systems”) and wearable devices with augmented or virtual reality displays (“AR wearable devices”). More specifically, example disclosures relate to interaction between personal mobile devices and head-mounted augmented reality devices. Background Art

[0004] In addition to ride-sharing platforms, the growing interest in the development of alternative modes of transportation has led to a surge in the diversity and availability of personal mobility systems. PM systems include all powered personal transportation modes that can transport users (and sometimes passengers) from one place to another. These include, but are not limited to, powered scooters, bicycles, skateboards, unicycles, kayaks, paddleboards, and surfboards. Electric-powered bicycles and scooters are sometimes referred to as e-bikes and e-scooters, respectively. Powered personal transport vehicles can also include cars, trucks, motorcycles, and boats. In addition to the physical flexibility and agility required to operate them, electric scooters, electric scooters, and self-balancing electric scooters (e.g., Ninebot also presents operational challenges and safety risks, requiring a higher level of user focus and ability to operate safely. The dramatic increase in PM system density in urban environments, coupled with a general lack of user training and a highly chaotic and dynamic operating environment, has led to a sharp increase in accidents and hospitalizations.

[0005] Traditionally, PM systems have been designed with few controls, few or very limited performance feedback indicators (e.g., LED or LCD battery or speed indicators), and no obstacle detection or avoidance systems. Due to the basic nature of PM systems, incorporating additional controls or performance indicators may not be feasible or safe.

[0006] On the other hand, AR wearable devices can be implemented with transparent or semi-transparent displays through which the user can view the surrounding environment. Such devices enable the user to look through the transparent or semi-transparent display to view the surrounding physical environment, and also enable the user to see objects (e.g., virtual objects such as 3D renderings, images, videos, text, etc.) generated for the display to appear as part of the physical environment and / or overlaid on the physical environment. This is generally referred to as "augmented reality."

[0007] AR wearables can completely obscure the user's field of view and display a virtual environment through which the user can move or be moved. This is often referred to as "virtual reality." As used herein, the term "augmented reality" or "AR" refers to both augmented reality and virtual reality as they are traditionally understood, unless the context indicates otherwise. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] In the accompanying drawings, which are not necessarily drawn to scale, similar reference numerals may describe similar components in different views. To facilitate identification of the discussion of any particular element or act, the most significant digit or digits in a reference numeral refer to the figure number in which the element is first introduced. Some non-limiting examples are shown in the figures of the accompanying drawings, in which:

[0009] Figure 1 are perspective diagrams of wearable devices according to some examples.

[0010] Figure 2 Shows a user's perspective according to some examples Figure 1 Another view of the augmented reality wearable device.

[0011] Figure 3 is a side view of a personal mobility system according to some examples.

[0012] Figure 4 A suitable network environment for operating an AR wearable device and a personal mobile system according to some examples is shown.

[0013] Figure 5 Based on some examples shown in Figure 1 The AR elements on the glasses' display enhance the view of the outdoor environment.

[0014] Figure 6 is a view of the handlebars of a scooter in an outdoor environment, where the scooter is augmented with AR elements, according to some examples.

[0015] Figure 7 is based on an example by showing in Figure 1 The AR elements on the glasses' display enhance the view of the outdoor environment.

[0016] Figure 8 According to another example, Figure 1 The AR elements on the glasses' display enhance the view of the outdoor environment.

[0017] Figure 9 Based on some examples shown in Figure 1 The AR elements on the glasses' display enhance the view of the outdoor environment.

[0018] Figure 10 is shown according to some examples Figure 4 Flowchart of the operation of a network environment.

[0019] Figure 11 is a block diagram illustrating a networked device 1102 including details of the glasses 100 and the scooter 300 , according to some examples.

[0020] Figure 12 is a block diagram illustrating a software architecture in which the present disclosure may be implemented, according to some examples.

[0021] Figure 13 is a diagrammatic representation of a machine in the form of a computer system according to some examples within which a set of instructions may be executed, for causing the machine to perform any one or more of the methodologies discussed. DETAILED DESCRIPTION

[0022] The following description describes the system, method, technology, instruction sequence and computing machine program product of the example illustrating this theme. In the following description, for the purpose of explanation, many specific details are set forth, so that the understanding of the various examples of this theme is provided. However, it will be apparent to those skilled in the art that the example of this theme can be put into practice without some or other details in these specific details. Example only represents possible variation. Unless otherwise clearly stated, structure (e.g., structural component, such as module) is optional and can be combined or broken down, and operation (e.g., in process, algorithm or other functions) can change in order or be combined or broken down.

[0023] The integration of AR wearables with PM systems can improve the user experience and reduce safety risks by reducing the cognitive burden on users. AR wearables can not only aggregate and display telemetry data and navigation information into the user's field of view, but can also detect physical obstacles or interact with virtual objects to adjust the performance of the PM system. AR wearables can detect and highlight obstacles, traffic control devices, and hazards to alert the user of their presence. AR wearables can also use sensors included in the PM system to further inform or modify the information being perceived by the user and the performance characteristics of the PM system.

[0024] In some examples, a participant may ride on a real-world course that has a number of virtual objects positioned therein, and the real-world course may affect the performance of a particular participant's PM system when the participant's PM system intersects with or is within a certain distance of the real-world location of a virtual object. The virtual object is displayed to the participant on the participant's AR wearable device as if the virtual object appeared at its designated location. Intersecting with or being near a virtual object may improve the performance of the corresponding PM system (in the case of "power up"), may reduce the performance of the corresponding PM system (in the case of "power down"), or may provide other effects or consequences. Thus, participants may compete with each other to gain a real-world advantage or disadvantage based on interactions with the real-world locations of virtual objects.

[0025] PM systems, such as powered scooters and electric vehicles, typically include a power source (e.g., battery), a propulsion source (e.g., motor or engine), user controls, an independent braking system, and a management system. Some PM systems may also include a radio communication system (e.g., cellular, and The PM systems described herein may also include sensing technologies such as cameras, sonar sensors, radar sensors, laser sensors, lidar sensors, heart rate sensors, and inertial measurement units ("IMUs," such as accelerometers, gyroscopes, and magnetometers).

[0026] Some PM systems include a braking system that may be connected to the management system and is intended to bring the PM system to a safe stop during an emergency, in addition to braking during normal operation. The braking system may also be part of a regenerative braking system that includes a propulsion source, a management system, and a power supply.

[0027] Typical operation of a PM system involves sending inputs made by a user on user controls to a management system; the management system then controls the transfer of power from the power source to the propulsion source to achieve the desired action made by the user.

[0028] On the other hand, AR wearable devices, such as AR goggles or AR glasses, include a transparent or translucent display that enables a user to look through the transparent or translucent display to view the surrounding environment. Additional information or objects (e.g., virtual objects such as 3D renderings, images, videos, text, etc.) are displayed on the display and appear as part of the surrounding environment and / or overlaid on the surrounding environment to provide the user with an augmented reality experience. The display may, for example, include a waveguide that receives a light beam from a projector, but any suitable display for presenting augmented or virtual content to the wearer may be used. As with PM systems, AR wearable devices may also include a radio communication system (e.g., cellular, and transponders) and positioning systems (such as GPS), cameras and IMU sensors.

[0029] As referred to herein, the phrase "augmented reality experience" includes or refers to various image processing operations corresponding to image modification, filtering, media overlays, transformations, and the like, as further described herein. In some examples, these image processing operations provide an interactive experience of a real-world environment in which objects, surfaces, backgrounds, lighting, and the like in the real world are augmented by computer-generated perceptual information. In this context, an "augmented reality effect" includes the collection of data, parameters, and other assets required to apply a selected augmented reality experience to an image or video feed. In some examples, augmented reality effects are provided by Snap Inc. under the registered trademark LENSES.

[0030] The rendering of virtual objects by the AR wearable head-mounted device system can be based on the position of the AR wearable device relative to the physical object or relative to a fixed reference frame (external to the AR wearable device) so that the virtual object appears correctly in the display. As an example, the AR wearable device can render a virtual object associated with a physical object so that the virtual object can be perceived by the user as appearing to be aligned with the physical object. In another example, graphics (e.g., graphical elements containing information, instructions, and guidance) appear to be attached to or overlaid on a physical object of interest. To do this, the AR wearable device detects the physical object and tracks the posture of the AR wearable device relative to the position of the physical object.

[0031] The pose identifies the position and orientation of the AR wearable device relative to a reference frame or relative to another object. In some examples, the pose of the AR wearable device is determined by visual inertial odometry (VIO), which is a computer vision technique for estimating the pose and velocity of a moving object (e.g., a vehicle) relative to a local starting position. VIO uses visual odometry in combination with inertial measurements from an IMU to estimate the vehicle pose from camera images. VIO improves pose and velocity determination by, for example, correcting errors associated with rapid movements that result in poor image capture. By combining sensor data or data derived from a personal mobile system and an AR wearable device, the resulting pose information has less uncertainty than would be possible using these sources alone.

[0032] In the integration of the PM system and the AR wearable device, the PM system and the AR wearable device communicate with each other. The PM system and the AR wearable device can also communicate with each other, individually or through each other, with other devices (such as mobile phones) or a network containing other devices (such as servers). The PM system can provide telemetry information such as speed, acceleration, control position, user position and posture, and battery level to the AR wearable device. The PM system can also provide information from cameras and other sensors. The AR wearable device can then provide performance-related commands (for example, limiting or adjusting the maximum speed, acceleration, braking force) or non-performance-related commands (for example, turning lights on and off, honking the horn). The AR wearable device can also provide telemetry data collected only by the AR wearable device to the PM system (for example, speed calculated by GPS, user position and posture). Similarly, commands provided by the AR wearable device can be notified by telemetry and sensor data received from the PM system. Further, commands provided by the AR wearable device can be notified only by information collected by the AR wearable device.

[0033] In some examples, data provided by sensors in personal mobile devices supplement or correct the VIO system of the AR wearable device, that is, "sensor fusion" occurs between the AR wearable device and the PMD. The PMD can, for example, report data from an onboard IMU and speed sensor to the AR device. In turn, the AR device uses the received information to provide better control of the PMD or better positioning of virtual objects relative to the user. Examples of sensor data used in this way would include speedometer readings, throttle position, and steering column (if available). These help to accurately calculate the position of the scooter in the real world at every moment.

[0034] Sensor fusion performed to improve VIO systems is typically direct fusion, where data from heterogeneous or homogeneous sensors is combined. Sensor fusion can be performed using any known sensor fusion technique or algorithm, such as a Kalman filter. The use of sensor data can be complementary (where sensors do not directly depend on each other but can be combined to give a more complete picture), competitive or redundant (where sensors deliver independent measurements of the same property, which can, for example, aid in error correction), or collaborative (where sensors are used together to derive information that would not be available from a single sensor).

[0035] Correct placement of virtual objects in the field of view of a user of an AR wearable device depends on accurate determination of the pose of the AR wearable device relative to its environment and relative to any relevant objects within that environment.

[0036] In some examples, a method for positioning a personal mobility system using an augmented reality device is provided, the method being performed by one or more processors. The method includes: receiving location data corresponding to the positioning of the personal mobility system; determining a relative position between the augmented reality device and the positioning of the personal mobility system; and causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the positioning of the personal mobility system.

[0037] The augmented reality effect may include a graphical representation of the personal mobility system, which is displayed by the augmented reality device in the direction of the location of the personal mobility system. If the direction of the location of the personal mobility system is outside the field of view of the augmented reality device, the augmented reality effect may also provide a directional hint. The appearance of the augmented reality effect may vary based on the distance to the personal mobility system.

[0038] Additionally, the graphical representation may be selectable by a user of the augmented reality device to provide reservations for or navigation to a personal mobility system.

[0039] Short-range radio frequency transmission can be used to identify potentially available personal mobility systems. The method may also include: receiving data indicating that certain of the potentially available personal mobility systems are unavailable; and eliminating certain of the potentially available personal mobility systems from the list for display purposes. Other technical features will be readily apparent to those skilled in the art from the following drawings, description, and claims.

[0040] A computing device for locating a personal mobility system using an augmented reality device is also provided, the computing device including a processor and a memory storing instructions, which when executed by the processor configures the device to perform the above-mentioned method, including but not limited to: receiving location data corresponding to the positioning of the personal mobility system; determining the relative position between the augmented reality device and the positioning of the personal mobility system, and causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the positioning of the personal mobility system.

[0041] Also provided is a non-transitory computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform operations for locating a personal mobility system using an augmented reality device, including but not limited to operations comprising: receiving location data corresponding to the location of the personal mobility system; determining a relative position between the augmented reality device and the location of the personal mobility system; and causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system.

[0042] In some examples, a participant may ride on a real-world course that has a number of virtual objects positioned therein, and the real-world course may affect the performance of a particular participant's PM system when the participant's PM system intersects with or is within a certain distance of the real-world location of a virtual object. The virtual object is displayed to the participant on the participant's AR wearable device as if the virtual object appeared at its designated location. Intersecting with or being near a virtual object may improve the performance of the corresponding PM system (in the case of "power up"), may reduce the performance of the corresponding PM system (in the case of "power down"), or may provide other effects or consequences. Thus, participants may compete with each other to gain a real-world advantage or disadvantage based on interactions with the real-world locations of virtual objects.

[0043] In some cases, user interaction with the AR wearable device can be provided through voice commands, through input to an associated device (e.g., a smartphone), through gestures detected by the AR wearable device's camera, or through a touchpad provided on the AR wearable device, which can be used to provide xy touch and tap input to the AR wearable device.

[0044] In some examples, an augmented reality effect includes augmented reality content that is configured to modify or transform image data presented in some manner within a graphical user interface (“GUI”) of an AR wearable device. For example, AR effect data can be used to make complex additions or transformations to the appearance of the environment in the field of view of the AR wearable device, such as highlighting, animating, or transforming traffic control signals, roads, buildings, and vehicles; adding enhancements to landmarks in a scene being viewed on the AR wearable device; or many other such transformations. This includes both real-time modifications that modify an image as it is captured using a camera associated with the AR wearable device or some other device that communicates with the AR wearable device (e.g., a PM system), and modifications to stored content (e.g., a video clip in a gallery that can be modified using an AR effect), which is then displayed by the AR wearable device with the AR effect modification. Similarly, real-time video capture can be used with AR effects to show a user of the AR wearable device how a video image currently being captured by the device's sensors will modify the captured data. Such data may be simply displayed on the screen without being stored in memory, content captured by the device sensors may be recorded and stored in memory with or without AR effect modification (or both), or content captured by the device sensors may be sent over a network to a server or another device with AR effect modification.

[0045] Thus, AR effects and associated systems and modules for modifying content using AR effects can involve: detection of objects (e.g., faces, hands, bodies, cats, dogs, surfaces, objects, etc.), tracking of such objects as they leave, enter, and move around the field of view in a video frame, and modification or transformation of such objects as they are tracked. In various examples, different methods for implementing such transformations can be used. Some examples involve generating a 3D mesh model of one or more objects and implementing the transformation using transformations and animated textures of the models within the video. In other examples, tracking of points on an object is used to place an image or texture (which can be two-dimensional or three-dimensional) at the tracked location. In another example, neural network analysis of a video frame is used to place an image, model, or texture in content (e.g., an image or video frame). Thus, AR effect data can include both the images, models, and textures used to create the transformation in the content, as well as the additional modeling and analysis information required to implement such transformations using object detection, tracking, and placement.

[0046] Other technical features may be apparent to those skilled in the art from the drawings, description and claims.

[0047] Figure 11 is a perspective view of an AR wearable device (e.g., glasses 100) according to some examples. The glasses 100 may include a frame 102 made of any suitable material, such as plastic or metal (including any suitable shape memory alloy). In one or more examples, the frame 102 includes a front piece 104, which includes a first or left optical element holder 114 (e.g., a display or lens holder) and a second or right optical element holder 120 connected by a bridge 110. The front piece 104 also includes a left end 112 and a right end 118. A first or left optical element 116 and a second or right optical element 122 can be disposed within the respective left optical element holder 114 and right optical element holder 120. Each of the left optical element 116 and the right optical element 122 can be a lens, a display, a display assembly, or a combination of the foregoing. Any of the display assemblies disclosed herein can be disposed in the glasses 100.

[0048] The frame 102 also includes a left temple piece 106 (i.e., a left arm) and a right temple piece 108 (i.e., a right arm), which are coupled to the respective left and right ends 112, 118 of the front piece 104 by any suitable means, such as hinges (not shown), so as to be coupled to the front piece 104, or are rigidly or securely fixed to the front piece 104 so as to be integral with the front piece 104. In one or more implementations, each of the left and right temple pieces 106, 108 includes a first arm 124 and any suitable second arm 126, which are coupled to the respective left and right ends 112, 118 of the front piece 104, and the second arm 126 is used to couple to the user's ear. In some examples, the front piece 104 can be formed from a single piece of material so as to have a unitary or one-piece construction. In some examples, such as Figure 1 As shown in , the entire frame 102 can be formed from a single piece of material so as to have a unitary or one-piece construction.

[0049] The eyeglasses 100 can include a computing device, such as a computer 128, which can be of any suitable type to be carried by the frame 102 and, in one or more examples, can be of a suitable size and shape to be at least partially disposed in one of the left temple piece 106 and the right temple piece 108. In one or more examples, as Figure 1, the computer 128 is sized and shaped to be similar in size and shape to the right temple piece 108 (or left temple piece 106), and is therefore almost completely (if not completely) disposed within the structure and scope of such right temple piece 108. In one or more examples, the computer 128 is disposed in both the right temple piece 108 and the left temple piece 106. The computer 128 may include one or more processors and memories, wireless communication circuitry, sensors and associated circuitry, and a power supply. As discussed below, the computer 128 includes low-power circuitry, high-speed circuitry, and a display processor. Various other examples may include these elements in different configurations or integrated together in different ways. As shown by the glasses 100 discussed below, details of other aspects of the computer 128 may be implemented.

[0050] The computer 128 also includes a battery 130 or other suitable portable power supply. In some examples, the battery 130 is located in one of the left temple piece 106 and the right temple piece 108, or multiple batteries 130 are located in each temple piece. Figure 1 In the glasses 100 shown in FIG, a battery 130 is shown disposed in the left temple piece 106 and electrically coupled to the computer 128 via electrical conductors disposed within the front piece 104. The glasses 100 may include a connector or port (not shown) accessible from the exterior of the frame 102 for charging the battery 130. The glasses 100 may also include a wireless receiver, transmitter, or transceiver (not shown), or a combination of these devices, inertial measurement sensors, and other sensors disposed within the front piece 104, the left temple piece 106, and the right temple piece 108.

[0051] In one or more implementations, the glasses 100 include one or more cameras 132. Although two cameras are depicted, other examples contemplate the use of a single or additional (i.e., more than two) cameras 132. In one or more examples, the glasses 100 include any number of sensors or peripherals in addition to the cameras 132. For example, the glasses 100 can include a sonar sensor, a radar sensor, a laser sensor, a lidar sensor, and an inertial measurement unit (e.g., an accelerometer, a gyroscope, and a magnetometer).

[0052] The front piece 104 is provided with a front or outer surface 134 that faces forward or away from the user when the glasses 100 are placed on the user's face, and an opposing rear or inner surface 136 that faces inward or away from the user when the glasses 100 are placed on the user's face. Such sensors may include an inward-facing video sensor or digital imaging module, for example, which may be mounted on or disposed within the inner surface 136 of the front piece 104 or mounted or disposed elsewhere on the frame 102 so as to face the user, and an outward-facing video sensor or digital imaging module (e.g., camera 132), which may be mounted on or disposed within the outer surface 134 of the front piece 104 or mounted or disposed elsewhere on the frame 102 so as to face the user. Such sensors, peripherals, or peripheral devices may also include biometric sensors, location sensors (e.g., GPS), or any other such sensors.

[0053] In one or more implementations, the glasses 100 include input sensors, such as touchpads or buttons (not shown). The touchpad can be mounted to or integrated with one or both of the left temple piece 106 and the right temple piece 108. In some examples, the touchpad is typically arranged vertically, approximately parallel to the user's temple. As used herein, typically vertically aligned means that the touchpad is at least more vertical than horizontal, but preferably more vertical than horizontal. Additional user input can be provided by one or more buttons. One or more touchpads and buttons provide a mechanism by which the glasses 100 can receive input from the user of the glasses 100. The glasses 100 can include a microphone to receive verbal commands from the user and monitor other sounds. Similarly, the glasses 100 can include a speaker to provide auditory feedback to the user or allow the user to play music.

[0054] Figure 2 The glasses 100 are shown from the wearer's perspective. Figure 1 Many of the components shown in Figure 1 As stated in Figure 2 The eyeglasses 100 shown in FIG. 1 include a left optical element 116 and a right optical element 122 secured within a left optical element holder 114 and a right optical element holder 120, respectively.

[0055] The glasses 100 include a right front optical assembly 202 including a right projector 204 and a right near-eye display 206 , and a left front optical assembly 208 including a left projector 210 and a left near-eye display 212 .

[0056] In some examples, the near-eye display is a waveguide. The waveguide includes a reflective or diffractive structure (e.g., a grating and / or an optical element, such as a mirror, lens, or prism). The right projected light 214 emitted by the right projector 204 encounters the diffractive structure of the waveguide of the right near-eye display 206, which directs the light toward the user's right eye to provide an image on or in the right optical element 122, which overlays the view of the real world seen by the user. Similarly, the left projected light 216 emitted by the left projector 210 encounters the diffractive structure of the waveguide of the left near-eye display 212, which directs the light toward the user's left eye to provide an image on or in the left optical element 116, which overlays the view of the real world seen by the user.

[0057] Other display technologies or configurations that can display images to the user in the forward field of view may be provided. For example, instead of the right projector 204 or the left projector 210 and the waveguide, an LCD, LED, or other display panel or surface may be provided instead.

[0058] In use, information, content, AR effects, virtual objects, and various user interfaces are presented to the wearer of the glasses 100 on the near-eye display. As described in more detail below, the user can then use a touchpad and / or buttons (not shown), gestures within the camera's field of view, and through associated devices (e.g., Figure 11 The glasses 100 may be interacted with by providing voice input or touch input on a client device 404 shown in FIG.

[0059] Figure 3 3 is a side view of a personal mobility system (e.g., scooter 300) according to some examples. Scooter 300 includes a body 302 with at least two wheels (i.e., a front wheel 306 and a rear wheel 308) mounted to body 302. Body 302 provides a platform for at least a single user to stand (or sit using a seat fixed to body 302). Scooter 300 also includes a steering column 304 coupled to at least one of the wheels (i.e., front wheel 306). In some examples, each of front wheel 306 and rear wheel 308 includes a hub, spokes, a rim, and a tire. Steering column 304 is rotatably coupled to body 302 to allow steering of front wheel 306.

[0060] The steering column 304 also includes a handlebar 310 extending from the steering column 304 in a substantially vertical orientation, wherein the handlebar 310 is positioned at a height that facilitates steering the scooter 300 while riding. The handlebar 310 may include a left grip 312 and a right grip 314. The left grip 312 includes an acceleration control 316 and a brake control 318 that are operably connected to a brake of at least one of the front wheel 306 and the rear wheel 308. As will be discussed in further detail below, each of the acceleration control 316 and the brake control 318 is operably connected to a management system 324.

[0061] Scooter 300 also includes a power source 320 , a propulsion source 322 , a management system 324 , and a forward-looking sensor 326 .

[0062] The power source 320 and the propulsion source 322 are each independently operably connected to a management system 324. The acceleration control 316 and the brake control 318 are also each independently operably connected to the management system 324, although in some cases the brake control 318 may only be physically coupled to the manual braking system. In operation, a user provides input to the management system 324 via the acceleration control 316 and the brake control 318 to start, maintain, change, and stop the movement of the scooter 300. In addition, regenerative braking can be provided via the acceleration control 316. As will be discussed further below, the user can also provide input via at least one of the glasses 100 and the client device 404. The management system 324 directs energy from the power source 320 to the propulsion source 322.

[0063] The propulsion source 322 also includes a motor, a power linkage to a management system 324, and a mechanical linkage to at least one of the front wheel 306 and the rear wheel 308, so that the propulsion source 322 can drive at least one of the wheels. For clarity, the motor can drive the wheel directly or indirectly via a chain / sprocket / drive shaft / transmission / or other indirect drive means. In some implementations, the brakes and propulsion source can be disposed within the hub of at least one of the front wheel 306 and the rear wheel 308. Figure 3 In the implementation shown in , propulsion source 322 is located in front wheels 306. The brakes may include front and rear drum or disc brakes operably connected to brake controls 318. Other types of brakes may also be used, such as cantilever brakes and V-brakes.

[0064] The power source 320 can be disposed within the body 302 and can be charged by a management system 324, which in turn receives power from an external power source via a connector 328. In some implementations, the power sources 320 are removable to allow a user to swap power sources 320 and charge each power source 320 away from the scooter 300.

[0065] Additionally, the management system 324 is operationally connected to a forward-looking sensor 326 and a visual feedback element 332. The forward-looking sensor 326 is housed within the sensor housing 330 and mounted to the steering column 304, providing an unobstructed view of the direction of travel of the scooter 300. The forward-looking sensor 326 may include sensing technologies such as cameras, sonar sensors, radar sensors, laser sensors, and lidar sensors; as well as safety features such as lights or horns. The visual feedback element 332 faces the user and provides information to the user (e.g., power status, speed, location, and other data received from the management system 324). The visual feedback element 332 may also include a communication module (e.g., a Bluetooth transducer, an antenna) operably connected to the management system 324. Additional components of the scooter 300 will be discussed in further detail below with respect to the networked device 1102. In some implementations, the components of the management system 324 are integrated into the networked device 1102.

[0066] Figure 4 1 is a network diagram illustrating a network environment 400 suitable for operating an AR wearable device (e.g., glasses 100) and a personal mobility system (e.g., scooter 300), according to some examples. The network environment 400 includes glasses 100, scooter 300, client devices 404, and server 410, which are communicatively coupled to each other directly or via a network 408. Glasses 100, scooter 300, client devices 404, and server 410 can each be implemented in whole or in part in a computer system, as described below with respect to FIG. Figure 13 The server 410 may be part of a network-based system. For example, the network-based system may be or include a cloud-based server system that provides additional information, such as geolocation information or virtual content (e.g., a three-dimensional model of a virtual object), to the glasses 100, the scooter 300, and the client device 404.

[0067] The client device 404 can be a smartphone, tablet, phablet, laptop, access point, or any other such device capable of connecting to the glasses 100 and scooter 300 using both low-power wireless connections and high-speed wireless connections. The client device 404 is connected to a server 410 and a network 408. The network 408 can include any combination of wired and wireless connections. The server 410 can be one or more computing devices that are part of a service or network computing system. The client device 404 and any elements of the server 410 and network 408 can use Figure 12 and Figure 13 The details of the software architecture 1202 or machine 1300 described in are implemented.

[0068] User 402 operates glasses 100 and scooter 300. User 402 can be a human user (e.g., a human), a machine user (e.g., a computer configured by a software program to interact with glasses 100 and scooter 300), or any suitable combination thereof (e.g., a person assisted by a machine or a machine supervised by a person). User 402 is not part of network environment 400, but is associated with glasses 100, scooter 300, and client device 404.

[0069] although Figure 4 The AR wearable device in FIG4 is shown as glasses 100, but the AR wearable device can be a computing device with a display, such as a smartphone, tablet, or other wearable computing device. The computing device can be handheld or removably mounted to the head of the user 402. In some examples, the display is a screen that displays content captured by the camera of the computing device. In another example, the display of the device can be transparent, such as one or both of the left optical element 116 and the right optical element 122 of the glasses 100.

[0070] The user 402 interacts with an application running on the glasses 100 or the client device 404, or a combination thereof. The application may include an AR application configured to provide the user 402 with an experience associated with a physical object 406 (e.g., a two-dimensional physical object (e.g., a picture), a three-dimensional physical object (e.g., a statue, a car, a person), a specific location (e.g., a landmark), or any reference (e.g., a perceived furniture or corner of a wall)) in a real-world physical environment 412.

[0071] In addition to presenting information provided by the scooter 300, the AR application can also provide the user 402 with experiences associated with the operation of the scooter 300. For example, the user 402 can point to the camera 132 of the glasses 100, which captures an image or video feed of a physical object 406 (e.g., a stop sign, a traffic light, a pothole). The content of the image or video feed is tracked and recognized in the glasses 100 using the local context recognition dataset module of the AR application of the glasses 100. The local context recognition dataset module may include a library of virtual objects or machine learning models associated with real-world physical objects or references. The AR application then generates additional information related to the image or video feed (e.g., a three-dimensional model, visual effects, an overlay of text or symbolic information) and presents the additional information in the display of the glasses 100 in response to recognizing features in the image or video feed. If the content of the video feed or image is not recognized locally at the glasses 100, the glasses 100 may download additional information (e.g., a three-dimensional model or a machine learning model) from a database of the server 410 via the network 408, or may provide the image or video feed to an associated device (e.g., the client device 404 or the server system 1108) for processing.

[0072] In some examples, server 410 is configured to detect and identify physical object 406 based on sensor data (e.g., image and depth data, positioning) from glasses 100 or scooter 300, and determine the position or pose of at least one of glasses 100, scooter 300, and physical object 406 based on the sensor data. Server 410 may also retrieve or generate virtual object 414 based on the pose and position of glasses 100, scooter 300, physical object 406, and, in some implementations, client device 404. Server 410 or client device 404 transmits virtual object 414 to glasses 100, which may then display virtual object 414 to user 402 at an appropriate time. Alternatively, data comprising the virtual object may be stored in local memory on client device 404 or glasses 100. Object recognition, tracking, virtual object generation, and AR rendering may be performed on glasses 100, scooter 300, client device 404, server 410, or a combination thereof.

[0073] Figure 4 Any of the machines, databases, or devices shown in the may be implemented in a general-purpose computer that is modified (e.g., configured or programmed) by software to be a special-purpose computer to perform one or more of the functions described herein for that machine, database, or device. Figure 12 and Figure 13Computer systems capable of implementing any one or more of the methods described herein are discussed. As used herein, a "database" is a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, or any suitable combination thereof. Additionally, Figure 4 Any two or more of the machines, databases, or devices shown in the may be combined into a single machine, and the functionality described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices.

[0074] The network 408 can be any network that enables communication between or among machines (e.g., server 410), databases, and devices (e.g., glasses 100). Thus, the network 408 can be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network 408 can include one or more components that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof.

[0075] Figure 5 1 is a view of an outdoor environment 502 augmented with AR elements displayed on the display 1116 of the glasses 100, according to some examples. In this example, the user is riding a scooter 300 along a street or path 504 in the environment 502, which includes buildings 506, trees 508, people 510, and the like. The pose of the glasses 100 relative to the environment 502 has been determined and is continuously updated using known AR positioning and tracking techniques, including, for example, through vision processing techniques such as simultaneous localization and mapping (SLAM). By comparing the SLAM data with an existing point cloud model of the environment 502 stored on a server 410 or downloaded to the glasses 100, client device 404, or scooter 300, the pose of the glasses 100 can be refined, and the specific identity and characteristics of the environment can be further determined. Additionally, the location of the glasses 100, scooter 300, or client device 404 can be determined based on GPS coordinates or by these devices sharing positioning information with each other. Additionally, pose and velocity may be determined by VIO, where IMU or other sensor data from the scooter 300 is combined with vision processing performed on images captured by the glasses 100 .

[0076] The pose of the glasses 100 allows virtual objects to be displayed to the user within the context of the environment. That is, virtual objects such as a power-up 512 (illustrated as a mushroom) and a power-down 514 (illustrated as a banana) can be displayed with the glasses 100 at a fixed position on the path 504. As the user turns their head or approaches one of the virtual objects, its apparent position on the path 504 is maintained, and the virtual objects scale appropriately as the user approaches or moves away from the virtual object. The positions of the virtual objects 414 can be predefined for specific locations (e.g., along popular routes) or can be intermittently positioned by the AR application. In some examples, the positions and identities of the virtual objects 414 are defined in an environment map that is stored on the client device 404 or server 410 and accessed by the AR application based on the pose and position of the glasses 100. Similarly, data defining each virtual object 414 (including their appearance and performance change characteristics) is stored in a database hosted on the server 410 or locally on the client device 404.

[0077] Because the user's location in environment 502 is known (be it the location of scooter 300, glasses 100, or client device 404), and the locations of virtual objects 414 in environment 502 are known, the user can interact with virtual objects by riding over or through them as perceived by the user. The effect of such interactions will depend on the nature of the virtual objects. For example, when scooter 300 passes through (the location of) power-up 512, the power available for use by scooter 300 may increase, or the scooter's maximum speed may increase, typically for a certain amount of time. Similarly, when scooter 300 passes through power-down 514, the power available for use by scooter 300 may decrease, or the scooter's maximum speed may decrease, typically for a certain amount of time, or the scooter 300 may stop entirely. In this way, interactions with virtual objects can affect the behavior or characteristics of real-world devices such as scooter 300. It will of course be understood that the scooter 300 itself does not actually ride over the virtual object 414 , but rather the position of the scooter 300 at the perceived location of the virtual object 414 is detected by the glasses 100 , the client device 404 , or the scooter 300 .

[0078] In another example, with a virtual object (e.g., Figure 5 The interaction of powering up 512 shown in FIG. 5 may result in the acquisition of a virtual object 414 by the user for use at a later time, in which case the virtual object may be transferred to and positioned in the reference frame of the glasses 100 or scooter 300, as described below with reference to FIG. Figure 6In such cases, as discussed above, further user interaction with the virtual object is required to trigger a change in the behavior or characteristics of the scooter 300. The user can thus acquire a power-up 512 or other virtual object and choose to use it at a time of their choosing.

[0079] Figure 6 is a view of the handlebars 310 of a scooter 300 in an outdoor environment 502, according to some examples, where the scooter 300 has been augmented with AR elements. In this case, virtual objects, such as power-up 602, energy-saving mode 604, and sports mode 606, are displayed to the user by the glasses 100 in the reference frame of the scooter 300. In this example, the virtual objects are shown floating directly above the handlebars 310 of the scooter 300. As the user 402 turns their head or moves closer to or further away from one of the virtual objects, their position on the handlebars 310 is maintained, scaling appropriately as the user approaches or moves away from the virtual object.

[0080] Figure 6 The virtual objects shown in may persist in the reference frame of scooter 300, e.g., virtual objects for energy saving mode 604 and sport mode 606 may represent features or adjustments to scooter operation that are always available during operation of scooter 300. In this way, the available control features of the scooter may be expanded beyond those available using physical controls on the scooter.

[0081] Figure 6 The virtual objects 414 shown in FIG may also appear and disappear during operation of the scooter, e.g., they may appear for use as they become available and then may disappear after use. In one instance, when the scooter is ridden over a vehicle such as Figure 5 When power up 512 is shown in FIG, power up 512 disappears from path 504 and is displayed as power up 602 in the reference frame of scooter 300, as shown in FIG. Figure 6 As discussed below, this may occur if, when scooter 300 arrives at a location in the real world corresponding to the location of power-up 512, the performance-modifying effect of power-up 512 does not occur immediately, but is delayed until such time as the user decides to activate it. Power-up 512 has effectively been acquired rather than activated by the passage of scooter 300.

[0082] To facilitate positioning Figure 6The handlebars 310 are detected by the glasses 100 or the client device 404 within the field of view of the camera 132 of the glasses 100 using object detection techniques applied to the video feed from the camera 132. Using 3D reconstruction techniques, the relative position and orientation between the glasses 100 and the handlebars 310 can be determined by the glasses 100 or the client device 404, thereby allowing for correct placement of the virtual object over the handlebars 310 as the relative position between the handlebars 310 and the glasses 100 changes due to movement of the user or the handlebars.

[0083] In another example, the relative position and orientation of the scooter 300 and the glasses 100 can be determined by comparing their respective poses in a common local or global reference frame. In such a case, for the scooter 300, it would be necessary to provide data related to the angle of rotation of the handlebars in order to fix the virtual object to the handlebars 310 in the user's field of view. Alternatively, the virtual object can be fixed with reference to the body 302 or steering column 304 so as to float above the handlebars 310 or (other parts of the personal mobility system) in a fixed orientation regardless of the orientation of the handlebars 310.

[0084] exist Figure 6 In the example use shown in , gesture detection or other visual object intersection techniques are used to detect the intersection of a user's hand or finger with one of the virtual objects (power up 512, energy save mode 604, motion mode 606) in the video feed from one or both of the cameras 132. In response to such detection, instructions are provided by the glasses 100 or client device 404 to appropriately modify the behavior of the scooter 300 based on the particular virtual object with which the user has interacted.

[0085] Figure 71 is a view of an outdoor environment 702 augmented by AR elements displayed on the display 1116 of the glasses 100, according to some examples. As previously described, the user is riding a scooter 300 through the outdoor environment 702. The pose of the glasses 100 relative to the environment 702 has been determined and is continuously updated using known AR positioning and tracking techniques, including, for example, through vision processing techniques such as simultaneous localization and mapping (SLAM). By comparing the SLAM data with an existing point cloud model of the environment 702 stored on a server 410 or downloaded to the glasses 100, client device 404, or scooter 300, the pose of the glasses 100 can be refined, and the specific identity and characteristics of the environment can be further determined. Additionally, the location of the glasses 100, scooter 300, or client device 404 can be determined based on GPS coordinates or by these devices sharing location information with each other. Furthermore, pose and speed can be determined by VIO, where IMU or other sensor data from the scooter 300 is combined with vision processing performed on images captured by the glasses 100.

[0086] In this example, environment 702 includes a pedestrian path 704, a bicycle path 706, a street 710, and traffic cones 712 positioned on bicycle path 706 to indicate hazards within bicycle path 706. In this example, the personal mobility system is not permitted to be used on pedestrian path 704, but only on bicycle path 706. To help the user navigate the environment, one or more virtual objects 414 are placed in the user's field of view, as displayed by glasses 100. In this example, a colored AR overlay 708 is positioned on bicycle path 706 to highlight the path the user is permitted to take, thereby promoting proper cycling etiquette. Alternatively, prohibited areas (e.g., pedestrian path 704) or more dangerous areas (e.g., streets with traffic 710) can be provided with an overlay instead of or in addition to AR overlay 708 on 706. Different colors or effects can be used to distinguish between proper paths or areas that can be traversed by scooter 300 and prohibited or dangerous areas.

[0087] As with the examples discussed above, interacting with the AR overlay 708 by the proximity of the scooter 300 to the location of the AR overlay 708 in the environment can affect the behavior and features of the scooter. In the case of the AR overlay 708, positioning the scooter on the bicycle path 706 (i.e., on the AR overlay 708 as perceived by the user) can enable operation at the full capabilities of the scooter 300, while driving off the bicycle path 706 (or off the AR overlay 708 as perceived by the user) may result in reduced functionality of the scooter 300. Additional effects can also be provided to prompt the user to use the correct path, such as by changing the color or other effects (e.g., flashing or pulsing) of the AR overlay 708 as displayed by the glasses 100 when the scooter leaves the bicycle path 706. Alternatively, if an overlay or other virtual object 414 is provided on the pedestrian path 704 or street 710, positioning the scooter 300 on the overlay or intersecting the scooter 300 with the virtual object may trigger a reduction in functionality of the scooter 300, which would not change when the scooter 300 is positioned on the bicycle path 706.

[0088] The AR application running on the glasses 100 or client device 404 may also scan the environment 702 for relevant physical objects or features using known object detection and recognition techniques. Figure 7 , a traffic cone 712 may be detected by the glasses 100 or client device 404 as an indicator of a possible hazard in the bicycle path 706. A virtual object 414 may then be displayed by the glasses 100 to highlight the traffic cone. For example, a pulsing or flashing high-contrast AR overlay may be placed on or around the traffic cone 712 in the scene as viewed by the user through the glasses 100.

[0089] Physical objects 406 that may be highlighted in this manner as hazards, identify hazards, or provide other relevant information to a rider of a personal mobility system include crosswalks, signs, warning strips, and the like.

[0090] In addition to emphasizing physical objects, the behavior of the personal mobility system can be altered in response to proximity to danger. For example, when the user 402 approaches danger, as before, the brakes can be applied or the maximum speed or power can be reduced.

[0091] Figure 8 1 is a view of an outdoor environment 802 enhanced with AR elements displayed on the display 1116 of the glasses 100 according to another example. As before, the user is riding the scooter 300 through the outdoor environment 802. Also as before, the environment 802 includes a walking path 704, a bicycle path 706, and a street 710. Figure 7In the discussed environment 702 , an AR overlay 708 has been provided to highlight the bicycle path 706 .

[0092] In this example, an AR application running on glasses 100 or client device 404 detects an otherwise unmarked hazard (pothole 804) in environment 702 using known object detection and recognition techniques. In some examples, object detection and recognition is performed using context- or location-specific ML models of potential obstacles or objects loaded into the memory of client device 404 or glasses 100. This reduces the data processing burden because glasses 100 or client device 404 only needs to search for potential obstacles or warning signs that may exist in that context or at that location. For example, if user 402 is riding on a mountain bike trail, the context-specific ML model will not include road signs.

[0093] exist Figure 8 In the example of FIG, in response to detecting a pothole 804, a virtual traffic cone 806 is displayed by the glasses 100 at the perceived location of the pothole 804 in the field of view of the glasses 100. Various effects may be applied. For example, a pulsing or flashing high-contrast AR overlay may be placed on or around the virtual traffic cone 806 in the scene as viewed by the user through the glasses 100.

[0094] Any physical object 406 that can be used in this manner to highlight a hazard, identify a hazard, or provide other relevant information to a rider of the personal mobility system includes crosswalks, signs, potholes, sinkholes, trenches, ditches, etc. In addition to or in place of virtual traffic cones 806, other virtual signs (e.g., a sign with "Danger Ahead") can be placed above or in front of a physical hazard (e.g., a pothole 804 in the field of view of the glasses 100).

[0095] In addition to emphasizing physical objects, the behavior of the personal mobility system may be altered in response to proximity to pothole 804. For example, as before, the brakes may be applied or the maximum speed or power may be reduced.

[0096] Figure 9 1 is a view of an outdoor environment 902 augmented with AR elements displayed on a display 1116 of glasses 100, according to some examples. In this example, the user is riding a scooter 300 or walking along a street or path 904 in the environment 902, which includes buildings 906, trees 908, a scooter icon 910, etc. As described above, the pose of the glasses 100 relative to the environment 902 has been determined and is continuously updated using known AR positioning and tracking techniques. The pose of the glasses 100 allows virtual objects to be displayed to the user in the reference frame of the environment.

[0097] In this particular case, what is shown on the display is an AR element that has been and continues to be positioned to help the user of the glasses 100 locate and find an available personal mobility system, such as a scooter 300. For the sake of simplicity, Figure 9 All three of the scooter icon 910, navigation prompt 912, and out of view prompt 914 are shown, but how many of these are shown will depend on the particular circumstances at the time, and in fact it may be only one of the three.

[0098] exist Figure 9 In the situation shown in FIG, a user 402, who may be walking, riding a scooter 300, in or on another vehicle, etc., has provided user input to a personal mobility system locating a nearby area. For example, the glasses 100 or client device 404 may have received voice input or other input provided in a user interface of the glasses 100 or on the client device 104. In response, the location of the nearby personal mobility system is determined.

[0099] This can be accomplished in a variety of different ways as alternatives or combinations. First, the glasses 100 or client device 404 can contact a remote server that has a database of the current locations of personal mobility systems and can report back to the glasses 100 or client device 404 the GPS or other coordinates of the locations of personal mobility systems within a specific radius. Additionally or alternatively, BLE, UWB, or image recognition can be used to determine the locations of personal mobility systems in the vicinity to find and locate nearby personal mobility systems.

[0100] In the case of BLE or UWB, the glasses 100 or the client device 404 can ping potentially available personal mobile systems, or monitor for pings from potentially available personal mobile systems, and establish a connection or exchange data with the personal mobile systems, and then obtain positioning information, such as GPS or other coordinates, for the location of any available personal mobile systems in the vicinity. In some examples, the pings from the available personal mobile systems may already include such positioning information, in which case there is no need to establish a connection to obtain positioning information. Still further, the pings from the available personal mobile systems may include identification information, which can then be used by the glasses 100 or the client device 404 to obtain the positioning or other information of the corresponding personal mobile system from the server 410.

[0101] Information received about potentially available scooters 300, either from the scooter 300 itself or remotely from the server 410, may indicate that a particular scooter 300 is not available. That scooter may then be removed from the group of potentially available personal mobility systems for display purposes.

[0102] Once the location of any personal mobility systems has been received, relevant information is displayed to the user via the glasses 100. Initially, based on a comparison of the relative positions of nearby personal mobility systems with the pose of the glasses 100, a determination is made as to whether one or more of the personal mobility systems is located in a direction within the current field of view of the glasses 100, and whether the personal mobility system is visible or invisible to the user 402 or within the user's 402 line of sight.

[0103] If the personal mobility system is located in a direction within the field of view of the glasses 100, a virtual reality effect or object or graphical representation, such as a scooter icon 910, is displayed by the glasses 100 in a direction within the field of view corresponding to the direction in which the personal mobility system is located. For example, if the personal mobility system is located on a higher level of a parking structure, the direction may also include a vertical component. As the user changes position or moves their head, the position of the scooter icon 910 remains overlaid on the real world in the direction corresponding to the personal mobility system, provided, of course, that the direction remains within the field of view of the glasses 100. Thus, the user 402 can find the personal mobility system by walking or riding in the direction of the scooter icon 910, which of course will involve walking around any intervening structures while monitoring the updated position of the scooter icon 910.

[0104] The presentation of the scooter icon 910 may vary depending on a variety of factors, including, for example, the distance to the corresponding scooter, the scooter's battery charge level or range, and the presence of any interfering obstacles or buildings. For example, as the user 402 gets closer to the location of the scooter 300, the color of the icon or another effect may change from green to orange to red based on the distance of the scooter 300. Additional information may also be provided, such as a battery level icon may be included in the scooter icon 910. Furthermore, the scooter icon 910 may be selectable via a user interface of the glasses 100 (e.g., a touchpad or button as discussed above).

[0105] In operation 1006, receipt of user 402's selection of scooter icon 910 may result in display of additional information about the personal mobility system or user interface options related to the personal mobility system. For example, a user interface option may be displayed to subscribe to the personal mobility system or provide navigation instructions to direct the user to the personal mobility system.

[0106] In response to receiving user input to reserve the personal mobility system, a reservation request is sent to the personal mobility system itself or to a remote server that manages access to the personal mobility system 410. Upon receiving confirmation of the reservation, the color or other effect associated with the corresponding scooter icon 910 can be updated to reflect the reservation status of the personal mobility system.

[0107] In response to the user selecting an option to navigate to the personal mobility system, for example by selecting the scooter icon 910, and then selecting the associated navigation option, navigation prompts 912 are displayed to the user via the glasses 100. In some examples, the navigation prompts 912 may include direction prompts 916 and text 918, as well as corresponding auditory prompts. As the user follows the prompts, the navigation prompts 912 will be updated as is known in the navigation art.

[0108] If a personal mobility system, such as a scooter 300, is both within the field of view of the glasses 100 and visible (without interfering objects obstructing the view of the scooter 300), object detection techniques can be used to detect the scooter 300. For example, an ML algorithm trained on a collection of scooter images can be used to identify visible scooters 300 in the field of view. If the scooter 300 is detected in the field of view of the glasses 100, an AR effect can be applied over or around the scooter when viewed through the glasses 100 to provide the user with additional prompts or confirmation regarding the location of the scooter. When the user 402 approaches within a certain distance of the scooter 300, the AR effect can supplement or replace the scooter icon 910.

[0109] In some examples, to reduce the likelihood of identifying and highlighting random or unrelated scooters within the field of view, the glasses 100 or client device 404 examines the direction between the positioning information used to generate the scooter icon 910 in the field of view and the direction of the scooter as identified by object recognition, and if the two directions sufficiently correspond, the AR effect is only provided above or around the scooter 300. In some examples, the overlap or 2D (displayed) distance between the representation of the scooter 300 as identified by object recognition and the scooter icon 910 in the display is determined, and if the two overlap or the distance between the two is below a specified threshold, the AR effect is only applied to the scooter 300.

[0110] When the user 402 arrives at the scooter 300, a QR or other machine-readable code on the scooter can be identified in the video feed of the glasses 100, and an authorization request can be sent to the scooter 300 or a remote server that manages the scooter 300. After taking appropriate billing or other authorization steps, the scooter 300 can be unlocked and paired with the glasses 100 or client device 404 to allow the above referenced Figure 4 Communications in the network environment 400 are discussed.

[0111] Figure 10 is a flow diagram 1000 illustrating the operation of network environment 400 , according to some examples.

[0112] Figure 10The operations shown in FIG1000 will generally be performed on a combination of the client device 404 and the glasses 100, but these operations can be performed exclusively in the glasses 100 or in a combination of the client device 404, one or all of the scooter 300 and the server 410, and the glasses 100. Various implementations are of course possible. In some examples, the operations are performed jointly between the glasses 100, which provides a video feed from at least one of its cameras 132 for processing and position information from its IMU and GPS receiver to an AR application running on the client device 404. The AR application processes the video feed, performs any positioning and tracking using VIO and sensor fusion as described above, and generates an AR effect including a virtual object 414 and sends the AR effect to the glasses 100 for display to the user 402. For clarity, flowchart 1000 is discussed herein with reference to such an example.

[0113] The method begins at operation 1002 of receiving user input to locate a nearby personal mobility system. For example, the glasses 100 or the client device 404 may have received voice input or other input provided in a user interface of the glasses 100 or on the client device 404.

[0114] In response, the locations of nearby personal mobility systems are determined in operation 1004, as described in more detail above.

[0115] Once the location of any personal mobility system has been determined, the location of scooter 300 and the pose of the glasses are compared in operation 1006 to determine their relative positions. This is done continuously for all identified personal mobility systems in the vicinity. As shown in operation 1008, if the personal mobility system is not in the field of view of glasses 100, a virtual reality effect or object, such as an out-of-field cue 914, is displayed through glasses 100 in operation 1030 as a cue indicating that user 402 can turn themselves or their head to find the direction of the corresponding personal mobility system. The method then returns to operation 1006.

[0116] If the personal mobility system is located in a direction within the field of view of the glasses 100, then in operation 1010, the glasses 100 display a virtual reality effect or object, such as the scooter icon 910, in a direction in the field of view corresponding to the direction in which the personal mobility system is located.

[0117] The presentation of scooter icon 910 may vary based on a variety of factors, including, for example, the distance to the corresponding scooter, the scooter's battery charge level or range, and the presence of any intervening obstacles or buildings. For example, the color of the icon or another effect may change from green to orange to red based on the distance of scooter 300 from user 402, as represented by the distance between glasses 100 or client device 404 and scooter 300. Additional information may also be provided, such as a battery level icon that may be included with scooter icon 910. Thus, the initial display of scooter icon 910 in operation 1010 will depend on these various factors. As these factors change, the display of scooter icon 910 is updated accordingly in operation 1012. The method then continues at operation 1008, with the display of scooter icon 910 or out-of-view prompt 914 continuing as described above.

[0118] In operation 1014, the scooter icon 910 is selectable via a user interface (e.g., a touchpad or button as discussed above) of the glasses 100. Receiving the selection of the scooter icon 910 by the user 402 in operation 1014 causes additional information about the personal mobility system to be displayed in operation 1016, such as an option to retain the additional information or to provide navigational prompts to direct the user to the personal mobility system.

[0119] In response to receiving user input to reserve a personal mobility system in operation 1018, a reservation request is sent to the personal mobility system itself or to a remote server 410 that manages access to the personal mobility system in operation 1020. After receiving confirmation of the reservation in operation 1022, the factors used to provide a different color or other effect associated with the corresponding scooter icon 910 can be updated in operation 1032 to reflect the reservation status of the personal mobility system. In addition, once a reservation has been received for a particular scooter 300, the display of the scooter icon 910 or the out-of-view prompt 914 associated with other scooters in the area can optionally be stopped.

[0120] In response to the user selecting the option to navigate to the personal mobility system in operation 1018, for example by selecting the scooter icon 910 and then selecting the associated navigation option, a route to the scooter is determined in 1024. This can be achieved by sending the location of the user 402 (as represented by the location of the glasses 100 or the client device) and the location of the scooter 300 to the remote server 410 that provides navigation information. As before, once a navigation request for a particular scooter 300 has been received, the display of the scooter icon 910 or the out-of-view prompts 914 associated with other scooters in the area can be optionally stopped.

[0121] After receiving or otherwise determining the route, in operation 1026, navigation prompts 912 are provided to the user by the glasses 100. In some examples, the navigation prompts 912 may include directional prompts 916 and text 918, as well as corresponding auditory prompts. As the user 402 moves through the environment in response to the navigation prompts, the navigation prompts are updated by returning to operation 1024. Meanwhile, the method continues with the display of other elements as shown in flowchart 1000 by returning to operation 1006 as shown in operation 1028.

[0122] If a personal mobility system, such as a scooter 300, is both within the field of view of the glasses 100 and visible (without interfering objects obstructing the view of the scooter 300), object detection techniques can be used to detect the scooter 300. For example, an ML algorithm trained on a collection of scooter images can be used to identify visible scooters 300 in the field of view. If the scooter 300 is detected in the field of view of the glasses 100, an AR effect can be applied over or around the scooter when viewed through the glasses 100 to provide the user with additional prompts or confirmation regarding the location of the scooter. When the user 402 approaches within a certain distance of the scooter 300, the AR effect can supplement or replace the scooter icon 910.

[0123] In some examples, to reduce the likelihood of identifying and highlighting random or unrelated scooters within the field of view, the glasses 100 or client device 404 checks the direction between the positioning information used to generate the scooter icon 910 in the field of view and the direction of the scooter as identified by object recognition, and only provides the AR effect over or around the scooter 300 if the two directions sufficiently correspond. In some examples, the overlap or 2D (displayed) distance between the representation of the scooter 300 as identified by object recognition and the scooter icon 910 in the display is determined, and if the two overlap or the distance between the two is below a specified threshold, the AR effect is only applied over the scooter 300.

[0124] When the user 402 arrives at the scooter 300, a QR or other machine-readable code on the scooter can be identified in the video feed of the glasses 100, and an authorization request can be sent to the scooter 300 or a remote server that manages the scooter 300. After taking appropriate billing or other authorization steps, the scooter 300 can be unlocked and paired with the glasses 100 or client device 404 to allow the above referenced Figure 4 Communications in the network environment 400 are discussed.

[0125] Figure 11 is a block diagram 1100 illustrating a networked device 1102 including details of glasses 100 and a scooter 300 , according to some examples.

[0126] The networked device 1102 (e.g., glasses 100, scooter 300, client device 404) is communicatively coupled to at least one second networked device 1104 and a server system 1108. The distinction between the networked device 1102 and the second networked device 1104 is made solely for the purpose of distinguishing the two devices. It should be understood that the description herein of the networked device 1102 equally describes the second networked device 1104.

[0127] Networked device 1102 can be communicatively coupled to a second networked device 1104 using a low-power wireless connection 1110 and a high-speed wireless connection 1112. Second networked device 1104 is connected to server system 1108 via network 1106. Network 1106 can include any combination of wired and wireless connections. Server system 1108 can be one or more computing devices that are part of a service or network computing system. Second networked device 1104 and any elements of server system 1108 and network 1106 can use Figure 12 and Figure 13 The details of the software architecture 1202 or machine 1300 described in are implemented.

[0128] The networked device 1102 may include a data processor 1114, a display 1116, one or more cameras 1118, input / output elements 1120, and additional sensors 1122. The input / output elements 1120 may include a microphone, an audio speaker, a biometric sensor, or an additional display element (e.g., a visual feedback element 332) integrated with the data processor 1114. In some implementations, the input / output elements 1120 (e.g., a speaker, a horn, a tactile generator, a display, and a headlight / signal / indicator) are used to prompt the user of the networked device 1102 of the safety issue, visually, audibly, or tactilely warning the rider of the safety issue. Figure 12 and Figure 13 Examples of input / output elements 1120 are further discussed. For example, input / output elements 1120 may include any of the I / O components 1302 including output components 1304, motion components 1306, etc. Figure 1 and Figure 2 Examples of displays 1116 are discussed in In the particular examples described herein, displays 1116 include a display for each of the user's left and right eyes.

[0129] Sensors 1122 may include optical sensors (e.g., photoresistors, lidar, infrared), radio frequency sensors (e.g., radar), mechanical wave sensors (e.g., sonar, pressure), and inertial sensors (e.g., accelerometers, gyroscopes, magnetometers). Networked device 1102 may use some or all of the foregoing to detect physical objects or determine the position or attitude of networked device 1102. For example, inertial sensors may provide information about the roll, yaw, and pitch of networked device 1102. Networked device 1102 may use this information to detect an accident or other impact and notify a user of the accident or other impact, detect uphill travel to increase power to a propulsion source (e.g., propulsion source 322), or detect downhill travel to establish system braking or power recovery to prevent networked device 1102 (or second networked device 1104) from exceeding safe speeds and accelerations. Combining accelerometer / speedometer data also provides networked device 1102 with valuable data for detection, intervention, and sending commands to drive propulsion (e.g., via management system 324 to propulsion source 322) and braking performance.

[0130] The data processor 1114 includes an image processor 1124 (eg, a video processor), a GPU and display driver 1126, a tracking module 1128, low power circuitry 1130, and high speed circuitry 1132. The components of the data processor 1114 are interconnected by a bus 1134.

[0131] Data processor 1114 also includes an interface 1136. Interface 1136 refers to any source of user commands provided to data processor 1114. In one or more examples, interface 1136 is a physical button that, when pressed, transmits a user input signal from interface 1136 to low-power processor 1138. Low-power processor 1138 can process pressing such a button and then immediately releasing it as a request to capture a single image, or vice versa. Low-power processor 1138 can process pressing such a button for a first period of time as a request to capture video data while the button is pressed and to stop video capture when the button is released, with the video captured while the button is pressed being stored as a single video file. Alternatively, pressing the button for a longer period of time can capture a still image. In other examples, interface 1136 can be any mechanical switch or physical interface capable of accepting user input associated with a data request from camera 1118. In other examples, interface 1136 can have a software component or be associated with a command received wirelessly from another source, such as client device 404.

[0132] The image processor 1124 includes circuitry for receiving signals from the camera 1118 and processing those signals from the camera 1118 into a format suitable for storage in the memory 1144 or transmission to the client device 404. In one or more examples, the image processor 1124 (e.g., a video processor) includes a microprocessor integrated circuit (IC) customized for processing sensor data from the camera 1118, and volatile memory used by the microprocessor in operation.

[0133] The low power circuitry 1130 includes a low power processor 1138 and a low power wireless circuitry 1140. These elements of the low power circuitry 1130 may be implemented as separate elements or may be implemented on a single IC as part of a single system on a chip. The low power processor 1138 includes logic for managing the other elements of the networked device 1102. As described above, for example, the low power processor 1138 may accept user input signals from the interface 1136. The low power processor 1138 may also be configured to receive input signals or instruction communications from the client device 404 via the low power wireless connection 1110. The low power wireless circuitry 1140 includes circuit elements for implementing a low power wireless communication system. Bluetooth TM Smart, also known as Bluetooth TM Low power consumption is a standard implementation of a low power wireless communication system that can be used to implement the low power wireless circuit system 1140. In other examples, other low power communication systems can be used.

[0134] High-speed circuitry 1132 includes a high-speed processor 1142, memory 1144, and high-speed wireless circuitry 1146. High-speed processor 1142 can be any processor capable of managing high-speed communications and operations of any general-purpose computing system required by data processor 1114. High-speed processor 1142 includes the processing resources required to manage high-speed data transmission over high-speed wireless connection 1112 using high-speed wireless circuitry 1146. In some examples, high-speed processor 1142 executes an operating system such as the LINUX operating system or a program such as the .NET 2 operating system. Figure 12 The high-speed processor 1142, which executes the software architecture of the data processor 1114, manages data transmission with the high-speed wireless circuit system 1146, in addition to any other responsibilities. In a specific example, the high-speed wireless circuit system 1146 is configured to implement the Institute of Electrical and Electronics Engineers (IEEE) 802.11 communication standard, which is also referred to herein as Wi-Fi. In other examples, the high-speed wireless circuit system 1146 can implement other high-speed communication standards.

[0135] The memory 1144 comprises any storage device capable of storing camera data generated by the camera 1118 and the image processor 1124. Although the memory 1144 is shown as being integrated with the high-speed circuitry 1132, in other examples, the memory 1144 may be a separate, independent element of the data processor 1114. In certain such examples, electrical wiring may provide a connection from the image processor 1124 or the low-power processor 1138 to the memory 1144 through a chip that includes the high-speed processor 1142. In other examples, the high-speed processor 1142 may manage addressing of the memory 1144 so that the low-power processor 1138 will direct the high-speed processor 1142 whenever a read or write operation involving the memory 1144 is required.

[0136] The tracking module 1128 estimates the pose of the networked device 1102. For example, the tracking module 1128 uses image data and corresponding inertial data from the camera 1118 and position component 1308 of the scooter 300, the glasses 100, or the client device 404, and GPS data to track the position and determine the pose of the networked device 1102 relative to a reference frame (e.g., a real-world environment). The tracking module 1128 continuously collects and uses updated sensor data describing the movement of the networked device 1102 to determine an updated three-dimensional pose of the networked device 1102, which indicates changes in relative position and orientation relative to physical objects in the real-world environment.

[0137] In the glasses 100 implementation of the networked device 1102, the tracking module 1128 allows for visual placement of virtual objects relative to physical objects within the user's field of view via the display 1116 by the networked device 1102. The GPU and display driver 1126 can use the pose of the networked device 1102 or the second networked device 1104 to generate frames of virtual content or other content to be presented on the display 1116 when the networked device 1102 is operating in a traditional augmented reality mode. In this mode, the GPU and display driver 1126 generate updated frames of virtual content based on the updated three-dimensional pose of the networked device 1102 and / or the second networked device 1104 that reflect changes in the user's position and orientation relative to physical objects in the user's real-world environment.

[0138] One or more functions or operations described herein may also be performed in an application resident on the networked device 1102, the second networked device 1104, or the server system 1108. For example, one or more functions or operations described herein may be performed by one of the applications 1206, such as the messaging application 1208.

[0139] Figure 1212 is a block diagram 1200 illustrating a software architecture 1202 that can be installed on any one or more of the devices described herein. The software architecture 1202 is supported by hardware, such as a machine 1210, which includes a processor 1212, memory 1214, and I / O components 1216. In this example, the software architecture 1202 can be conceptualized as a stack of layers, each of which provides specific functionality. The software architecture 1202 includes layers such as an operating system 1204, libraries 1218, frameworks 1220, and applications 1206. In operation, the applications 1206 invoke API calls 1222 through the software stack and receive messages 1224 in response to the API calls 1222.

[0140] The operating system 1204 manages hardware resources and provides common services. The operating system 1204 includes, for example, a kernel 1226, services 1228, and drivers 1230. The kernel 1226 serves as an abstraction layer between the hardware and other software layers. For example, the kernel 1226 provides functions such as memory management, processor management (e.g., scheduling), component management, networking, and security settings. Services 1228 can provide other common services to other software layers. Drivers 1230 are responsible for controlling or interfacing with the underlying hardware. For example, drivers 1230 may include display drivers, camera drivers, or Low-power drivers, Flash drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), drivers, audio drivers, power management drivers, etc.

[0141] The libraries 1218 provide a low-level common infrastructure used by the applications 1206. The libraries 1218 may include system libraries 1232 (e.g., C standard libraries) that provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. In addition, the libraries 1218 may include API libraries 1234, such as media libraries (e.g., libraries for supporting presentation and manipulation of various media formats, such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG)), graphics libraries (e.g., OpenGL framework for rendering graphical content on a display in two dimensions (2D) and three dimensions (3D), database libraries (e.g., SQLite providing various relational database functions), web libraries (e.g., WebKit providing web browsing functions), etc. The library 1218 may also include various other libraries 1236 to provide many other APIs to the application 1206 .

[0142] The framework 1220 provides a high-level common infrastructure used by the applications 1206. For example, the framework 1220 provides various graphical user interface (GUI) functions, advanced resource management, and advanced positioning services. The framework 1220 can provide a wide range of other APIs that can be used by the applications 1206, some of which may be specific to a particular operating system or platform.

[0143] In an example, the applications 1206 may include a home application 1238, a contacts application 1240, a browser application 1242, a book reader application 1244, a location application 1246, a media application 1248, a messaging application 1208, a game application 1250, and a variety of other applications such as third-party applications 1252. The applications 1206 are programs that perform functions defined in the program. Various programming languages ​​may be used to create one or more of the applications 1206 structured in various ways, such as an object-oriented programming language (e.g., Objective-C, Java, or C++) or a procedural programming language (e.g., C or assembly language). In a specific example, the third-party applications 1252 (e.g., those written by entities other than the vendor of a particular platform using ANDROID) may be used to create a third-party application 1252. TM or IOS TM Software Development Kit (SDK) can be used to develop applications on platforms such as IOS TM ANDROID TM 、 Mobile software running on the mobile operating system of the phone or another mobile operating system. In this example, the third party application 1252 can call the API call 1222 provided by the operating system 1204 to facilitate the functions described in this article.

[0144] Figure 131300 (e.g., software, programs, applications, applet, apps, or other executable code) may be executed on the machine 1300 to cause the machine 1300 to perform any one or more of the methodologies discussed herein. For example, the instructions 1310 may cause the machine 1300 to perform any one or more of the methodologies described herein. The instructions 1310 transform a general-purpose, unprogrammed machine 1300 into a specialized machine 1300 that is programmed to perform the functions described and illustrated in the manner described. The machine 1300 may operate as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1300 may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1300 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a PDA, an entertainment media system, a cellular phone, a smart phone, a mobile device, an AR wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing, sequentially or otherwise, the instructions 1310 specifying actions to be taken by the machine 1300. Furthermore, while only a single machine 1300 is shown, the term "machine" shall also be taken to include a collection of machines that individually or jointly execute the instructions 1310 to perform any one or more of the methodologies discussed herein.

[0145] The machine 1300 may include a processor 1312, a memory 1314, and an I / O component 1302 that may be configured to communicate with each other via a bus 1316. In an example, the processor 1312 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a radio frequency integrated circuit (RFIC), other processors, or any suitable combination thereof) may include, for example, a processor 1318 that executes instructions 1310 and a processor 1320. The term "processor" is intended to include a multi-core processor that may include two or more independent processors (sometimes referred to as "cores") that may execute instructions concurrently. Although Figure 13 Multiple processors 1312 are shown, but the machine 1300 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0146] The memory 1314 includes a main memory 1322, a static memory 1324, and a storage unit 1326, all of which are accessible by the processor 1312 via the bus 1316. The main memory 1314, the static memory 1324, and the storage unit 1326 store instructions 1310 that implement any one or more of the methods or functions described herein. During execution of the instructions 1310 by the networking device 1102, the instructions 1310 may also reside, in whole or in part, within the main memory 1322, within the static memory 1324, within the machine-readable medium 1328, within the storage unit 1326, within at least one of the processors 1312 (e.g., within a cache memory of the processor), or within any suitable combination thereof.

[0147] The I / O components 1302 may include various components for receiving input, providing output, generating output, sending information, exchanging information, capturing measurements, etc. The specific I / O components 1302 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone may include a touch input device or other such input mechanism, while a headless server machine may not include such a touch input device. It is understood that the I / O components 1302 may include Figure 13 Many other components are not shown in the figure. In various examples, the I / O component 1302 may include an output component 1304 and an input component 1330. The output component 1304 may include a visual component (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), an acoustic component (e.g., a speaker), a tactile component (e.g., a vibration motor, a resistance mechanism), other signal generators, etc. The input component 1330 may include an alphanumeric input component (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optical keyboard, or other alphanumeric input component), a point-based input component (e.g., a mouse, a touch pad, a trackball, a joystick, a motion sensor, or other pointing instrument), a tactile input component (e.g., a physical button, a touch screen that provides location and / or force of touch or touch gestures, or other tactile input component), an audio input component (e.g., a microphone), etc.

[0148] In another example, the I / O component 1302 may include a biometric component 1332, a motion component 1306, an environment component 1334, or a position component 1308, as well as various other components. For example, the biometric component 1332 includes components for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), etc. The motion component 1306 includes an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. The environment component 1334 includes, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects the concentration of hazardous gases for safety or measures pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The location component 1308 includes a location sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer that detects air pressure that can provide altitude), an orientation sensor component (e.g., a magnetometer), etc.

[0149] A variety of technologies can be used to implement communications. I / O component 1302 also includes a communications component 1336 that is operable to couple networked device 1102 to network 1338 or device 1340 via coupling 1342 and coupling 1344, respectively. For example, communications component 1336 may include a network interface component or another suitable device that interfaces with network 1338. In other examples, communications component 1336 may include a wired communications component, a wireless communications component, a cellular communications component, a near field communications (NFC) component, a wireless communications ... Components (e.g. Low power consumption), Device 1340 may be another machine or any of a variety of peripheral devices (eg, a peripheral device coupled via USB).

[0150] In addition, the communication component 1336 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 1336 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting the following: a one-dimensional barcode, such as a universal product code (UPC) barcode; a multi-dimensional barcode, such as a Quick Response (QR) code, an Aztec code, a data matrix, a data glyph, a MaxiCode, a PDF417, a Hypercode, a UCC RSS-2D barcode, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag). In addition, various information can be obtained via the communication component 1336, such as location via Internet Protocol (IP) geolocation, location information via Positioning via signal triangulation, positioning via detection of NFC beacon signals that can indicate a specific position, etc.

[0151] Various memories (e.g., memory 1314, main memory 1322, static memory 1324, and / or memory of processor 1312) and / or storage unit 1326 may store one or more sets of instructions and data structures (e.g., software) implemented or used by any one or more of the methods or functions described herein. These instructions (e.g., instructions 1310), when executed by processor 1312, cause various operations to implement the disclosed examples.

[0152] Instructions 1310 may be sent or received via a network interface device (e.g., a network interface component included in communications component 1336) using a transmission medium and using any of a number of well-known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)) over network 1338. Similarly, instructions 1310 may be sent or received to device 1340 via coupling 1344 (e.g., a peer-to-peer coupling) using a transmission medium.

[0153] "Carrier signal" refers to any intangible medium that can store, encode, or carry instructions for execution by a machine and includes digital or analog communication signals or other intangible media to facilitate communication of such instructions. Instructions may be sent or received over a network using a transmission medium via a network interface device.

[0154] "Client Device" refers to any machine that interfaces with a communications network to obtain resources from one or more server systems or other client devices. A client device may be, but is not limited to, a mobile phone, desktop computer, laptop computer, portable digital assistant (PDA), smartphone, tablet computer, ultrabook, netbook, laptop computer, multiprocessor system, microprocessor-based or programmable consumer electronics, game console, set-top box, or any other communications device that a user may use to access a network.

[0155] "Communications network" means one or more parts of a network, which may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a Plain Old Telephone Service (POTS) network, a cellular telephone network, a wireless network, The coupling may be a network, another type of network, or a combination of two or more such networks. For example, the network or a portion of the network may include a wireless network or a cellular network, and the coupling may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling may implement any of various types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the third generation partnership project (3GPP) including 3G, fourth generation wireless (4G) networks, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), world wide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, other data transmission technologies defined by various standards setting organizations, other long distance protocols, or other data transmission technologies.

[0156] "Component" refers to a device, physical entity or logic with boundaries defined by function or subroutine calls, branch points, APIs or other technologies provided for partitioning or modularizing specific processing or control functions. A component can be connected to other components via its interface to perform machine processing. A component can be a packaged functional hardware unit designed for use with other components, and is generally part of a program that performs a specific function of the associated function. A component can constitute a software component (e.g., a code implemented on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit that can perform certain operations and can be configured or arranged in a certain physical manner. In various examples, one or more computer systems (e.g., an independent computer system, a client computer system or a server computer system) or one or more hardware components (e.g., a processor or a processor group) of a computer system can be configured to operate to perform certain operations as described herein by software (e.g., an application or an application part). Hardware components can also be implemented mechanically, electronically or in any suitable combination thereof. For example, a hardware component can include a dedicated circuit system or logic that is permanently configured to perform certain operations. The hardware component can be a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The hardware component can also include a programmable logic or circuit system that is temporarily configured to perform certain operations by software. For example, the hardware component can include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or specific component of a machine) that is uniquely customized to perform the configured function, rather than a general-purpose processor. It will be understood that the decision to mechanically implement the hardware component in a dedicated and permanently configured circuit system or in a temporarily configured (e.g., configured by software) circuit system can be driven due to cost and time considerations. Accordingly, the phrase "hardware component" (or "hardware-implemented component") should be understood to include tangible entities, i.e., entities that are physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in some way or perform certain operations described herein. Considering an example in which a hardware component is temporarily configured (e.g., programmed), each of the hardware components does not need to be configured or instantiated at any one time. For example, in the case where a hardware component includes a general-purpose processor that is configured by software to become a special-purpose processor, the general-purpose processor can be configured into different special-purpose processors (e.g., including different hardware components) at different times. The software configures one or more specific processors accordingly, such as to constitute a specific hardware component at one time and to constitute different hardware components at different times. Hardware components can provide information to other hardware components and receive information from other hardware components. Therefore, the described hardware components can be considered to be communicatively coupled.In the case of having multiple hardware components at the same time, communication can be achieved by signal transmission (for example, by appropriate circuits and buses) between two or more hardware components or among two or more hardware components. In the example that multiple hardware components are configured or instantiated at different times, the communication between such hardware components can be achieved, for example, by storing information in a memory structure that multiple hardware components can access and retrieving information in the memory structure. For example, a hardware component can perform an operation, and the output of the operation is stored in a memory device coupled to its communication ground. Then, other hardware components can access the memory device at a subsequent time to retrieve the stored output and process it. The hardware component can also initiate communication with an input device or an output device, and can operate on resources (for example, the collection of information). The various operations of the example methods described herein can be performed at least in part by temporary configuration (for example, by software) or permanently configured to perform one or more processors of the related operations. Whether it is temporary configuration or permanent configuration, such a processor can constitute a processor-implemented component that operates to perform one or more operations or functions described herein. As used herein, "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the method described herein can be implemented at least in part by a processor, wherein specific one or more processors are examples of hardware. For example, at least some of the operation of the method can be performed by one or more processors or the parts implemented by the processor. In addition, one or more processors can also operate to support the execution of related operations in a "cloud computing" environment or operate as "software as a service" (SaaS). For example, at least some of the operation can be performed by a group of computers (as an example of a machine including a processor), wherein these operations can be accessed via a network (for example, the Internet) and via one or more appropriate interfaces (for example, API). The execution of certain operations in the operation can be distributed between processors, not only resides in a single machine, but also deployed across multiple machines. In some examples, a processor or the parts implemented by the processor can be located in a single geographic location (for example, in a home environment, an office environment or a server cluster). In other examples, a processor or the parts implemented by the processor can be distributed across multiple geographic locations.

[0157] "Computer-readable media" refers to both machine storage media and transmission media. Thus, these terms include both storage devices / media and carrier / modulated data signals. The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and are used interchangeably in this disclosure.

[0158] An "ephemeral message" is a message that can be accessed for a limited duration. An ephemeral message can be text, an image, a video, or the like. The access period for an ephemeral message can be set by the sender. Alternatively, the access period can be a default setting or a setting specified by the recipient. Regardless of the setting technique, the message is ephemeral.

[0159] “Machine storage medium” refers to a single or multiple storage devices and / or media (e.g., a centralized or distributed database, and / or associated caches and servers) that store executable instructions, routines, and / or data. Thus, the term should be taken to include, but is not limited to, solid-state memory and optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media, and / or device storage media include: non-volatile memory, including, for example, semiconductor memory devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGAs, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms “machine storage medium,” “device storage medium,” and “computer storage medium” mean the same thing and may be used interchangeably in this disclosure. The terms “machine storage medium,” “computer storage medium,” and “device storage medium” expressly exclude carrier waves, modulated data signals, and other such media, at least some of which are encompassed by the term “signal media.”

[0160] A "processor" refers to any circuit or virtual circuit (a physical circuit emulated by logic executed on an actual processor) that manipulates data values ​​according to control signals (e.g., "commands," "opcodes," "machine code," etc.) and produces corresponding output signals that are applied to operate a machine. For example, a processor may be a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), or any combination thereof. A processor may also be a multi-core processor having two or more independent processors (sometimes referred to as "cores") that can execute instructions simultaneously.

[0161] "Signal medium" refers to any intangible medium that can store, encode, or carry instructions for execution by a machine, and includes digital or analog communication signals or other intangible media to facilitate the communication of software or data. The term "signal medium" should be construed to include any form of modulated data signal, carrier wave, etc. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. The terms "transmission medium" and "signal medium" mean the same thing and may be used interchangeably in this disclosure.

[0162] Changes and modifications may be made to the disclosed examples without departing from the scope of the present disclosure. These and other changes or modifications are intended to be included within the scope of the present disclosure as expressed in the following claims.

[0163] "Carrier signal" refers to any intangible medium that can store, encode, or carry instructions for execution by a machine and includes digital or analog communication signals or other intangible media to facilitate communication of such instructions. Instructions may be sent or received over a network using a transmission medium via a network interface device.

[0164] "Client Device" refers to any machine that interfaces with a communications network to obtain resources from one or more server systems or other client devices. A client device may be, but is not limited to, a mobile phone, desktop computer, laptop computer, portable digital assistant (PDA), smartphone, tablet computer, ultrabook, netbook, laptop computer, multiprocessor system, microprocessor-based or programmable consumer electronics, game console, set-top box, or any other communications device that a user may use to access a network.

[0165] "Communications network" means one or more parts of a network, which may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a Plain Old Telephone Service (POTS) network, a cellular telephone network, a wireless network, The coupling may be a network, another type of network, or a combination of two or more such networks. For example, the network or a portion of the network may include a wireless network or a cellular network, and the coupling may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling may implement any of various types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the third generation partnership project (3GPP) including 3G, fourth generation wireless (4G) networks, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), world wide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, other data transmission technologies defined by various standards setting organizations, other long distance protocols, or other data transmission technologies.

[0166] "Component" refers to a device, physical entity or logic with boundaries defined by function or subroutine calls, branch points, APIs or other technologies provided for partitioning or modularizing specific processing or control functions. A component can be connected to other components via its interface to perform machine processing. A component can be a packaged functional hardware unit designed for use with other components, and is generally part of a program that performs a specific function of the associated function. A component can constitute a software component (e.g., a code implemented on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit that can perform certain operations and can be configured or arranged in a certain physical manner. In various examples, one or more computer systems (e.g., an independent computer system, a client computer system or a server computer system) or one or more hardware components (e.g., a processor or a processor group) of a computer system can be configured to operate to perform certain operations as described herein by software (e.g., an application or an application part). Hardware components can also be implemented mechanically, electronically or in any suitable combination thereof. For example, a hardware component can include a dedicated circuit system or logic that is permanently configured to perform certain operations. The hardware component can be a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The hardware component can also include a programmable logic or circuit system that is temporarily configured to perform certain operations by software. For example, the hardware component can include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or specific component of a machine) that is uniquely customized to perform the configured function, rather than a general-purpose processor. It will be understood that the decision to mechanically implement the hardware component in a dedicated and permanently configured circuit system or in a temporarily configured (e.g., configured by software) circuit system can be driven due to cost and time considerations. Accordingly, the phrase "hardware component" (or "hardware-implemented component") should be understood to include tangible entities, i.e., entities that are physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in some way or perform certain operations described herein. Considering an example in which a hardware component is temporarily configured (e.g., programmed), each of the hardware components does not need to be configured or instantiated at any one time. For example, in the case where a hardware component includes a general-purpose processor that is configured by software to become a special-purpose processor, the general-purpose processor can be configured into different special-purpose processors (e.g., including different hardware components) at different times. The software configures one or more specific processors accordingly, such as to constitute a specific hardware component at one time and to constitute different hardware components at different times. Hardware components can provide information to other hardware components and receive information from other hardware components. Therefore, the described hardware components can be considered to be communicatively coupled.In the case of having multiple hardware components at the same time, communication can be achieved by signal transmission (for example, by appropriate circuits and buses) between two or more hardware components or among two or more hardware components. In the example that multiple hardware components are configured or instantiated at different times, the communication between such hardware components can be achieved, for example, by storing information in a memory structure that multiple hardware components can access and retrieving information in the memory structure. For example, a hardware component can perform an operation, and the output of the operation is stored in a memory device coupled to its communication ground. Then, other hardware components can access the memory device at a subsequent time to retrieve the stored output and process it. The hardware component can also initiate communication with an input device or an output device, and can operate on resources (for example, the collection of information). The various operations of the example methods described herein can be performed at least in part by temporary configuration (for example, by software) or permanently configured to perform one or more processors of the related operations. Whether it is temporary configuration or permanent configuration, such a processor can constitute a processor-implemented component that operates to perform one or more operations or functions described herein. As used herein, "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the method described herein can be implemented at least in part by a processor, wherein specific one or more processors are examples of hardware. For example, at least some of the operation of the method can be performed by one or more processors or the parts implemented by the processor. In addition, one or more processors can also operate to support the execution of related operations in a "cloud computing" environment or operate as "software as a service" (SaaS). For example, at least some of the operation can be performed by a group of computers (as an example of a machine including a processor), wherein these operations can be accessed via a network (for example, the Internet) and via one or more appropriate interfaces (for example, API). The execution of certain operations in the operation can be distributed between processors, not only resides in a single machine, but also deployed across multiple machines. In some examples, a processor or the parts implemented by the processor can be located in a single geographic location (for example, in a home environment, an office environment or a server cluster). In other examples, a processor or the parts implemented by the processor can be distributed across multiple geographic locations.

[0167] "Computer-readable media" refers to both machine storage media and transmission media. Thus, these terms include both storage devices / media and carrier / modulated data signals. The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and are used interchangeably in this disclosure.

[0168] An "ephemeral message" is a message that can be accessed for a limited duration. An ephemeral message can be text, an image, a video, or the like. The access period for an ephemeral message can be set by the sender. Alternatively, the access period can be a default setting or a setting specified by the recipient. Regardless of the setting technique, the message is ephemeral.

[0169] “Machine storage medium” refers to a single or multiple storage devices and / or media (e.g., a centralized or distributed database, and / or associated caches and servers) that store executable instructions, routines, and / or data. Thus, the term should be taken to include, but is not limited to, solid-state memory and optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media, and / or device storage media include: non-volatile memory, including, for example, semiconductor memory devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGAs, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms “machine storage medium,” “device storage medium,” and “computer storage medium” mean the same thing and may be used interchangeably in this disclosure. The terms “machine storage medium,” “computer storage medium,” and “device storage medium” expressly exclude carrier waves, modulated data signals, and other such media, at least some of which are encompassed by the term “signal media.”

[0170] A "processor" refers to any circuit or virtual circuit (a physical circuit emulated by logic executed on an actual processor) that manipulates data values ​​according to control signals (e.g., "commands," "opcodes," "machine code," etc.) and produces corresponding output signals that are applied to operate a machine. For example, a processor may be a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), or any combination thereof. A processor may also be a multi-core processor having two or more independent processors (sometimes referred to as "cores") that can execute instructions simultaneously.

[0171] "Signal medium" refers to any intangible medium that can store, encode, or carry instructions for execution by a machine, and includes digital or analog communication signals or other intangible media to facilitate the communication of software or data. The term "signal medium" should be construed to include any form of modulated data signal, carrier wave, etc. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. The terms "transmission medium" and "signal medium" mean the same thing and may be used interchangeably in this disclosure.

[0172] Changes and modifications may be made to the disclosed examples without departing from the scope of the present disclosure. These and other changes or modifications are intended to be included within the scope of the present disclosure as expressed in the following claims.

Claims

1. A method, executed by one or more computer processors, for positioning a personal mobility system using an augmented reality device, the method comprising: receiving location data corresponding to a position of the personal mobility system; determining a relative position between the augmented reality device and the location of the personal mobility system; causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system, wherein the augmented reality effect comprises a graphical representation of the personal mobility system, the graphical representation displayed by the augmented reality device in a direction to the location of the personal mobility system; receiving user input selecting the graphical representation of the personal mobility system; in response to receiving user input selecting the graphical representation, sending a request to reserve the personal mobility system; receiving confirmation of the reservation for the personal mobility system; and The color of the graphical representation is changed to reflect a predetermined status of the personal mobility system.

2. The method according to claim 1, wherein The color of the augmented reality effect changes based on the distance to the personal mobility system.

3. The method according to claim 1, wherein If the direction to the location of the personal mobility system is outside the field of view of the augmented reality device, the augmented reality effect provides a directional cue.

4. The method according to claim 1, wherein Use short-range radio frequency transmissions to identify potentially available personal mobility systems.

5. The method according to claim 4, further comprising: receiving data indicating that some of the potentially available personal mobility systems are unavailable; as well as Some of the potentially available personal mobility systems are removed for illustration purposes.

6. A method, executed by one or more computer processors, for localizing a personal mobility system using an augmented reality device, the method comprising: receiving location data corresponding to a position of the personal mobility system; determining a relative position between the augmented reality device and the location of the personal mobility system; causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system, wherein the augmented reality effect comprises a graphical representation of the personal mobility system, the graphical representation displayed by the augmented reality device in a direction to the location of the personal mobility system; receiving user input selecting the graphical representation of the personal mobility system; in response to receiving user input selecting the graphical representation, sending a request to reserve the personal mobility system; detecting the personal mobility system in a video feed from a camera using object detection techniques; and An AR effect is applied and displayed around or over the graphical representation of the personal mobile system in the video feed.

7. A computing device for positioning a personal mobility system using an augmented reality device, the computing device comprising: one or more computer processors; as well as one or more memories storing instructions that, when executed by the one or more computer processors, configure the computing device to perform operations comprising: receiving location data corresponding to a location of the personal mobile system; determining a relative position between the augmented reality device and the location of the personal mobility system; causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system, wherein the augmented reality effect comprises a graphical representation of the personal mobility system, the graphical representation displayed by the augmented reality device in a direction to the location of the personal mobility system; receiving user input selecting the graphical representation of the personal mobility system; in response to receiving user input selecting the graphical representation, sending a request to reserve the personal mobility system; receiving confirmation of the reservation for the personal mobility system; and The color of the graphical representation is changed to reflect a predetermined status of the personal mobility system.

8. The computing device according to claim 7, wherein: The color of the augmented reality effect changes based on the distance to the personal mobility system.

9. The computing device according to claim 7, wherein: If the direction to the location of the personal mobility system is outside the field of view of the augmented reality device, the augmented reality effect provides a directional cue.

10. The computing device according to claim 7, wherein: Use short-range radio frequency transmissions to identify potentially available personal mobility systems.

11. The computing device according to claim 10, wherein: The operations further include: receiving data indicating that some of the potentially available personal mobility systems are unavailable; and Some of the potentially available personal mobility systems are removed for illustration purposes.

12. A computing device for positioning a personal mobility system using an augmented reality device, the computing device comprising: one or more computer processors; as well as one or more memories storing instructions that, when executed by the one or more computer processors, configure the computing device to perform operations comprising: receiving location data corresponding to a location of the personal mobile system; determining a relative position between the augmented reality device and the location of the personal mobility system; causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system, wherein the augmented reality effect comprises a graphical representation of the personal mobility system, the graphical representation displayed by the augmented reality device in a direction to the location of the personal mobility system; receiving user input selecting the graphical representation of the personal mobility system; in response to receiving user input selecting the graphical representation, sending a request to reserve the personal mobility system; detecting the personal mobility system in a video feed from a camera using object detection techniques; and An AR effect is applied and displayed around or over the graphical representation of the personal mobile system in the video feed.

13. A non-transitory computer-readable storage medium comprising instructions that, when executed by one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations for positioning a personal mobility system using an augmented reality device, the operations comprising: receiving location data corresponding to a location of the personal mobile system; determining a relative position between the augmented reality device and the location of the personal mobility system; as well as causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system, wherein the augmented reality effect comprises a graphical representation of the personal mobility system, the graphical representation displayed by the augmented reality device in a direction to the location of the personal mobility system; receiving user input selecting the graphical representation of the personal mobility system; in response to receiving user input selecting the graphical representation, sending a request to reserve the personal mobility system; detecting the personal mobility system in a video feed from a camera using object detection techniques; and An AR effect is applied and displayed around or over the graphical representation of the personal mobile system in the video feed.

14. The non-transitory computer-readable storage medium of claim 13, wherein: The color of the augmented reality effect changes based on the distance to the personal mobility system.

15. The non-transitory computer-readable storage medium of claim 13, wherein: Use short-range radio frequency transmissions to identify potentially available personal mobility systems.

16. The non-transitory computer-readable storage medium of claim 15, wherein: The operations further include: receiving data indicating that some of the potentially available personal mobility systems are unavailable; and Some of the potentially available personal mobility systems are removed for illustration purposes.

17. A non-transitory computer-readable storage medium comprising instructions that, when executed by one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations for positioning a personal mobility system using an augmented reality device, the operations comprising: receiving location data corresponding to a location of the personal mobile system; determining a relative position between the augmented reality device and the location of the personal mobility system; as well as causing the augmented reality device to display an augmented reality effect based on the relative position between the augmented reality device and the location of the personal mobility system, wherein the augmented reality effect comprises a graphical representation of the personal mobility system, the graphical representation displayed by the augmented reality device in a direction to the location of the personal mobility system; receiving user input selecting the graphical representation of the personal mobility system; in response to receiving user input selecting the graphical representation, sending a request to reserve the personal mobility system; receiving confirmation of the reservation for the personal mobility system; and The color of the graphical representation is changed to reflect a predetermined status of the personal mobility system.

Citation Information

Patent Citations

  • Augmented reality personalization

    US20130147837A1

  • Localizing transportation requests utilizing an image based transportation request interface

    US20200363216A1