The present disclosure relates generally to control systems, and in particular apparatus, methods, and systems for controlling flights of Unmanned Aerial Systems (UAS) as well as onboard-piloted aircraft. Some embodiments disclose a controller that includes an interface for controlling the thrust of control targets such as flying objects. The controller may also have a feedback system configured to alert pilots of obstacles that a flying object senses on its flying path.
The present disclosure describes embodiments of a control system that allows a user to control the motion of a control target in or along one or more degrees of freedom (DoF) using a single controller. For example, a unified hand controller may allow a user to control the motion of a target in one or more DoFs, the one or more DoFs including three rotational DoFs (e.g., pitch, yaw, and roll) and three translational DoFs (e.g., movements along x, y and z axes). For instance, a unified hand controller may allow a user to control the motion of a target in three rotational DoFs (e.g., pitch, yaw, and roll) and one translational DoF (e.g., movements along z axis). The control system may also be configured to allow a user to control the movements of a control target in virtual settings, such as but not limited to gaming environments. In some embodiments, the control system may also allow a user to receive feedback from the control target based on sensory inputs or measurements procured by the control target, whether in real or virtual environments.
With reference to
The signal conversion system 104 in the control system 100 includes a transceiver 104a that may couple to the transceiver 108d in the controller 102 through a wired connection, a wireless connection, and/or a variety of other connections. A conversion processor 104b is coupled to the transceiver 104a, a control module 104c, and configuration parameters 104d that may be included on a memory, a storage device, and/or other computer-readable mediums. In an embodiment, the conversion processor 104b may be a central processing unit, a programmable logic controller, and/or a variety of other processors. In some implementations, there may exist connections and/or couplings (e.g., wired or wireless) between the transceiver 104a, the conversion processor 104b, the control module 104c, and the configuration parameters 104d. The control module 104c may be coupled to the control target 106 through a wired connection, a wireless connection, and/or a variety of other connections.
In an embodiment, the controller 102 is configured to receive input from a user through one of more of the multiple control members 102a-102n and transmit a signal based on the input. For example, the controller 102 may be provided as a “joystick” or a control stick configured for navigating in a virtual environment (e.g., in a video game, on a real-world simulator, in a virtual reality environment, in an augmented reality environment, as part of a remote control virtual/real-world control system, and/or in a variety of other virtual environments). In another example, the controller 102 may be provided as a control stick for controlling a vehicle, which may be manned or unmanned, such as but not limited to an aircraft, a submersible, a spacecraft, a watercraft, and/or the like. That is, the controller 102 may be provided as a control stick for controlling flying objects such as but not limited to unmanned or remotely-piloted vehicles (e.g., “drones”); manned, unmanned, or remotely-piloted vehicles and land-craft; manned, unmanned, or remotely-piloted aircraft (e.g., fixed-wing aircraft); manned, unmanned, or remotely-piloted watercraft; manned, unmanned, or remotely-piloted submersibles; manned, unmanned, or remotely-piloted space vehicles, rocketry, satellites, and/or the like. In some implementations, the controller 102 may be provided as a control stick for controlling an electric crewed aerial vehicle, such as, for example, a piloted multirotor drone, often known as an electric-Vertical Takeoff and Land (e-VTOL) aircraft. In another example, the controller 102 may be provided as a control stick for controlling a robot or other non-vehicle device (e.g., a surgical device, an assembly device, and/or the like).
Rotational inputs using the first control member 102a may be detected and/or measured using the rotational module 108b. For example, the rotational module 108b may include displacement detectors for detecting the displacement of the first control member 102a from a starting position as one or more of the pitch inputs, yaw inputs, and roll inputs discussed above. Displacement detectors may include photo detectors for detecting light beams, rotary and/or linear potentiometers, inductively coupled coils, physical actuators, gyroscopes, switches, transducers, and/or a variety of other displacement detectors. In some embodiments, the rotational module 108b may include accelerometers for detecting the displacement of the first control member 102a from a starting position in space. For example, the accelerometers may each measure the proper acceleration of the first control member 102a with respect to an inertial frame of reference.
In some embodiments, inputs using the first control member 102a may be detected and/or measured using breakout switches, transducers, and/or direct switches for each of the three ranges of motion (e.g., front to back, side to side, and rotation about a longitudinal axis) of the first control member 102a. For example, breakout switches may be used to detect when the first control member 102a is initially moved (e.g., by an angular displacement in the range from about 0.5 degree to about 5 degrees, from about 1 degree to about 3 degrees, about 2 degrees, including values and subranges therebetween) from a null position for each range of rotation; transducers may provide a signal that is proportional to the displacement of the first control member 102a for each range of motion, and direct switches may detect when the first control member 102a is further moved (e.g., by an angular displacement in the range from about 10 degrees to about 15 degrees, from about 11 degree to about 13 degrees, about 12 degrees, including values and subranges therebetween) from the null position for each range of motion. The breakout switches and direct switches may also allow for acceleration of the first control member 102a to be detected. In an embodiment, redundant detectors and/or switches may be provided in the controller 102 to ensure that the control system 100 is fault tolerant.
Translational inputs using the second control member 102b may be detected and/or measured using the translational module 108c. For example, the translational module 108c may include translational detectors for detecting the displacement of the second control member 102b from a starting position as the z-axis (i.e., vertical motion) inputs discussed above. As an example illustration, the second control member 102b can be a wheel (e.g., knurled wheel) as discussed with reference to
In an embodiment, the controller processor 108a of the controller 102 is configured to generate control signals to be transmitted by the transceiver 108d. As discussed above, the controller processor 108a may be configured to generate a control signal based on one or more rotational inputs detected and/or measured by the rotational module 108b and/or one or more translational inputs detected and/or measured by the translational module 108c. Those control signal generated by the controller processor 108a may include parameters defining movement output signals for one or more of 4-DOF (i.e., pitch, yaw, roll, movement along a z-axis). In several embodiments, a discrete control signal type (e.g., yaw output signals, pitch output signals, roll output signals, and z-axis movement output signals) is produced for each discrete predefined movement (e.g., first control member 102a movement for providing pitch input, first control member 102a movement for providing yaw input, first control member 102a movement for providing roll input, and second control member 102b movement for providing z-axis input) that produces that discrete control signal. Beyond 4-DOF control, discrete features such as ON/OFF, trim, and other multi-function commands may be transmitted to the control target 106. Conversely, data or feedback may be received on the controller 102 (e.g., an indicator such as an LED may be illuminated green to indicate the controller 102 is on).
In an embodiment, the transceiver 108d of the controller 102 is configured to transmit the control signal through a wired or wireless connection. For example, the control signal may be one or more of a radio frequency (“RF”) signal, an infrared (“IR”) signal, a visible light signal, and/or a variety of other control signals. In some embodiments, the transceiver 108d may be a BLUETOOTH® transmitter configured to transmit the control signal as an RF signal according to the BLUETOOTH® protocol.
In an embodiment, the transceiver 104a of the signal conversion system 104 is configured to receive the control signal transmitted by the transceiver 108d of the controller 102 through a wired or wireless connection, discussed above, and provide the received control signal to the conversion processor 104b of the signal conversion system 104. In some implementations, the transceiver 108d can be configured to receive signals (for example, from the transceiver 104a).
In an embodiment, the conversion processor 104b is configured to process the control signals received from the controller 102. For example, the conversion processor 104b may be coupled to a computer-readable medium including instructions that, when executed by the conversion processor 104b, cause the conversion processor 104b to provide a control program that is configured to convert the control signal into movement commands and use the control module 104c of the signal conversion system 104 to control the control target 106 according to the movement commands. In an embodiment, the conversion processor 104b may convert the control signal into movement commands for a virtual three-dimensional (“3D”) environment (e.g., a virtual representation of surgical patient, a video game, a simulator, a virtual reality (VR) environment, an augmented virtual reality (AVR environment), and/or a variety of other virtual 3D environments). Thus, the control target 106 may exist in a virtual space, and the user may be provided a point of view or a virtual representation of the virtual environment from a point of view inside the control target (i.e., the control system 100 may include a display that provides the user a point of view from the control target in the virtual environment). In another example, the control target 106 may be a physical device such as a robot, an end effector, a surgical tool, a lifting system, etc., and/or a variety of steerable mechanical devices, including, without limitation, vehicles such as unmanned or remotely-piloted vehicles (e.g., “drones”); manned, unmanned, or remotely-piloted vehicles and land-craft; manned, unmanned, or remotely-piloted aircraft (e.g., fixed-winged aircraft); manned, unmanned, or remotely-piloted watercraft; manned, unmanned, or remotely-piloted submersibles; as well as manned, unmanned, or remotely-piloted space vehicles, rocketry, satellites, and such like.
In an embodiment, the control module 104c of the signal conversion system 104 is configured to control movement of the control target 106 based on the movement commands provided from the control program in signal conversion system 104. In some embodiments, if the control target 106 is in a virtual environment, the control module 104c may include an application programming interface (API) for moving a virtual representation or point of view within the virtual environment. API's may also provide the control module 104c with feedback from the virtual environment such as, for example, collision feedback. In some embodiments, feedback from the control target 106 may allow the control module 104c to automatically adjust the movement of the control target to, for example, avoid a collision with a designated region (e.g., objects in a real or virtual environment, critical regions of a real or virtual patient, etc.). In other embodiments, if the control target 106 is a physical device, the control module 104c may include one or more controllers for controlling the movement of the physical device. For example, the signal conversion system 104 may be installed on-board a vehicle, and the control module 104c may include a variety of physical controllers for controlling various propulsion and/or steering mechanisms of the vehicle.
In an embodiment, the signal conversion system 104 includes operating parameters 104d for use by the conversion processor 104b when generating movement commands using the signals from the controller 102. Operating parameters may include, but are not limited to, gains (i.e., sensitivity), rates of onset (i.e., lag), deadbands (i.e., neutral), limits (i.e., maximum angular displacement), and/or the like. In an embodiment, the gains of the first control member 102a and the second control member 102b may be independently defined by a user. In this example, the second control member 102b may have increased sensitivity compared to the first control member 102a to compensate, for example, for the second control member 102b having a smaller range of motion that the first control member 102a. Similarly, the rates of onset for the first control member 102a and the second control member 102b may be defined independently to determine the amount of time that should pass (i.e., lag) before a repositioning of the first control member 102a and the second control member 102b should be converted to actual movement of the control target 106. The limits and deadbands of the first control member 102a and the second control member 102b may be independently defined as well by calibrating the neutral and maximal positions of each.
In an embodiment, operating parameters may also define how signals sent from the controller 102 in response to the different movements of the first control member 102a and the second control member 102b are translated into movement commands that are sent to the control target. As discussed above, particular movements of the first control member 102a may produce pitch, yaw, and roll rotational movement output signals, while particular movements of the second control member 102b may produce z-axis (i.e., vertical) translational movement output signals. In an embodiment, the operating parameters may define which movement commands are sent to the control target 106 in response to movements and resulting movement output signals from the first control member 102a and second control member 102b.
In some embodiments, the operating parameters 104d may be received from an external computing device (not shown) operated by the user. For example, the external computing device may be preconfigured with software for interfacing with the controller 102 and/or the signal conversion system 104. In other embodiments, the operating parameters 104d may be input directly by a user using a display screen included with the controller 102 or the signal conversion system 104. For example, the first control member 102a and/or second control member 102b may be used to navigate a configuration menu for defining the operating parameters 104d.
With reference to
In some embodiments, the control stick 202a includes a wheel 202b (e.g., knurled wheel) as one of the multiple control members 202b-202n. For example, the wheel 202b can be the second control member 102b that is configured to be rotated by the user of the controller 202 about or with respect to the axis “D” (
As a non-limiting illustrative example, with reference to
In some implementations, the responsiveness of the second control member 102b to an applied force by a user may be regulated by another control member (e.g., one or more of the control members 102c-102n). For example, the responsiveness of the wheel 202b to the amount of force applied on the wheel 202b when changing the throttle setting of the wheel 202b may be regulated by a tension tuner 202c that is configured to vary the friction experienced by the wheel 202b as the wheel 202b rotates under the influence of the force. That is, the throttle setting of the wheel 202b may be adjusted by the tension tuner 202c. As such, the amount of force one may have to apply to the wheel 202b to produce a given amount of control target speed may be varied using the tension tuner 202c. For example, the tension tuner 202c may have a range of settings (values or modes, for example), and when the tension tuner 202c is set at different values or modes, a user may have to apply different amounts of force to the wheel 202b to produce same control target speed.
In some embodiments, the controller 102 may include a safety mechanism 202d configured to prevent the unintended rotation of the wheel 202b, and as such unintended change in the throttle setting of the wheel 202b, which may correspond to unintended change in mobility state of the control target 205. For example, the safety mechanism 202d can be one of the multiple control members 102a-102n and may be configured to prevent the wheel 202b from rotating along the line E (i.e., about or with respect to the axis “D”) (even when force is applied by the user, for example) unless the safety mechanism is deactivated (e.g., a preceding or concurrent action is taken with respect to the safety mechanism 202d). For instance, the safety mechanism 202d may include a ball plunger that would have to be depressed for the safety mechanism 202d to allow the wheel 202b to rotate when a force is applied on the wheel 202b by the user. In some implementations, no throttle setting of the wheel 202b may be changed unless the safety mechanism 102d is deactivated. In other implementations, a first set of throttle settings of the wheel 202b may not be changed to a second set of throttle settings unless the safety mechanism 202d is deactivated, while other changes can occur without deactivating the safety mechanism 202d. For instance, the safety mechanism 202d may be configured such that a throttle setting change from “idle” to “off” may not be allowed unless the safety mechanism 202d is deactivated (e.g., the ball plunger is depressed), preventing unintended rotation of the wheel 202b, and consequently unintended change in the mobility state of the control target 106 from “idle” to “off” as well.
In some embodiments, the multiple control members 102a-102n include, in addition to the control stick 202a, the wheel 202b, the tension tuner 202c and/or the safety mechanism 202d, other control members configured to allow a user provide inputs to the controller 202, and cause the controller processor 108a to generate output signals for transmission to the control target 205. In some implementations, the other control members may also be configured to receive data from the control target 205 and/or external devices (not shown) and display the data (or representation thereof) at a user interface (not shown) of the controller 202. For example, the other control members may include a radio communications interface (e.g., push-to-talk radio button), a control member for steering the nose wheel of the control target 205, a control member for reversing thrust, and/or the like.
As another example, the other control members may include a trim control 202e configured to allow a user input settings for the DoFs of the control target 205 controlled by the controller 202. For example, the trim control 202e may be configured to allow a user input command settings for one or more of the three rotational DoFs of the control target 205, i.e., one or more of the pitch, the yaw, and the roll of the control target 205. In some implementations, the trim control 202e may be configured to allow a user input command settings for the one translational DoF of the control target 205 (e.g., movement along z axis). For instance, the trim control 202e may be in the form of trim buttons that allow a user input command settings (e.g., rotational parameters for the pitch, yaw and/or roll of the control target 205) for the control target to be guided by during its motion. The trim control 202e (e.g., the set of trim buttons for the pitch, yaw and/or roll) may be configured to be separable from the control stick 202a. For example, the control stick 202a may include a button (e.g., a push button) configured to cause the release or decoupling of the trim control 202e from the control stick 202a when engaged (e.g., pushed).
In some embodiments, the control target 205 may be powered by multiple power sources, and the controller 202 may be configured to allow a user to control the motion of a control target 205 in the one or more DoFs (e.g., the three rotational DoFs (e.g., pitch, yaw, and roll) and one translational DoF (e.g., longitudinal movement along the x axis such as thrust for a fixed-wing aircraft)) by controlling the individual power sources separately as discussed throughout the instant specification. For example, the control target 205 may be a multi-engine flying object, and the control stick 202a may include multiple wheels 204 where each wheel of the multiple wheels 204 is configured for controlling one engine of the multi-engine control target 205 (e.g., a multi-engine commercial jet aircraft, such as a B737 or the like). With each wheel of the multiple wheels 204 configured to control an engine of the multi-engine control target 205, one of the wheels can be manipulated to shut down one of the engines while the other wheel can be manipulated to control the other engine. In such examples, the safety mechanism 206 may also include at least as many safety mechanism elements as the number of wheels of the multiple wheels 204, and each safety mechanism element may be configured to prevent the unintended rotation of the respective wheel of the multiple wheels 204. In some implementations, the safety mechanism 206 can be configured to prevent abrupt shutoff of a motor, engine, rotor, and/or the like associated with the control target. More specifically, the safety mechanism 206 can prevent one or more wheels 204 from moving from an “idle” position to an “off” position when the safety mechanism 206 is engaged, and allow movement from the “idle” position to the “off” position when the safety mechanism 206 is disengaged. In this manner, at least two actions are required to transition from “idle” to “off” including disengagement of the safety mechanism 206 and manipulation of the one or more wheels 204. In some implementations, the multiple wheels 204 may be synchronized with each other such that when a user of the controller 202 applies a force on one of the multiple wheels 204 to cause that multiple wheel to rotate, the other(s) of the multiple wheels 204 may also rotate in a substantially similar manner as that multiple wheel. In other implementations, the multiple wheels 204 may not be synchronized and a user may engage the multiple wheels 204 separately to control the multiple power sources of the control target 205 separately. For instance, a user may use one of the multiple wheels 204 to idle or shut down one engine of the multi-engine control target 205 (e.g., by aligning the throttle setting “idle” or “off” of that one wheel with the indicator 212 of the controller 202, respectively) while the other engine is operating. The synchronization, or lack thereof, of the multiple wheels 204 may be controlled by a synchronicity control element (e.g., a tab) (not shown) that is located on the controller 202 and configured to allow a substantially precise adjustment of the throttle settings of the multiple wheels 204 with one hand of a user while the other hand is placed on the control stick 202a.
In some embodiments, with reference to
In some embodiments, a resilient member such as, for example, a spring, may be positioned between the first control member 202a and the base 208 in order to provide resilient movement up or down along the longitudinal axis of the first control member 202a. In some embodiments, such movement up or down along the longitudinal axis of the first control member relative to the base 208 may be configured to generate Z-axis movement (up or down, vertical movement) of the control target. In some embodiments, movement forward or aft relative to the longitudinal axis of the first control member relative to the base 208 may be configured to generate X-axis movement (forward or aft, longitudinal movement) of the control target (e.g., a fixed-wing aircraft).
In some embodiments, with reference to
Furthermore, in an alternate embodiment in which the gimbal can be locked or blocked from rotation about one axis to allow only for rotation about one axis, the detents for generating force feedback for rotation about the locked or blocked axis could be omitted.
The gimbal can be comprised of two members: a first member 232 that remains fixed with respect to base 236 and a second member 228 that is constrained by the first member 232 to rotate about a single axis or to rotate about each of two orthogonal axes, and to otherwise restrict relative rotation of the first and second members 232, 228 around any other axis. A post 222 is coupled to the second member 228 to pivot about each of the two orthogonal axes. If the second member 228 is restricted to rotate only about one of the two orthogonal axes, the post 222 is coupled with the second member 228 so that it is can pivot about the second axis without rotating the second member 228.
In this particular implementation, which is intended to be representative, a ball (i.e., the second member) 228 is mounted within a socket (i.e., the first member) 232. An extension 234 of the post 222 fits within a complementary opening formed in the ball 228 so that angular displacement or pivoting of the post 222 also rotates the ball 228. In this example, the ball 228 is retained within the socket 232 so that it can freely rotate within the socket 232 in two DoFs, about each of two axes that are mutually orthogonal to each other, with one of the two axes remaining fixed relative to the base 236 of the gimbal mount 230. It may, optionally, be permitted to rotate about a third mutually orthogonal axis extending through the post 222. The base 236 is representative of a structure for mounting the gimbal on to the base 208, against which the first control member 202a may react.
A cap 238 that is connected with the post 222 extends over a spherically-shaped outer surface of the socket 232 and has a complementary, spherical inner surface. Pivoting of the post 222 moves the cap relative to the socket.
Although an inner surface of socket 232 can complement and support rotation of the ball 228, the ball 228 can, in alternative embodiments, be supported for rotation about one or both mutually orthogonal axes of rotation in other ways and by other means, including by one or more shafts or axles that support rotation of the ball 228 relative to the socket 232. In such an alternative embodiment, the ball 228 and inside surfaces of the socket 232 need not be spherical or complementary.
In some embodiments, the controller 202 can be configured to control a crewed aerial vehicle with distributed electric propulsion (with electrical power supplied by a battery and/or hybrid system), such as, for example, a piloted multirotor drone, with or without wings to generate additional lift. In such embodiments, the first control member 202a can include a spring-centered mechanism, as described in further detail herein, thereby providing translational control (e.g., subtle translation) along the X, Y, and Z axis, as well as rotational control (e.g., yaw), as described in various embodiments herein. Further, in some implementations, the wheels 204 can each control a separate thrust component (e.g., a pusher prop behind the piloted multirotor drone). For example, one thrust component can provide for levitation and orientation, and a second thrust component can provide for speed (e.g., a “go fast”) control, e.g., once safe cruise altitude is achieved.
With reference to
In some implementations, to avoid collisions with the sensed objects or obstacles 304, the control target 306 may provide feedback to the controller 302 controlling the control target 306 regarding the presence and status of the sensed objects or obstacles 304. The detectors and/or other communication system operatively coupled to the control target 306 may transmit data to the controller 302 (e.g., to the transceiver 104a of the controller 302), the data including sensed object information such as but not limited to the distance of the sensed object 304 from the control target 306, the angular displacement of the sensed object 304 from the control target 306, the velocity of the sensed object 304 if the sensed object is in motion, and/or the like.
In some embodiments, the controller 302 may include a control module (not shown) (e.g., such as the control module 104c) configured to analyze the received data and generate signals configured to trigger, based on the result of the analysis, user feedback systems located within the controller 302. For example, the received data may include successive data including location information of a sensed object 304, and the analysis may determine the speed and direction of a sensed object or obstacle 304 approaching the control target 306. As another example, the received data may already include the information related to the speed and direction of the approach of the sensed object or obstacle 304. In such examples, the control module may trigger a feedback system of the controller 302 in a manner that informs the user of the controller 302 the direction (e.g., from the perspective of the control target 306) at which the sensed object or obstacle 304 is located or from which the sensed object or obstacle 304 is approaching, and/or the rate at which the sensed object or obstacle 304 is approaching the control target 306.
The manner in which the feedback system informs the user of the controller 302 information related to objects or obstacles 304 sensed by the control target 306 can depend on the feedback elements of the controller 302. In some implementations, the feedback may be in the form of haptic feedback, and the feedback elements of the controller 302 can be one or more vibration haptic motors 308a-308n located or positioned on or within the controller 302 (e.g., two, three, four, five, six, seven, eight, etc., vibration haptic motors 308a-308n). In such implementations, the control module of the controller 302 may generate signals that are configured to cause the vibration haptic motors 308a-308n of the controller vibrate according to a pre-defined relationship between the pattern of vibration of the vibration haptic motors 308a-308n and information related to the sensed objects or obstacles 304. For example, the rate of vibration of the vibration haptic motors 308a-308n may be related to the distance of the sensed objects or obstacles 304. As such, for sensed objects or obstacles 304 that are in motion and approaching the control target 306, the control module may generate signals that increase the rate of vibration of the vibration haptic motors 308a-308n (e.g., this can occur in real-time or nearly real-time as the data is continuously or substantially continuously sent from the control target 306 to the controller 302). As another example, the pre-defined relationship between the pattern of vibration of the vibration haptic motors 308a-308n and information related to the sensed objects or obstacles 304 may inform which one(s) of the vibration haptic motors 308a-308n may vibrate depending on the information. For instance, if the information indicates that the sensed object or obstacle 304 is approaching the control target 306 from the right side of the control target 306, the control module may generate a signal that causes the vibration haptic motor that is on the right side of the controller to vibrate.
As noted above, the vibration haptic motors 308a-308n may be located within the controller 302. In some implementations, one or more of the vibration haptic motors 308a-308n may be part of or integral to other features of the controller 302. For example, the controller 302 may include a thumb saddle 310 for resting a thumb of a user handling the controller (e.g.,
In some embodiments, each of the vibration haptic motors 308a-308n can be vibrationally isolated with vibration absorbent materials, thus allowing for discrete vibration signals to be transferred to the hand grip of the controller 302. In so doing, the pilot or operator is given spatially distinct feedback, e.g., an approaching aircraft on the left side, etc.
In some embodiments, instead of or in addition to vibration feedback, the feedback may include visual feedback, and the feedback elements of the controller 302 can be one or more light sources (not shown) such as but not limited to LEDs, etc., located on the controller 302 and configured to illuminate in response to the signals from the control module. For example, the control module of the controller 302 may generate signals that are configured to cause the light sources to light up according to a pre-defined relationship between the pattern of illumination of the light sources and information related to the sensed objects or obstacles 304. For instance, the pattern, intensity and/or order of illumination of the light sources may be related to the distance of the sensed objects or obstacles 304 and/or the rate at which the sensed objects or obstacles 304 are approaching the control target 306. As an illustrative example, for sensed objects or obstacles 304 that are in motion and approaching the control target 306, the control module may generate signals that cause the light sources to increase the intensity or their illumination and/or blink rate (e.g., this can occur in real-time or nearly real-time as the data is continuously or substantially continuously sent from the control target 306 to the controller 302). As another example, the pre-defined relationship between the pattern of illumination of the light sources and information related to the sensed objects or obstacles 304 may inform which one(s) of the light sources may vibrate depending on the information. For instance, if the information indicates that the sensed object or obstacle 304 is approaching the control target 306 from the left side of the control target 306, the control module may generate a signal that causes the light sources on the left side of the controller to light up, while the light sources in the middle and the right side are off.
While various inventive embodiments have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the inventive embodiments described herein. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the inventive teachings is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific inventive embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereto; inventive embodiments may be practiced otherwise than as specifically described and claimed. Inventive embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and/or methods, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the inventive scope of the present disclosure.
The above-described embodiments can be implemented in any of numerous ways. For example, embodiments of the present technology may be implemented using hardware, firmware, software or a combination thereof. When implemented in firmware and/or software, the firmware and/or software code can be executed on any suitable processor or collection of logic components, whether provided in a single device or distributed among multiple devices.
In this respect, various inventive concepts may be embodied as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other non-transitory medium or tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of embodiments as discussed above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that convey relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
Also, various inventive concepts may be embodied as one or more methods, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”
The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.” “Consisting essentially of,” when used in the claims, shall have its ordinary meaning as used in the field of patent law.
As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.
This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62/945,339, filed on Dec. 9, 2019, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62945339 | Dec 2019 | US |