Systems, methods, and devices for assisted vehicle control

The system enables remote control and feedback for multiple vehicles, addressing inefficiencies and safety risks in construction projects by providing centralized command and communication, enhancing efficiency and safety.

WO2026024785A1PCT designated stage Publication Date: 2026-01-29TERRAFIRMA INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/038755
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-23
Filing Date
2025-07-22
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Construction projects involving heavy machinery often require complex coordination and human intervention, leading to inefficiencies, safety risks, and potential delays due to human error.

Method used

A system for remotely controlling and operating multiple vehicles using controllers that provide real-time feedback and haptic responses, allowing for efficient and safe operation of vehicles through centralized command and communication, even in hazardous environments.

Benefits of technology

Enhances operational efficiency, safety, and reduces costs by minimizing human intervention while ensuring optimal vehicle performance and adaptability to varying operational scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025038755_29012026_PF_FP_ABST
    Figure US2025038755_29012026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure describes a multi-vehicle control system that enables remote operation of one or more vehicles. The system may process different inputs to generate instructions for diverse operational settings. The vehicles, equipped with sensors, may provide continuous feedback, including haptic, to enhance real-time adaptability and efficiency. This multi-vehicle control system may offer a practical solution for remote control of multiple vehicles, optimized via constant feedback.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS, METHODS AND DEVICES FOR ASSISTED VEHICLE CONTROLCROSS-REFERENCE

[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 674,723, filed on July 23, 2024, which is incorporated herein by reference in its entirety.BACKGROUND

[0002] Heavy machinery may play a crucial role in construction and development projects. Traditionally, these machines require on-site operation and control by human operators.SUMMARY

[0003] In an aspect, the present disclosure provides a method of mass displacement with a vehicle, comprising: providing instructions to perform one or more functions to a vehicle based on input to a controller in communication with the vehicle, wherein the controller is not attached to the vehicle; receiving feedback from the vehicle in response to the instructions, wherein the feedback indicates an aspect sensed by the one or more sensors of the vehicle or a boundary associated with the vehicle, wherein the aspect is associated with the surroundings of the vehicle; and providing haptic feedback through the controller based on the feedback from the vehicle. In some embodiments, the method further comprises displaying one or more views associated with the vehicle on a user interface. In some embodiments the one or more views comprise: a first-person view from the vehicle; a third person view capturing the vehicle; and / or a view around at least a portion of the vehicle. In some embodiments, the method further comprises providing an indication for the vehicle to semi -autonomously or autonomously perform a function, wherein the indication is provided in response to additional input to the controller. In some embodiments, autonomously performing a function comprises iteratively performing a function. In some embodiments the semi- autonomously or autonomously performed function is defined before the indication is provided. In some embodiments, the indication is provided in response to user input. In some embodiments, the method further comprises establishing communication between the controller and the second vehicle, wherein the communication established in response to additional input received by the controller. In some embodiments, the vehicle comprises an excavator, a bulldozer, a crane, a paver, a truck, a backhoe loader, a boom lift, an articulated haul truck, a dump truck, a roller, a compactor, a skid steer, a grader, a front-end loader, a bucket shovel, a drill, a pile driver, a telepresence assembly robot, a welding robot, a pipe laying robot, a robot that can bolt thingstogether, a painting robot, a concrete robot, an electrical wiring robot, or humanoid robot. In some embodiments, the method further comprises providing instructions to perform one or more functions to the second vehicle, wherein the instructions are provided in response to additional input received by the controller; receiving feedback from the second vehicle indicating an aspect sensed by the one or more sensors of the second vehicle, or a boundary associated with the second vehicle, wherein the aspect sensed by the one or more sensors of the second vehicle is associated with the surroundings of the second vehicle; providing haptic feedback through the controller based on the feedback from the second vehicle. In some embodiments, the vehicle comprises an actuator, wherein the actuator is configured to translate the instructions to perform the one or more functions. In some embodiments, the one or more functions comprises: a movement of the vehicle along one or more axes; or a use of one or more attachments of the vehicle. In some embodiments, the boundary associated with the vehicle is a boundary associated with the reach of the vehicle or an artificial boundary. In some embodiments, the artificial boundary is based on user input. In some embodiments, the artificial boundary is associated with an environment of the vehicle. In some embodiments, the instructions comprise instructions that, when performed by the vehicle, would cause the vehicle to cross the boundary, and wherein the method further comprises altering the instructions, wherein the altered instructions, when performed by the vehicle, do not cause the vehicle to cross the boundary. In some embodiments, the aspect comprises: a force upon the vehicle; a pressure felt by the vehicle; a humidity or moisture; a soil composition; a temperature; an electrical charge felt by the vehicle; an object or an obstacle sensed by the sensors; a motion or orientation of the vehicle; or another aspect of the surroundings of the vehicle. In some embodiments, the method further comprises analyzing and translating the received feedback; and determining a proportional response associated with the received feedback, wherein the haptic feedback is determined based on the proportional response. In some embodiments, providing the feedback comprises visual feedback, audio feedback, sensory feedback, or a haptic feedback. In some embodiments, providing haptic feedback comprises exerting resistance or a force through the controller. In some embodiments, providing haptic feedback comprises changing a temperature of the controller. In some embodiments, providing haptic feedback comprises vibrating the controller. In some embodiments, the method further comprises displaying information associated with the aspect on a user interface. In some embodiments, the method further comprises receiving a signal from the vehicle indicating that the vehicle is in operation. In some embodiments, the input is tactile input. In some embodiments, the aspect is sensed during or after the vehicle performs the one or more functions. In some embodiments, a controller station comprises the controller. In some embodiments, the controller and / or controller station further comprises: an interface configured toreceive user input related to control commands; a processing unit configured to convert user input into instructions to perform one or more functions; a communication module configured to transmit the instructions to perform one or more functions to vehicles; a processing unit configured to analyze and / or translate feedback or user input communicated between the users or automated control units, haptic units, and vehicles; and a feedback module configured to receive status updates from vehicles and display information related to the updates on the user interface. In some embodiments, the controller station comprises a second controller. In some embodiments, the controller and the second controller are configured to be operated concurrently. In some embodiments, the method further comprises providing instructions to perform one or more functions to a third vehicle based on input to the second controller in communication with the third vehicle, wherein the second controller is not attached to the third vehicle. In some embodiments, the vehicle is outfitted with a retrofit kit. In some embodiments, the one or more sensors comprises cameras, Light Detection and Ranging (LIDAR), Radio Detecting and Ranging (radar), Sound Navigation and Ranging (sonar), position sensors, or any combination thereof. In some embodiments, at least one of the one or more sensors is detached from the vehicle. In some embodiments, the at least one of the one or more sensors comprises a camera on a mobile tripod, a drone, or a blimp. In some embodiments, the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network. In some embodiments, the second controller is configured to independently establish a connection with another vehicle. In some embodiments, the method further comprises receiving a coordinate point within a three-dimensional space; calculating necessary movements of the vehicle based on the coordinate point; and transmitting instructions to guide the vehicles to the coordinate.

[0004] In another aspect, the embodiments herein disclose a method of controlling vehicle operations, comprising: providing, during a time period, instructions to perform one or more functions to a first vehicle based on input to a first controller in communication with the vehicle, wherein the first controller is not attached to the first vehicle; providing, during the time period, instructions to perform one or more functions to a second vehicle based on input to a second controller in communication with the second vehicle, wherein the second controller is not attached to the second vehicle; receiving, during the time period, a set of feedback from the first vehicle in response to the instructions provided to the first vehicle and in response to the instructions provided to the second vehicle, wherein the set of feedback indicates at least one aspect sensed by the first vehicle or the second vehicle, wherein the aspect is associated with the surroundings of the first vehicle, the surroundings of the second vehicle, or a boundary associated with the first vehicle or second vehicle; and providing, during the time period, haptic feedback through the first controllerand / or the second controller based on the set of feedback, wherein: the first controller is in communication with the first vehicle throughout the time period, and the second controller is in communication with the second vehicle throughout the time period. In some embodiments, the method further comprises displaying one or more views associated with the first vehicle and / or the second vehicle on a user interface. In some embodiments, the one or more views comprise: a first- person view from the first vehicle and / or the second vehicle; a third person view capturing the first vehicle and / or the second vehicle; and / or a view around at least a portion of the first vehicle and / or the second vehicle. In some embodiments, the method further comprises providing an indication for the first vehicle and / or the second vehicle to semi-autonomously or autonomously perform a function, wherein the indication is provided in response to additional input to the controller. In some embodiments, autonomously performing a function comprises iteratively performing a function. In some embodiments, the semi-autonomously or autonomously performed function is defined before the indication is provided. In some embodiments, the indication is provided in response to user input. In some embodiments, the first vehicle and / or the second vehicle comprises an excavator, a bulldozer, a crane, a paver, a truck, a backhoe loader, a boom lift, an articulated haul truck, a dump truck, a roller, a compactor, a skid steer, a grader, a front-end loader, a bucket shovel, a drill, a pile driver, a telepresence assembly robot, a welding robot, a pipe laying robot, a robot that can bolt things together, a painting robot, a concrete robot, an electrical wiring robot, or humanoid robot. In some embodiments, the first vehicle and / or the second vehicle comprises an actuator, wherein the actuator is configured to translate the instructions to perform the one or more functions. In some embodiments, the one or more functions comprises: a movement of the first vehicle and / or the second vehicle along one or more axes; or a use of one or more attachments of the first vehicle and / or the second vehicle. In some embodiments, the boundary associated with the first vehicle and / or the second vehicle is a boundary associated with the reach of the first vehicle and / or the second vehicle or an artificial boundary. In some embodiments, the artificial boundary is based on user input. In some embodiments, the artificial boundary is associated with an environment of the first vehicle and / or the second vehicle. In some embodiments, the instructions comprise instructions that, when performed by the first vehicle and / or the second vehicle, would cause the first vehicle and / or the second vehicle to cross the boundary, and wherein the method further comprises altering the instructions, wherein the altered instructions, when performed by the first vehicle and / or the second vehicle, do not cause the first vehicle and / or the second vehicle to cross the boundary. In some embodiments, the aspect comprises: a force upon the first vehicle and / or the second vehicle; a pressure felt by the first vehicle and / or the second vehicle; a humidity or moisture; a soil composition; a temperature; an electrical charge felt by the first vehicle and / orthe second vehicle; an object or an obstacle sensed by the sensors; a motion or orientation of the first vehicle and / or the second vehicle; or another aspect of the surroundings of the first vehicle and / or the second vehicle. In some embodiments, the method further comprises analyzing and translating the received feedback; and determining a proportional response associated with the received feedback, wherein the haptic feedback is determined based on the proportional response. In some embodiments, providing the feedback comprises visual feedback, audio feedback, sensory feedback, or a haptic feedback. In some embodiments, providing haptic feedback comprises exerting resistance or a force through the controller. In some embodiments, providing haptic feedback comprises changing a temperature of the controller. In some embodiments, providing haptic feedback comprises vibrating the controller. In some embodiments, the method further comprises displaying information associated with the aspect on a user interface. In some embodiments, the method further comprises receiving a signal from the vehicle indicating that the vehicle is in operation. In some embodiments, the input is tactile input. In some embodiments, the aspect is sensed during or after the vehicle performs the one or more functions. In some embodiments, a controller station comprises the first controller and the second controller. In some embodiments, the first controller, the second controller, and / or the controller station comprises: an interface configured to receive user input related to control commands; a processing unit configured to convert user input into instructions to perform one or more functions; a communication module configured to transmit the instructions to perform one or more functions to vehicles; a processing unit configured to analyze and / or translate feedback or user input communicated between the users or automated control units, haptic approaches, and vehicles; and a feedback module configured to receive status updates from vehicles and display information related to the updates on the user interface. In some embodiments, the first vehicle and / or the second vehicle is outfitted with a retrofit kit. In some embodiments, the one or more sensors comprises cameras, Light Detection and Ranging (LIDAR), Radio Detecting and Ranging (radar), Sound Navigation and Ranging (sonar), position sensors, or any combination thereof. In some embodiments, at least one of the one or more sensors is detached from the first vehicle and / or the second vehicle. In some embodiments, the at least one of the one or more sensors comprises a camera on a mobile tripod, a drone, or a blimp. In some embodiments, the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network. In some embodiments, the method further comprises receiving a coordinate point within a three-dimensional space; calculating necessary movements of the first vehicle and / or the second vehicle based on the coordinate point; and transmitting instructions to guide the first vehicle and / or the second vehicle to the coordinate.

[0005] Another aspect of the present disclosure provides a non-transitory computer readable medium comprising machine executable code that, upon execution by one or more computer processors, implements any of the methods above or elsewhere herein.

[0006] Another aspect of the present disclosure provides a system comprising one or more computer processors and computer memory coupled thereto. The computer memory comprises machine executable code that, upon execution by the one or more computer processors, implements any of the methods above or elsewhere herein.INCORPORATION BY REFERENCE

[0007] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. To the extent publications and patents and patent applications incorporated by reference contradict the disclosure contained in the specification, the specification is intended to supersede and / or take precedence over any such contradictory material.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The novel features of the inventive concepts are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present inventive concepts will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the inventive concepts are utilized, and the accompanying drawings (also “Figure” and “FIG.” herein), of which:

[0009] FIG. 1 illustrates a block diagram of a vehicle control system, in accordance with some embodiments.

[0010] FIG. 2 illustrates a block diagram of a multi-vehicle control system, in accordance with some embodiments.

[0011] FIG. 3 illustrates a process flow of a multi-vehicle control system in communication with two vehicles, in accordance with some embodiments.

[0012] FIG. 4 illustrates an extended process flow of a multi-vehicle control system controlling two vehicles, in accordance with some embodiments.

[0013] FIG. 5 illustrates a method for controlling a multi-vehicle control system, in accordance with some embodiments.

[0014] FIG. 6 illustrates a method of mass displacement, in accordance with some embodiments.

[0015] FIG. 7 shows a non-limiting example of a computing device with one or more processors, memory, storage, and a network interface.

[0016] FIG. 8 shows a non-limiting example of a web / mobile application provision system providing browser-based and / or native mobile user interfaces.

[0017] FIG. 9 shows a non-limiting example of a cloud-based web / mobile application provision system comprising an elastically load balanced, auto-scaling web server and application server resources as well synchronously replicated databases.

[0018] FIG. 10 shows an example of two controllers concurrently providing instruction to vehicles performing corresponding instructions.

[0019] FIG. 11 shows an example view of a job site displayed through a graphical user interface (GUI).

[0020] FIG. 12 shows an example of a user profile within a GUI.

[0021] FIG. 13 shows an example view of a job site from the perspective of a machine within a GUI.

[0022] FIG. 14 shows a bird's eye view example of a job site through a GUI.

[0023] FIG. 15A and 15B show examples of controllers used to control vehicles executing the corresponding instructions.DETAILED DESCRIPTION

[0024] Construction projects are often time-consuming, expensive, and all-around difficult projects to complete. For small projects and large projects alike, builders often need to know where they can build, retrieve all of the materials, and only then, once everything has been marked and set up, they can begin building. However, building itself can come with a host of time-consuming, expensive, and dangerous issues. For example, where heavy machinery is involved, complex coordination can often be required to make sure that no machines will conflict when in use. This can also add in an element of human delay and error - for example, in order to make sure there are no conflicts, people need to communicate with one another, which can often cause delays in order to keep everybody safe and can become dangerous if strict communication is not upheld.

[0025] The systems and methods described herein overcome the difficulties faced by previous methods by allowing people to remotely control multiple machines, which not only increasesefficiency and effectiveness by making the machines easier to coordinate, but also increases the safety of those involved. For example, the systems and methods described herein describe a vehicle control system for remotely controlling and operating one or more vehicles. As areas under construction can be hazardous, remotely controlling the vehicles allows for minimal human intervention while ensuring optimal vehicle performance. Such vehicle control systems allow for real-time operation and simultaneous control of one or more vehicles through the use of one or more controllers. Those controllers may be incorporated on a centralized controller station for command and communication, and vehicles may be configured to operate based on user inputs and autonomous directives received from the controller station (e.g., through the use of a retrofit kit on the vehicle.) Thus, multiple vehicles may be operated by a single person from a distance through the use of the controller station, allowing for safe and efficient construction.

[0026] Notably, the system exhibits significant adaptability, enabling the system to function effectively in varying operational scenarios. The vehicles are fitted with sensors that can help provide continuous feedback, allowing the system to adapt in real-time, thus increasing operational efficiency. For example, the sensors of an excavator may sense the hardness of the ground as well as the weight of mass the excavator has picked up, and may communicate that to a controller, which in turn may provide haptic feedback (e.g., vibrational feedback to signify the hardness of the ground as well as force feedback to indicate how heavy the collected mass is.) Similarly, feedback can be given for other vehicles, such as bulldozers, rollers, compactors, and so on. The system's ability to provide not only remote control but remote feedback regarding the vehicles surroundings significantly mitigates risks, especially in hazardous environments, while ensuring tasks are executed efficiently. Accordingly, the systems and methods described herein offer cost and energy savings over previous methods, promoting sustainability for future construction in all environments.Systems

[0027] The systems as described herein may include various components, such as vehicles, controller stations, and controllers. Each component may have various software components (e.g., a communications component) and / or hardware components (e.g., one or more vehicle attachments,) which are described in further detail below.Controller:

[0028] A controller in the context of a multi-vehicle control system may essentially act as a brain. Controllers play a crucial role in managing and directing the system’s operations. For example, a controller may integrate and process multiple inputs, generate appropriate outputs, and ensureeffective communication between different system elements. In particular, a controller may be in communication with a vehicle or a plurality of vehicles (e.g., directly or through a controller station), and may output instructions to a vehicle in order to cause the vehicle to perform one or more functions (e.g., various methods of mass displacement, such as digging, compacting, grading, striking, and similar functions). Controllers may be used as the primary unit responsible for coordinating and managing the actions of the vehicles in the system. In some embodiments, a controller may communicate with one vehicle at a time. In some embodiments, a controller may communicate with a plurality of vehicles at a time. In some embodiments, a controller may alternate communicating with various vehicles of a plurality of vehicles.

[0029] The main components of a controller can include:

[0030] 1. Processor: The processor may be the central component of a controller. Processors can range from a simple microcontroller to a high-end microprocessor, depending on the complexity of the tasks. The processor carries out all the computational work, including arithmetic operations, logic operations, data management, and controlling other hardware elements within the controller. Processors are responsible for executing the software that drives the system's operation.

[0031] 2. Memory: Memory in a controller may be divided into two types, volatile and nonvolatile. Volatile memory, also known as Random Access Memory (RAM), may be used for temporarily storing data that is being processed or used by the processor. Non-volatile memory, which includes Read-Only Memory (ROM) and flash memory, may used to store firmware or software that can be persistently retained even when power is lost.

[0032] 3. Input / Output Interfaces: These are crucial components that connect the controller to external devices. Input interfaces enable the controller to receive signals from various input devices, such as sensors on the vehicles or user interface components. Output interfaces allow the controller to send signals to external devices, such as actuators on the vehicles or feedback devices for the user.

[0033] 4. Communication Component: This component ensures smooth data transfer within the system. Communication components can support various communication protocols like Ethernet, Wi-Fi, Bluetooth, or 4G / 5G for wireless communication. For robust communication, communication components can integrate error-detection and correction mechanisms, data encryption for security, and network management protocols for efficient data transmission.

[0034] 5. Power Supply: A dedicated power supply may be necessary for a controller, typically designed to handle varying input voltages and provide stable output voltages to other controllercomponents. Power supplies may be directly wired to a main power source, battery-operated, or may even incorporate energy harvesting in some advanced designs.

[0035] 6. User Interface (UI) Component: The UI component provides an interface for interaction between the user and the system. UI components may include input devices like buttons, switches, or touchscreens for command input, and output devices like display screens, LEDs, or speakers for system feedback.

[0036] 7. Feedback Component: This component processes the feedback received from the vehicles and generates appropriate response signals. Feedback components can convert the feedback into various formats including visual, auditory, or haptic feedback, providing an interactive and intuitive control experience for the user.

[0037] The combination of these components and their intricate interplay can make the controller a central and crucial part of a multi-vehicle control system. Their design and functionalities help the controller adapt to various operational scenarios and ensure efficient control of multiple vehicles.

[0038] While certain components of controllers are listed above, these components are exemplary, and others may be used. For example, in some embodiments, controllers may include all seven of the exemplary components described above, while in other embodiments, controllers may include a subset of the components, or additional components. Further, in some embodiments, certain controllers may have a particular set of components, while other controllers may have a different set of components.

[0039] In some embodiments, a controller can have a particular design. In some embodiments, the design may be based on a vehicle that the controller may communicate with. For example, in some embodiments, if the controller is meant to relay instructions to and provide feedback from a particular vehicle, the controller may be modeled after that vehicle (e.g., a controller in communication with an excavator may be a miniature excavator). Controllers modeled after vehicles may include one or more motors, wires, processors, or other components necessary to receive user input and relay instructions associated with input to particular model attachments of the controller. In other embodiments, as described herein, controllers may include elements that facilitate user input, such as buttons, screens, and / or joysticks, and provide feedback, such as haptic feedback, audio feedback, or visual feedback. Controllers may additionally include elements (e.g., motors) which can read positions and forces communicated to controllers (e.g., through use of communication components and feedback components as described herein) which allow controllers to read positions, forces, and other aspects related to vehicles, as well as write instructions regarding those aspects. In some embodiments, a controller may be in a “delta bof ’ configuration.The “delta bot” configuration comprises three or more arms connected to motors in the base of the controller and can translate in three or more degrees of freedom (e.g., three or more axes). Controllers in a “delta bot” configuration may be reconfigured based on which vehicle it is communication with at any given time point. In some embodiments, a controller in the delta bot configuration comprises three arms. In some embodiments, a controller in the delta bot configuration comprises six arms.

[0040] Functions of a controller can include:

[0041] Command Interpretation and Execution: controllers may be configured to interpret and execute commands. These commands may be received from user inputs (e.g., torque applied to the controller) or autonomous directives and may be processed by the controller to be converted into a format that can be understood and acted upon by one or more vehicles. The controller may be configured to convert commands into instructions differently depending on the vehicle that the controller may be in communication with (e.g., a user input to the controller for an excavator may be converted differently than the same user input for a compactor).

[0042] Data Processing and Analysis: The controller may receive a variety of data from different sensors attached to the vehicles. Types of sensors are described further below. The data, which may include information about vehicle status, operational parameters, and / or environmental factors, may processed and analyzed by the controller. The data received from the sensors plays a critical role in understanding the operational environment and making informed decisions.

[0043] Decision Making: Based on the interpreted commands and analyzed data, the controller may be configured to make one or more decisions about how the vehicles should operate. These decisions may involve determining the optimal path for a vehicle, deciding when and how to use specific vehicle attachments, or triggering corrective actions in response to detected errors or anomalies. Additionally, controllers may be configured to make one or more decisions based on boundaries from user input. For example, user input may be received at the controller that indicates one or more construction (e.g., artificial) boundaries, where a construction boundary may be an area where the vehicle should or should not operate such as No-Go zones, work zones, safety buffer zones, environmental protection zones, property lines, power lines or other utilities. Accordingly, when user input is later received that may cause the controller to give instructions for the vehicle to cross the boundary, the controller may modify the instructions so that the vehicle does not cross the boundary (e.g., so that the vehicle itself or an attachment of the vehicle does not cross an artificial boundary.)

[0044] Communication Management: The controller may manage communication within the system (e.g., through the controller station or directly with other components), making sure the right information gets to the right place at the right time. This involves coordinating the transmission and receipt of data between the controller station, the individual controllers, and the vehicles themselves. The controller and controller station ensure that the necessary commands reach the vehicles and that feedback from the vehicles may be received and processed effectively.

[0045] Feedback Processing and Presentation: a controller may be configured to process feedback received from vehicles and convert the feedback into a format that can be understood by the user. The feedback can take multiple forms, including visual signals, auditory alerts, or haptic feedback. By providing real-time feedback, the controller allows the user to understand the current operational status and make necessary adjustments.

[0046] System Monitoring and Diagnostics: controller may be configured to monitor the performance of the system and conduct diagnostic tests to ensure that all components are functioning properly. In case of a malfunction or performance issue, the controller may be configured to trigger alarms or corrective actions to address the problem.

[0047] Adaptation and Learning: Advanced controllers may be configured to learn from the data and feedback they receive, adapting their operations to optimize performance. This may involve fine-tuning control algorithms, adjusting operational parameters, or even altering decision-making strategies based on learned patterns or trends.

[0048] System Safety and Protection: controllers play a critical role in maintaining the safety and integrity of the multi-vehicle control system. Controllers may be configured to monitor for any abnormalities or potential risks and takes appropriate measures to mitigate them. These can include triggering safety procedures, shutting down a vehicle, or even overriding a user command if the user command is deemed to be unsafe.

[0049] In some embodiments, certain controllers may have specialized functions. Additionally, in some embodiments, controllers may be able to communicate with each other, in addition to the vehicles that they communicate with. In some embodiments, a controller may be able to provide instructions to synchronize the functions of a plurality of vehicles and / or may be able to provide instructions to multiple vehicles to perform cohesive functions. For example, a controller may be able to provide instructions to a vehicle in order to cause the vehicle to perform a same function as another vehicle at separate time or location. Accordingly, the controller may provide instructions to a first vehicle, such as a compactor, to perform a function, and may additionally may provide instructions to one or more other vehicles, which may perform the same function in a synergisticway (e.g., the one or more other vehicles may be other compactors, which may follow the first compactor when performing the same function). As another example, a controller may be able to provide instructions to a vehicle in order to cause the vehicle to perform a first function (e.g., instructions for a bulldozer to break material free), while also being able to provide instructions to a second vehicle in order to cause the vehicle to perform a synergistic function (e.g., instruction for an excavator to pick up the material that was broken free).

[0050] These functions collectively ensure the efficient and safe operation of the multi-vehicle control system, making the controller a crucial part of the system. While some functions are listed above, these functions are exemplary, and other functions may be performed. For example, while eight functions are listed above, controllers may be configured to perform functions in addition to those listed or may be configured to perform a subset of the functions.UI Component:

[0051] UI Components may include:

[0052] Display Screen: A UI component may include a display screen, which may be configured to provide visual feedback. In some embodiments, the visual feedback can be provided in real time. Visual feedback can range from monochromatic LED displays to full-color touch screens. The sophistication of the display is dependent on the complexity of the data and controls required. Some systems may incorporate augmented reality (AR), or virtual reality (VR) displays for immersive user interaction.

[0053] Input Devices: UI components may include input devices that allow users to interact with the system. Input devices can include traditional devices like buttons, dials, or switches, as well as more advanced options like touchscreens, trackballs, joysticks, or even gesture-recognition systems. Some systems may also incorporate voice recognition for hands-free operation. UI components may include user interfaces on one or more controllers, as described below (e.g., one or more joysticks, keypads, knobs, dials, and / or screens of a controller, or a controller that resembles an associated vehicle to which the controller provides instructions.)

[0054] Output Devices: UI components may include additional output devices, such as speakers for audio feedback or haptic devices for tactile feedback. In some embodiments, the output devices may include LED indicators. LED indicators may provide simple status indications. Additionally output devices may include headphones for 3D spatial audio feedback, haptic gloves for immersive touch feedback, Virtual Reality headsets enabling users to interact with a simulated environment, projectors for displaying data or printers for providing hard copies.

[0055] Connectivity Components: connectivity components enable the UI Component to communicate with other parts of the control system. Wired connections like USB or Ethernet, as well as wireless connections like Bluetooth, Wi-Fi, or even cellular networks, can be utilized depending on the system requirements.

[0056] Sensors: Some UI Components may incorporate sensors to enhance user interaction. For instance, touch sensors in touchscreens, proximity sensors to detect hand gestures, light sensors to adjust screen brightness, or even biometric sensors to authenticate users.

[0057] Functions of a UI Component can include:

[0058] Command Input: The UI Component may be configured to allow users to issue commands to the system. Commands can range from simple preprogrammed tasks to complex custom maneuvers. Advanced systems can enable commands via voice, gesture, or even through an AR / VR interface.

[0059] Real-time Data Visualization: Through the display screen, the UI Component may be configured to present data from the controller and vehicles. In some embodiments, the data may be in real-time. Visualizations can range from simple status indicators to complex 3D models or diagrams, helping users to understand the current operational status.

[0060] Feedback Provision: The UI Component may be configured to communicate visual feedback about system status and operations to the user, the UI component can encompass components such as input devices comprising joysticks, keypads or buttons; output devices comprising screens or speakers; or devices that can function as both like touchscreens. Visual feedback can be presented in a variety of modalities such as visual alerts, auditory signals, or haptic feedback to ensure that users remain informed and aware of the system's performance.

[0061] System Monitoring and Control: Through real-time data visualization and feedback, the UI Component enables users to monitor the system's operation and control its functions. Users can adjust operational parameters, tune system performance, or even intervene manually in case of abnormal situations. Systems may be monitored through the use of cameras, which may provide various views of the system. For example, a camera on a vehicle may provide a “first-person” view from a part (e.g., a cockpit) of the vehicle. Cameras may provide additional views of the system as well, such as “third person” views. Third-person views may include one or more views of vehicles or surroundings of a vehicle from outside of certain vehicles of the system. For example, a camera on a drone above vehicles may provide a view of vehicles within the system, which may be displayed on a controller. As another example, multiple cameras may take images of the systemfrom multiple angles and may use the images to provide a 3-dimensional view of the system. The views may be used to provide low latency, high-quality video streams that may be displayed (e.g., through the UI component).

[0062] Error and Warning Indication: the UI Component may be configured to alert a user (e.g., in case of a system error, warning, or emergency.) This can involve flashing lights, auditory alarms, haptic vibrations, or on-screen error messages.

[0063] User Customization: UI Components may be configured to allow users to customize the interface according to their preferences, including layout, control schemes, feedback modes, or visual themes. This personalization can enhance user comfort and operation efficiency. In some embodiments, the UI component may receive input for defining specific actions for a vehicle to perform (e.g., based on the specifications of the action, or to make an action repeat a certain number of times or indefinitely.)

[0064] The UI Component enables efficient interaction between the user and the system, providing an intuitive platform for control, monitoring, and adjustment of system operations.

[0065] While certain components of the UI are listed above, these components are exemplary, and others may be used. For example, in some embodiments, the UI may include all of the described exemplary components described above, while in other embodiments, controllers may include a subset of the components, or additional components. Further, in some embodiments, certain UI may have a particular set of components, while other controllers may have a different set of components.Communications Component:

[0066] A Communications Component can include:

[0067] Network connections: The communication component allows for one or more controllers of a controller station to communicate with through a network, through the use of a modem, router, mesh Wi-Fi network, or satellite. The modem, router, mesh Wi-Fi network, or satellite modulates the signals from the system into a form suitable for transmission and demodulates incoming signals into a form the system can interpret.

[0068] Transceivers: These devices are responsible for transmitting and receiving signals to and from the various vehicles within the system. Each vehicle in the system would have a corresponding transceiver on the communications component.

[0069] Antennas: Antennas are used to broadcast and receive the wireless signals to and from the vehicles. They are designed to operate over the frequency band used by the system, and their performance can significantly impact the range and reliability of the communication.

[0070] Network Interface: A network interface provides a point of interconnection between the hardware of the controller station and the communications network. The network interface allows data to be transferred from the controller station to the communication component.

[0071] Protocols: The protocols determine the 'rules' for how data may be transmitted and received. They define aspects such as error checking, data compression, and signal modulation and demodulation.

[0072] Functions of a Communications Component can include:

[0073] Data Transmission: A Communications Component may be configured to transmit instructions from the controller to the vehicles. These instructions guide the vehicles in their operations.

[0074] Data Reception: The component may be configured to data from the vehicles. This data includes sensor data, status updates, and feedback. This data may then transferred to the controller station for further processing and analysis.

[0075] Network Management: The Communications Component may be configured to manage the communications network, ensuring that data may be transmitted and received reliably and efficiently. This includes tasks like network configuration, bandwidth management, and error detection and correction.

[0076] Interference Management: In a wireless communication setup, the component may be configured to manage interference, ensuring the signals transmitted and received are clear and reliable, especially when operating in environments with high electromagnetic interference.

[0077] Security: In systems where, sensitive data may be transmitted, a Communications Component may be configured to incorporate security measures such as data encryption and secure communication protocols, protecting the data from unauthorized access or tampering.

[0078] The Communications Component may be involved in managing the flow of data between the controller station and the vehicles, ensuring effective communication and thus the smooth and efficient operation of the system.

[0079] While certain components of the Communications Component are listed above, these components are exemplary, and others may be used. For example, in some embodiments, the Communications Component may include all five of the exemplary components described above, while in other embodiments, controllers may include a subset of the components, or additional components. Further, in some embodiments, certain Communications Component may have a different set of components.Feedback Component:

[0080] A Feedback Component can include:

[0081] Data Acquisition Systems: Feedback components may include data acquisition systems to collect feedback data from the vehicles. The data acquisition systems can include analog-to-digital converters to digitize signals from the vehicles' sensors and data loggers to store this data for further processing.

[0082] Signal Processors: Feedback components may include one or more signal processors interpret the raw data and convert the raw data into meaningful feedback. The signal processors may employ algorithms and filters to clean up the data and extract valuable insights.

[0083] Outputs: Feedback components may be configured to determine outputs that may be output through one or more output interfaces configured to present the processed feedback to the user. The output interfaces can include display screens that provide visual feedback through color changes or graphics, speakers or headphones that deliver auditory feedback such as beeps or voice prompts, and haptic devices that offer tactile feedback like vibrations, temperature, forces, or pressure changes to communicate system responses and status to the user. For example, if a vehicle encounters a first material (e.g., an excavator digging through dirt,) the data may be provided to the feedback component, which may determine that a first force should be applied through the controller to indicate a hardness or weight of the first material, while if a vehicle encounters a second material (e.g., solid rock), the data may be provided to the feedback component, which may determine that a second (e.g., stronger) force should be applied through the controller to indicate a hardness or weight of the second material.

[0084] Networking Devices: Feedback components may include networking devices configure to communicate the feedback data back to the Controller Station. The networking devices can include wired or wireless communication modules depending on the design of the system.

[0085] Memory Units: Feedback components may be configured to store the historical feedback data. Memory units can help in analyzing the long-term performance of the vehicles and making any necessary adjustments to the system.

[0086] Functions of a Feedback Component can include:

[0087] Data Collection: The Feedback Component may be configured to collect data from the vehicles' operations. This data provides insights into the real-time status and performance of the vehicles.

[0088] Data Analysis: The Feedback Component may be configured to process and analyze the collected data. The Feedback component may be configured to interpret raw data into meaningful metrics that can provide insights into the vehicles' performance and operational status.

[0089] Real-time Feedback: By processing data in real time, the Feedback Component can provide instant feedback to the operator. This feedback informs the operator of the current status of the vehicles, enabling quick decision-making and adjustments.

[0090] Trend Analysis: The Feedback Component may be configured to analyze long-term data trends to evaluate the performance of the vehicles over time. The trends may be used in identifying issues such as wear and tear, fuel efficiency, battery life, maintenance needs, emission or software glitches, optimizing vehicle performance, and predicting future performance.

[0091] System Optimization: By providing feedback on the performance of the vehicles, the Feedback Component helps optimize the multi-vehicle control system. The feedback allows the system to continuously learn and improve, enhancing the system's efficiency, reliability, and overall performance.

[0092] The Feedback Component may deliver critical real-time insights on vehicle performance and enable continuous improvement of system operations.

[0093] While certain components of the Feedback Component are listed above, these components are exemplary, and others may be used. For example, in some embodiments, the Feedback Component may include all five of the exemplary components described above, while in other embodiments, Feedback Component may include a subset of the components, or additional components. Further, in some embodiments, certain Feedback Component may have a different set of components.Vehicles:

[0094] Vehicles can include:1. Excavators;2. Bulldozers;3. Articulated haul trucks;4. Dump trucks;5. Rollers / Compactors;6. Skid steers;33. Robotic arms with end effectors configured to perform one or more functions (e.g., welding, painting, bolting together pipe flanges, or other functions); and / or34. Aerial drones.

[0095] While certain vehicles are listed above, these vehicles are exemplary, and other vehicles may be used in the systems and methods described herein.

[0096] As described herein, a retrofit kit may be attached to any vehicle described herein to allow for communication of instructions to vehicles from controllers as well as communication of feedback to controllers from vehicles. A retrofit kit may be attached a vehicle at one or more locations on the vehicle (e.g., on top of the vehicle, on the controls of the vehicle, on the back of the vehicle, or another location on the vehicle). A retrofit kit may of a particular shape (e.g., a box that may be placed on or within a vehicle, or another shape that conforms to the controls of a vehicle). A retrofit kit may be configured to connect to the controls of a vehicle and provide instructions (e.g., as received form a controller) to the vehicle in a form that the vehicle may be capable of receiving. For example, if a vehicle comprises controls including pilot hydraulic joysticks, a retrofit kit of the vehicle may access the hydraulic system of the vehicle and provide hydraulic signals (e.g., instead of electric signals, or other signals that may be provided to a vehicle). The retrofit kit may provide the instructions to an internal component of a vehicle (e.g., analyzing component 126), rather than controls of the vehicle, where the internal component may receive the instructions and cause the vehicle to perform one or more functions based on the instructions.Sensors:

[0097] The sensors can include:

[0098] Lidar Sensors: Lidar (Light Detection and Ranging) sensors may use laser light to measure the distance to an object. They are highly accurate and can be used for tasks like obstacle detection and avoidance, navigation, and mapping the environment around the vehicle.

[0099] Radar Sensors: Radar (Radio Detection and Ranging) sensors may emit radio waves and measure the time it takes for the wave to return after hitting an object. They may be useful for detecting obstacles, even under adverse weather conditions. Radar sensors can include groundpenetrating radar sensors for detecting objects or soil compositions underneath the ground.

[0100] Sonar Sensors: Sonar (Sound Navigation and Ranging) sensors may use sound waves to detect and locate objects in the environment, similar to radar but typically used underwater.

[0101] Cameras: Cameras may capture visual data from the environment. They can be used for tasks like object and hazard detection, navigation, and providing visual feedback to the operator. Insome embodiments, cameras that may be attached to a vehicle or may be positioned in other positions (e.g., on a tower) may be used to capture multiple images surrounding a vehicle. Those multiple images may later be utilized in order to generate a model of the surroundings of one or more vehicles (e.g., a 3D model of a build site which can show potential progress and issues of construction).

[0102] Inertial Measurement Units (IMUs): IMUs may be used to measure a vehicle’s velocity, orientation, and gravitational forces, using a combination of accelerometers, gyroscopes, and sometimes magnetometers. They are crucial in determining a vehicle’s movements and position.

[0103] GPS Receivers: Global Positioning System receivers may be used to provide geolocation and time information, vital for navigation and coordinating operations of multiple vehicles.

[0104] Temperature Sensors: Temperature sensors may be used to monitor the temperature of key components in the vehicle, preventing overheating and potential damage.

[0105] Pressure Sensors: Pressure sensors may be used to monitor fluid or gas pressure in various vehicle systems and are critical in hydraulic or pneumatic systems within the vehicle.

[0106] Proximity Sensors: Proximity sensors may be used to detect the presence of nearby objects without any physical contact, useful for tasks like collision avoidance.

[0107] Ultrasonic Sensors: Similar to sonar sensors, ultrasonic sensors may use sound waves to detect objects and measure distance. They’re often used for obstacle detection and avoidance.

[0108] Wheel Speed Sensors: Wheel Speed sensors may be used to monitor the rotational speed of the wheels, may provide data for control systems, such as for maintaining stability and control of the vehicle.

[0109] Load Sensors: Also known as load cells, load sensors may measure weight or force. In construction vehicles, they can ensure that vehicles don’t exceed their maximum load capacity.

[0110] Position Sensors: Position sensors may provide data about the position of various components of the vehicle. They can be essential in monitoring and controlling the movements of the vehicle’s attachments.

[0111] Force Sensors: Also known as force transducers, force sensors may measure the force applied on an object. They are used in a variety of applications, from measuring load or weight to detecting presence or absence of an object.

[0112] Humidity Sensors: Humidity sensors may be used to measure the amount of water vapor in the air, soil, or confined spaces. In earthworks or construction scenarios, humidity sensors can provide useful data about the working environment.

[0113] Soil Composition Sensors: Soil Composition sensors may be used to analyze the different components in soil, like pH level, temperature, moisture, light exposure, and nutrient content. This can be essential in construction planning or agriculture, providing valuable data for decisionmaking processes.

[0114] Electrical Charge Sensors: Also known as electrometers, electrical charge sensors may be used to measure an object’s electric charge. Electrical charge sensors can be used to detect static electricity, monitor electromagnetic fields, or measure electrical potential differences.

[0115] Gravity Sensors: Also known as gravimeters, gravity sensors may be used to measure the gravitational pull of the earth. Gravity sensors can be used to detect changes in altitude, depth, or density of the surrounding environment, and can aid in geospatial mapping or navigation.

[0116] RTK Sensors: RTK sensors may sense real-time kinematics, which can be used to survey vehicles and surroundings. RTK sensors may use a single base station and one or more receivers, or multiple base stations and receivers.

[0117] EM detectors: EM detectors may be used to detect metals or magnetic fields with respect to surroundings.

[0118] Nuclear Density Gauge: Nuclear gauges may use radioactive sources to identify thickness, radiation density, or makeup of a wide varieties of materials.

[0119] Potentiometers: potentiometers may be used for measuring positions and / or angles of vehicle joints and end-effectors for various uses (e.g., ensuring that a vehicle is in a correct position or has returned to a corrected position).

[0120] In some embodiments, certain vehicles may have specific sensors that allow for specific information to be sensed. For example, certain sensors may be used to gather data regarding soil composition and ground hardness, which may be used in congruence with a machine learning model that may analyze the gathered data in order to determine what is below the surface of the ground in order to assist in digging.

[0121] While certain sensors are listed above, these sensors are exemplary, and other sensors may be used in the systems and methods described herein.Converter:

[0122] The main components of Converter can include:

[0123] Analog to Digital Converters (ADCs): ADCs may be used to convert analog signals, such as those from sensor outputs, into digital form that can be processed by digital devices like microprocessors or microcontrollers.

[0124] Digital to Analog Converters (DACs): Although less common in sensor data processing, DACs may be used to convert digital signals into analog form. They may be used when the controller needs to send analog control signals to certain parts of the system.

[0125] Signal Amplifiers: Signal amplifiers may be used to boost the signal strength of weak sensor outputs, ensuring that they can be correctly interpreted by the rest of the system.

[0126] Signal Conditioners: Signal conditioners may be used to improve the quality of signals from sensors, removing noise or interference and enhancing the signal -to-noise ratio.

[0127] Digital Signal Processor (DSP): A DSP may be used to take the digital data and perform operations such as filtering, Fourier transformation, or other manipulations needed for data analysis.

[0128] Filter Circuits: Filter circuits may be used to selectively allow certain frequencies to pass through. They can be used to eliminate high-frequency noise from sensor outputs.

[0129] Functions of Convertor can include:

[0130] Signal Conversion: A converter may be configured to convert raw sensor data into a format that can be processed by the rest of the system. Conversion often involves converting analog signals for further processing. The processed data can then be used to generate visual signals, auditory alerts, or haptic feedback.

[0131] Signal Amplification: If the sensor signals are too weak to be effectively processed, the converter may be used to amplify them to an appropriate level.

[0132] Signal Conditioning: The converter may also be configured to condition the signals by removing noise, compensating for interference, or adjusting the signal to the desired range or format.

[0133] Data Formatting: The converter may be configured to format the converted data so that the converted data can be properly processed by downstream components. This can involve adding identifiers to the data, organizing the data into packets, or encoding the data for transmission.

[0134] Data Transmission: Once the data is converted and formatted, the converter may be configured to send data to other components of the system, while preserving the integrity of the data and ensuring the data can be properly received and understood by the receiving components.

[0135] While certain components of the Converter are listed above, these components are exemplary, and others may be used. For example, in some embodiments, the Converter may include all six of the exemplary components described above, while in other embodiments, Converter may include a subset of the components, or additional components. Further, in some embodiments, certain Converter may have a different set of components.Analyzing Component:

[0136] Analyzing Component can include:

[0137] Data Processor: Data processors may be configured to receive data from the converter and processes the data to extract relevant information or insights.

[0138] Memory Units: Memory Units may be configured to store incoming data for processing, as well as store intermediate and final results of the data analysis.

[0139] Analysis Algorithms: Analysis algorithms may include pre-programmed instructions for how to analyze the data. Analysis algorithms may be statistical methods, machine learning algorithms, or other forms of data analysis, depending on the requirements.

[0140] Interface Units: Interface units allow the Analyzing Component to communicate with other parts of the system, receiving data from the converter and sending the results of the analysis to other components.

[0141] Functions of Analyzing Component can include:

[0142] Data Analysis: An Analyzing Component may be configured to analyze data the Analyzing Component receives. Analyzing the data may involve detecting patterns or trends, making predictions, or identifying features or anomalies in the data.

[0143] Decision Making: Analyzing Component may be configured to make decisions or recommendations about how the system should operate based on the results of the data analysis, the.

[0144] Data Storage: The Analyzing Component may be configured to store the data and the results of its analysis for future use. This stored data and results can be used to monitor the performance of the system over time, or as training data for machine learning algorithms.

[0145] Reporting: The Analyzing Component may be configured to prepare reports or visualizations based on the analyzed data and / or results. These can be used to provide feedback to the user, or to inform other components of the system about the current operational status.

[0146] Real-Time Processing: In some cases, the Analyzing Component may analyze data in real time and may be configured to provide immediate feedback to the user or other components of the system. This can allow users to quickly responding to changes in the operational environment.

[0147] Learning and Adaptation: If the Analyzing Component includes machine learning algorithms, the machine learning algorithms can be used to learn from the data that is analyzed and adapt operations over time. The machine learning algorithms can make the system more efficient and effective as the machine learning algorithms gain more experience.

[0148] While certain components of the Analyzing Component are listed above, these components are exemplary, and others may be used. For example, in some embodiments, the Analyzing Component may include all four of the exemplary components described above, while in other embodiments, Analyzing Component may include a subset of the components, or additional components. Further, in some embodiments, certain Analyzing Component may have a different set of components.Attachments:

[0149] Attachments of vehicles can include:

[0150] Shovel Bucket: may be used for digging and moving large amounts of soil, sand, or other materials installed on vehicles such as excavators, front-end loaders, or bucket shovels.

[0151] Forklift Prongs: may be used for lifting and transporting heavy loads. Forklift prongs may utilize pallets for lifting and transportation installed on vehicles such as forklift trucks.

[0152] Drill: may be used for boring holes into the ground or other materials installed on vehicles such as drills or tunnel boring machines.

[0153] Scoop Loader: Similar to a shovel bucket, Scoop Loaders may be used for scooping up loose material from the ground installed on vehicles such as front-end loaders or skid steers.

[0154] Backhoe: A type of shovel attachment that digs backward. Backhoes may commonly be used for trenching installed on vehicles such as backhoe loaders.

[0155] Grapple: Used for grabbing and lifting heavy objects. A grapple may often be used in logging operations installed on vehicles such as telescopic handlers, cranes, or feller bunchers.

[0156] Bulldozer Blade: may be used for pushing large amounts of material out of the way installed on vehicles such as bulldozers,

[0157] Dump Bed: may be used in haul trucks to transport loose materials like sand or gravel installed on vehicles such as articulated haul trucks, dump trucks, or off-highway dump trucks.

[0158] Crane Arm: A long arm used for lifting and moving heavy objects installed on vehicles such as cranes or tower cranes.

[0159] Pile Driver: may be used for driving piles into the soil to provide foundation support for buildings or other structures installed on vehicles such as pile drivers.

[0160] Compactor Wheel / Roller: may be used for compacting soil, gravel, concrete, or asphalt in the construction of roads and foundations installed on vehicles such as rollers / compactors, road rollers, or landfill compactors.

[0161] Conveyor Belt: may often used in mining operations to transport mined material from one location to another installed on vehicles such as mining trucks.

[0162] Jackhammer: may be used for breaking up rock, pavement, or concrete installed on vehicles such as excavators.

[0163] Plow Blade: may be attached to vehicles for removing materials like snow and ice from outdoor surfaces, primarily roads installed on vehicles such as snowplows.15. Sweeper Brushes: These are used to sweep areas, usually in an urban setting installed on vehicles such as street sweepers. While certain attachments are listed above, these attachments are exemplary, and other attachments may be used in the systems and methods described herein.

[0164] FIG. 1 illustrates a block diagram view of a vehicle control system 100. As depicted in FIG. 1, the control system 100 for managing a vehicle comprises a Controller Station 110, one or more Controller(s) 112, a User Interface (UI) Component 114, a Communications Component 116, and a Feedback Component 118. These elements form the command center from which the operations of the Vehicle 120 are managed. Controller station 110 may include one or more computers for performing the actions described herein (e.g., preparing and sending instructions based on user input received to the controller as well as receiving input from vehicles.) The Controlled s) 112 may be configured to receive a wide array of user inputs, which may range from simple button presses to complex command sequences. Inputs may be direct commands like "move forward" or "stop," or may be more high-level, such as commands to move to certain coordinates for a destination or commands to perform a specific function of an attachment (e.g., dropping material out of a scoop loader). In this depicted embodiment, there is one controller 112 managing a vehicle's operation(e.g., receiving input related to instructions for the vehicle’s operations as well as receiving feedback, which the controller can use to provide as haptic feedback or another form of feedback). In other embodiments, such as described with respect to FIGs. 2 and 12, multiple controllers 112 may be used. For example, a controller may correspond to a vehicle in a multi -vehicle operation (e.g., one controller per vehicle), a single controller may be configured to communicate with multiple vehicles, or multiple controllers may be used to control multiple vehicles in a multivehicle operation (such as described with respect to FIGs. 2 and 12), where some of the multiple controllers may be able to control more than one vehicle. Accordingly, the ability to switch communication between vehicles provides the system with great flexibility in managing complex operations - for example, the ability to quickly switch between two vehicles that perform corresponding functions (e.g., a bulldozer for knocking material loose, and an excavator for collecting the loose material) allows for more efficient operations. The controller station 110 may communicate with multiple vehicles (e.g., vehicle 120 and / or additional vehicles) during a single time period, allowing for the operation of multiple vehicles using multiple controllers of a single controller station.

[0165] Moreover, the controllers may not just be recipients of information; they can also provide valuable feedback. Feedback Component 118 may be configured to determine the feedback, which may include (e.g., in a visual message or audio message) or indicate (through haptic feedback) information on the vehicle's operational status. The feedback may be determined based on information (e.g., feedback 140) received from the vehicle, where the information may include or be determined using aspects of the vehicle’s surroundings, such as a force upon the vehicle, pressure felt by the vehicle or humidity. For example, vehicle 120 may use one or more sensors of sensors 122 to sense data regarding an aspect of the vehicle 120’s surroundings (e.g., how hard the surrounding material is,) may analyze the data regarding the aspect (e.g., using analyzing component 126), and provide feedback 140 regarding the aspect. Feedback component 118 may further convert the feedback 140 into feedback to be output from one or more controllers 112 (e.g., visual feedback displaying the aspect, such as a temperature of the surroundings, or haptic feedback indicating the aspect, such as a force exerted by the controller indicating a hardness of a material.)

[0166] In this depicted example, User Interface (UI) Component 114 provides an interface between the operator and the control system. The UI may include elements like a joystick, touchscreen, keyboard, or buttons, or any combinations thereof, to receive user input. The UI may also feature visual indicators like LEDs, display screens, or sound alerts for providing system feedback to the user. User input received at the user interface may be converted into instructions 130 (also referred to herein as “commands”) and provided to the vehicle.

[0167] The Communications Component 116 is configured to facilitate information transfer within the system. In this depicted example, communications component 116 is configured to transmit instructions from the controller to the vehicles, and for relaying feedback from the vehicles back to the controller. In a multi -vehicle scenario, the Communications Component 116 may manage the communication between the controllers and each of the vehicles (as further described with respect to FIGs. 2 and 12). The Vehicle 120, along with its attachments 128, which may include attachments as described herein, is equipped with Sensor(s) 122, as described herein, and a Converter 124, as described herein, may transform the sensor data into a usable format. In some embodiments, attachment(s) 128 comprises a retrofit kit, as described herein, which may receive instructions 130 and prepare the instructions 130 in a format understandable by the vehicle 120.The converted data may be further processed by the Analyzing Component 126, which prepares the feedback 140 for sending to the controller station 110, as shown herein. For example, the Converter 124 may receive raw data from various Sensor(s) 122 installed on the Vehicle 120. This raw data may be in a variety of formats such as analog signals, digital signals, binary signals, serial data, image data, or audio data depending on the type and function of the sensor. For instance, a temperature sensor may output voltage levels corresponding to different temperatures, while a GPS sensor may output location coordinates. A Vehicle, such as a dozer may compare its current position with the planned path using Global Positioning System (GPS) data combined with inertial measurement units (IMUs). If the dozer deviates from the planned path, the automation may adjust steering commands in real time to correct its course. In some embodiments, the operator may have access to a user interface that displays the current operational status of the dozer in autopilot mode. This interface may display a visual representation of the planned path, real-time location, and any detected obstacles. For instance, if the dozer encounters an unexpected object in its path, the system may alert the operator and pause the operation until the obstacle is cleared. In some embodiments, the systems and methods herein may allow for path planning adjustments during operation. If the operator notices that the terrain changes or requires a different approach, they may input new parameters through the interface. The automation may then recalibrate its path using up-dated information, allowing for flexible adaptation to site conditions. In some embodiments, the systems and methods herein may enable a machine like a dozer to steer itself and operate autonomously.The automation may allow the machine to perform multiple passes over a designated area without direct input from the operator. Portions of this raw data, in some embodiments, may not be usable by the control system, which may need the data in different format than the format data was received in. The Converter 124 may be configured to receive the raw sensor data and transforms the raw data into a standard, digital format that can be further processed, thereby allowing diversesensor data to be understood and used by the control system. The converted data may then be passed on to the Analyzing Component 126, which may be configured to take the converted sensor data and apply various algorithms to interpret the sensor data, extract meaningful insights, and identify any patterns or trends. Based on this analysis, the Analyzing Component 126 may process data and generate feedback 140 that can be transmitted back the controller station 110.

[0168] The feedback 140 may be processed by the Feedback Component 118 to be relayed back to the operator. This feedback can be in the form of visual cues on the UI Component 114, auditory alerts, or haptic feedback through the Controller(s) 112. Haptic feedback through the one or more controllers 112 may be useful as the haptic feedback can provide the operator with an intuitive feel for the vehicle's operations. For example, if the vehicle hits an obstacle, the operator may feel a jolt in the haptic controller, providing instant awareness of the situation. The Feedback Component 118 within the Controller Station 110 enhances control by receiving feedback related to the vehicle operations through the one or more controllers 112 and / or UI component 114. Based on this received feedback, which was derived from the sensor data, the Controller Station 110 can determine updates to the vehicle's conditions, surroundings, navigation data, vehicle’s health, safety or efficiency metrics of the vehicle's operations. These feedback may be different from haptic feedback and may include updates received from the vehicle operations including status reports, performance metrics, error alerts and more (e.g., displayed through UI component 114). In some embodiments, this additional feedback may be provided as a part of feedback 140. Accordingly, controller station 110 may determine updates to the vehicle’s conditions, surroundings, or other elements related to the vehicle based on the received additional feedback. The feedback can help maintain the responsiveness and adaptability of the control system as the vehicle operates. The vehicle control system can adapt to different scenarios based on the feedback received, demonstrating its flexibility and functionality. For an example, consider an excavator equipped with sensors. The sensors gather data during the operation of various attachments based on directives from the controllers. The data may be then transformed by a converter for further analysis. The vehicle 120's analyzing component interprets this data according to predetermined requirements. Once interpreted, feedback may be transmitted back to the central control station. This station in turn determines the appropriate haptic feedback to be relayed through the controller. The process may cover other vehicles as well.

[0169] In some embodiments, as described herein vehicles may perform functions as instructions are received, may perform functions autonomously, and / or may perform functions semi- autonomously. For example, a vehicle may receive instructions to perform a function, and then mayperform the function before providing feedback based on data sensed while performing the function.

[0170] A vehicle may also receive instructions to perform a function autonomously and may repeat the function until instructions are received that indicate the vehicle should stop performing the function. For example, instructions identifying a first set of coordinates within an environment, identifying a first function to perform at the first set of coordinates, identifying a second set of coordinates within the environment, and identifying a second function to perform at the second set of coordinates may be received by a vehicle. Upon receiving the instructions as well as receiving an indication that the instructions should be performed autonomously, the vehicle may travel to the first set of coordinates, perform the first function at the first set of coordinates, travel to the second set of coordinates, and then perform the second function at the second set of coordinates. The vehicle then may repeat those functions until receiving further instructions indicating that the vehicle should no longer repeat the functions.

[0171] A vehicle may also receive instructions to perform a function semi-autonomously. For example, instructions identifying a first set of coordinates within an environment, identifying a first function to perform at the first set of coordinates, identifying a second set of coordinates within the environment, and identifying a second function to perform at the second set of coordinates may be received by a vehicle. Upon receiving the instructions as well as receiving an indication that the instructions should be performed semi-autonomously, the vehicle may travel to the first set of coordinates, perform the first function at the first set of coordinates, travel to the second set of coordinates, and then perform the second function at the second set of coordinates. The vehicle may then not proceed with performing the function again until further instructions to perform the defined functions is received. Semi-autonomous functions may be defined by user input received to the controller, and instructions to perform semi-autonomous functions may be provided without having to provide user input to provide the exact instructions to perform the functions (e.g., rather than providing user input to perform each function related to the semi-autonomous function, the semi -autonomous function may be performed based on abbreviated instructions, such as the push of a button).

[0172] A controller station may also provide instructions limiting the abilities of a vehicle, even based on further user input received. For example, a controller station may receive user input indicating a boundary (e.g., a boundary defined by user input that the user does not want the vehicle to cross). In some embodiments, these boundaries may be useful in ensuring that vehicles do not cross paths and / or crash, as well as ensuring that certain materials are left untouched. Uponreceiving input that may cause the controller station to provide instructions that may cause a vehicle associated with the boundary to cross the boundary, a controller station may alter the instructions so that the vehicle, upon performing one or more functions associated with the altered instructions, would not cross the boundary. Such boundaries may include a set of coordinates that a vehicle cannot cross, whether the body of the vehicle (e.g., by driving across the boundary) or by attachments of the vehicle (e.g., through the use of an attachment).

[0173] FIG. 2 illustrates a block diagram view of a multi-vehicle control system. As depicted in FIG. 2, the control system is designed for simultaneous control and operation of two vehicles, namely Vehicle 120 and Vehicle 220. While vehicle 120 and vehicle 220 are described in this depicted example, the controller station 110 may communicate with any number of vehicles, allowing for communication of instructions to systems of vehicles to assist in vehicle operations. Each vehicle, equipped with its own set of components (e.g., Attachment s) 128 for Vehicle 120 and Attachment(s) 228 for Vehicle 220), Sensor(s) 122 for Vehicle 120 and Sensor(s) 222 for Vehicle 220, and Converter 124 for Vehicle 120 and Converter 224 for Vehicle 220), functions independently. These sub -components work collectively for optimal operations of each vehicle. The Controller Station 110 is responsible for controlling both vehicles, where the controller station 110 includes Controller(s) 112, a UI Component 114 that interfaces with the operator, and a Communications Component 116 that enables efficient data transfer. Each Vehicle's Converter processes sensor data and sends the sensor data to the Analyzing Component 126 for Vehicle 120 and Analyzing Component 226 for Vehicle 220 for evaluation. Based on the analysis, Instructions 130 for Vehicle 120 and Instructions 230 for Vehicle 220 are generated for each vehicle. The Feedback Component 118 within the Controller Station 110 receives updates from both vehicles, enabling the system to adapt and optimize operations for each vehicle. The overarching Feedback 140 for Vehicle 120 and Feedback 240 for Vehicle 220 enables the system to learn and adapt based on the performance of each individual vehicle. The multi-vehicle control system embodies a synchronized and coordinated approach to vehicle control, illustrating its broad applicability and flexibility for scenarios requiring control of multiple vehicles simultaneously. In the multi-vehicle control system, the controllers or User Interface (UI) component can be designed to manage inputs that allow for communication with and control over multiple vehicles. This means that an operator can simultaneously control and coordinate several vehicles, if needed. The operator may switch between vehicles as necessary, even while the vehicles are still in operation. The vehicle may perform different tasks such as exaction or transportation under different conditions such as a construction site or a mining operation in different locations.

[0174] Accordingly, as described with respect to FIGs. 1-2, controllers may be used to control multiple vehicles during a same time period (e.g., a plurality of controllers may communicate with a plurality of vehicles at the same time, which may cause the plurality of vehicles to perform one or more functions simultaneously or in synchronization). For example, FIG. 10 depicts a system 1000 comprising controller station 110, which comprises controllers 1012 and 1014, which are in communication with vehicle 1022 and 1024, respectively, which are operating within environment 1010. In this depicted example, vehicle 1022 may be an exemplary vehicle, such as an excavator and vehicle 1024 may be another exemplary vehicle, such as a skid steer. In this depicted example, controller 1012 is a controller in a form mimicking the form of an excavator (e.g., a “totem” having one or more corresponding attachments of an excavator). In this depicted example, controller 1014 is space mouse. While the controller in the form of an excavator and a space mouse are described as controllers in this example, these controllers are exemplary, and other controllers may be used. In some embodiments, the totem may resemble a smaller (e.g., handheld or toy) version of a vehicle (e.g., an excavator.) The totem may comprise motors on each joint. In some embodiments, when the operator moves the totem, the larger excavator may move in synchronization, creating a direct correlation between the two. For example, if the operator tilts an arm of the totem, the arm of the larger machine may mimic that motion in real time, allowing the operator to visualize the effects of the input. This interaction may facilitate learning by providing a tangible understanding of excavator movements. In some embodiments, the systems and methods herein may enable the operator to recognize when the larger excavator encounters obstacles, such as rock or heavy clay. The system may provide feedback to the operator, allowing them to adjust their operation techniques accordingly. In some embodiments, this feedback may enhance the operator's learning experience, promoting effective skill development. In some embodiments, the integration of the toy version with the larger excavator may serve as a training tool. This training method may simplify the learning process for new operators, allowing them to develop their skills in a controlled manner.

[0175] The controller 1012 provides instructions to the vehicle 1022 indicative of user input received at the controller (e.g., user input to an arm of the excavator indicating that the excavator should dig at a desired location). Upon performing a function (e.g., digging at the desired location) in response to the instructions, which may be received by a retrofit kit of vehicle 1022, the vehicle may provide feedback (e.g., force feedback indicating the hardness and stability of the material that has been dug up). Within the same period (e.g., controller 1012 is in communication with vehicle 1022 at the same time that controller 1014 is in communication with vehicle 1024, allowing for simultaneous or synchronized functions), controller 1014 may provide instructions to vehicle 1024 based on user input received to the controller 1014. The vehicle 1024 may receive the instructionsat a retrofit kit and performs one or more functions in response to the instructions. The vehicle 1024 similarly may provide feedback (e.g., feedback indicating the weight of the material being scooped) to the controller, where the controller then outputs feedback (e.g., force feedback indicating the weight of the material being scooped).

[0176] As described herein, controllers may also receive input defining a function for a vehicle to perform autonomously (e.g., the vehicle may repeat the function until receiving instructions to stop) or semi -autonomously (e.g., a function may be defined by input to the controller, and additional input, such as the push of a button, to the controller may cause the controller to send instruction to perform the defined function). In this depicted example, controller 1012 may provide instructions to vehicle 1022 to autonomously excavate dirt at a first set of coordinates in environment 1010 and drop the excavated dirt a second set of coordinates in environment 1010. Controller 1014 may additionally provide instructions to vehicle 1024 to semi-autonomously go to the second set of coordinates within environment 1010 (e.g., where the dirt was dropped), scoop dirt from those coordinates, travel to a third set of coordinates within environment 1010, and drop the scooped dirt at the third set of coordinates. Accordingly, as vehicle 1014 continuously excavates dirt and piles it at the second set of coordinates, the vehicle 1024 will (upon receive the input related to the semi- autonomous function) additionally, scoop the dirt at the second set of coordinates, travel with the scooped dirt to the third set of coordinates, and drop the scooped dirt at the third set of coordinates, all within the same time period that controller 1014 and vehicle 1024, and controller 1012 and vehicle 1022, are in communication.

[0177] As noted above, in some embodiments, a vehicle may be outfitted with a retrofit kit. In some embodiments, when outfitted, a retrofit kit resides on top of the vehicle and is circled within the figure. In some embodiments, the retrofit kit may be coupled to the vehicle in such a way that the retrofit kit may provide received instructions to the vehicle in a format that the vehicle may understand (e.g., to perform one or more functions). The hardware of a retrofit kit may include computers and electronics that convert instructions from a controller into signals that input directly into the vehicle to cause the vehicle to perform one or more functions.

[0178] FIG. 3 illustrates a block diagram of a process flow for initiating feedback loops within the multi-vehicle control system. As depicted in FIG. 3, the process flow outlines the operational steps involved in the simultaneous control and operation of two vehicles 120 and 220. As illustrated in FIG. 3, each vehicle may sense a series of aspects (e.g., through sensor data, as described with respect to FIGs. 1-2) for Vehicle 120 and aspects for Vehicle 220 at steps 305a and 305b, respectively. The aspects may include a force upon the vehicle, a pressure felt by the vehicle, ahumidity or moisture, a soil composition, a temperature, an electrical charge felt by the vehicle, an object or an obstacle sensed by the sensors, a motion or orientation of the vehicle or another aspect of the surroundings of the vehicle. Such as described with respect to FIG. 1 or FIG. 2, in some embodiments, the collected data from the aspects may be converted and potentially analyzed (at step 310a for Vehicle 120 and step 310b for Vehicle 220) for additionally aspects before determining the feedbacks for Vehicle 120 and for Vehicle 220 at steps 325a and 325b, respectively, and sending them over to the Controller Station 110. In some embodiments, the data collection, analysis and transmission of the feedback for Vehicle 120 and for Vehicle 220 may not be concurrent. The Controller Station 110 may receive the feedback at step 330 (which may or may not be provided concurrently) and evaluates the feedback at step 340 to generate the appropriate response. The response may be manifested in the form of visual (e.g., flashing light, images, videos, etc.), auditory (e.g., alarms, narrative voice, sounds, etc.) or haptic (e.g., vibrations, forces, movements, etc.) feedback to the controller at step 350. As an example, an operator is using a Bulldozer to push and pile soil on an uneven terrain. As described with reference to FIG. 1 or FIG. 2, the bulldozer may begin to collect data such as the force it’s applying to the soil, the pressure felt from the load, and the current humidity conditions. This data may comprise sensor data which may then converted and further analyzed. Based on this analysis, feedback for the bulldozer generated and sent to the Controller Station 110. The controller station may then evaluate the feedback and generates an appropriate response. For instance, when the bulldozer successfully moves a pile of soil, the operator may see a green flashing light on the control panel, indicating that the task has been accomplished. Meanwhile, if the operator tries to push a heavier load, the pedals or the joystick may provide additional resistance, signaling the increased weight of the load. If the bulldozer moves over a bumpy area, the operator may feel an increased vibration in their seat. This haptic feedback serves as a real-time notification of the challenging terrain, enabling the operator to adjust their handling of the bulldozer accordingly. These responses may thus be relayed to the operator visually, audibly, and haptically, effectively closing the feedback loop and allowing for effective and efficient control of bulldozer’s operations. The process diagram illustrates the steps involved in real-time vehicle control, underlining the system’s adaptability and its ability to manage multiple vehicles simultaneously. The process flow reveals the system’s robustness and its readiness to handle dynamic control scenarios.

[0179] FIG. 4 illustrates a block diagram of an extended process flow for providing instructions and initiating feedback loops within the multi-vehicle control system. As depicted in FIG. 4, the process flow builds upon the operations shown in FIG. 3 and further elaborates the interactions involved in managing two vehicles 120 and 220. In some embodiments, the controller station maybe in communication with vehicle 120 and vehicle 220 throughout the process in order to provide instructions, such as those received at a controller, and receive feedback from vehicles 120 and vehicle 220, where the feedback from vehicles 120 and 220 may be translated and provided as feedback through associated controller (e.g., as haptic feedback). As illustrated in FIG. 4, the process may begin with user input provided to the Controller Station 110. In some embodiments, the user input may be received at a first controller and a second controller. This input is translated and provided as instructions from a first controller at step 405a for Vehicle 120 and instructions from a second controller at step 405b for Vehicle 220. In some embodiments, the instructions may be given concurrently (e.g., while the first controller is in communication with vehicle 120 and while the second controller is in communication with vehicle 220). In some embodiments, the instructions may not be given concurrently. In some embodiments, a single controller of controller station 110 may be used to provide instructions to each of vehicles 120 and 220. In those embodiments, the single controller may switch between communications to vehicle 120 and vehicle 220. In some embodiments, a plurality of controllers may be used to provide instructions to vehicles 120 and 220. In those embodiments, vehicle 120 may receive instructions from a first controller of the plurality of controllers, and vehicle 220 may receive instruction from a second controller of the plurality of controllers. As illustrated in FIG. 4, each vehicle may sense a series of aspects for Vehicle 120 and aspects for Vehicle 220 at steps 410a and 410b, respectively. The aspects may include a force upon the vehicle, a pressure felt by the vehicle, a humidity or moisture, a soil composition, a temperature, an electrical charge felt by the vehicle, an object or an obstacle sensed by the sensors, a motion or orientation of the vehicle or another aspect of the surroundings of the vehicle. Such as described with respect to FIG. 1 or FIG. 2, the collected data from the aspects are converted and potentially analyzed for more aspects before determining and providing feedback for Vehicle 120 and for Vehicle 220 and sending them over to the Controller Station 110 at steps 425a and 425b, respectively. Then attachment(s) 420a for Vehicle 120 and attachment(s) 420b for Vehicle 220 are put into use based on the user’s commands or autonomous directives. In some embodiments, the data collection, analysis, and transmission of feedback 425a for Vehicle 120 and feedback 425b for Vehicle 220 may occur concurrently (e.g., while the first controller is in communication with vehicle 120 and while the second controller is in communication with vehicle 220). In some embodiments, the data collection, analysis, and transmission of feedback 425a for Vehicle 120 and feedback 425b for Vehicle 220 may not occur concurrently. In some embodiments, a single feedback component of controller station 110 may be used to receive feedback from each of vehicles 120 and 220. In those embodiments, the single feedback component may switch between receiving communications from vehicle 120 and vehicle 220. In someembodiments, a plurality of feedback components may be used to receive feedback from vehicles 120 and 220. In those embodiments, vehicle 120 may send feedback to a first feedback component of the plurality of feedback components, and vehicle 220 may send feedback to a second feedback component of the plurality of feedback components. The Controller Station 110 receives the feedback at step 430 and evaluates the feedback at step 435 to generate the appropriate response. The response is manifested in the form of visual (e.g., flashing light, images, videos, etc.), auditory (e.g., alarms, narrative voice, sounds, etc.) or haptic (e.g., vibrations, forces, movements, etc.) feedback to the controller 440. This thorough diagram underscores the steps involved in real-time control of multiple vehicles, highlighting the system’s efficiency, adaptability, and readiness to handle complex control scenarios.

[0180] Accordingly, as described herein, a single controller station 110 with a plurality of controllers can control a plurality of corresponding vehicles, such as where each controller of the plurality of controllers corresponds to a single vehicle of the plurality of corresponding vehicles. By using the controller station, users can more control the cohesiveness of operations that involve multiple vehicles. For example, as controller station 110 communicates with each of the vehicles when receiving input to their corresponding controllers, translating that input, and proving the instructions to the vehicles while also providing user-understood feedback (e.g., in the form of haptic feedback or a different form of feedback) through the controllers, a user can understand the surroundings of the vehicle and provide input that causes the vehicles to work simultaneously, in synchronization, or cohesively. In an example embodiment, a controller station may have three linked controllers: (1) a first controller in the form of a skid steer, which can receive user input for providing instructions to a skid steer in communication with the controller station as well as receive instructions to provide feedback based on the skid steer’s surroundings, (2) a second controller in the form of an excavator, which can receive user input for providing instructions to an excavator in communication with the controller station as well as receive instructions to provide feedback based on the excavator’s surroundings, and (3) a third controller comprising a space mouse, which can receive user input for providing instructions to a compactor in communication with the controller station as well as receive instructions to provide feedback based on the compactor’s surroundings. The controller station may receive input defining a continuous digging function for the excavator to perform at a first location, which causes the excavator to perform the function repeatedly while providing feedback to the controller station which is relayed through the first controller. The controller station may additionally receive input defining a semi-autonomous function for the skid steer to perform, where the function includes scooping the dug material at the first location, travelling to a second location, and dropping the dug material at the second location. The controllerstation may further receive input from a user indicating that the compactor should compact the dug material at the second location, and user input may be received at one or more times in order to cause the compactor to compact the dug material, where the particular user input may not be continuous or autonomous in order to make sure that the compactor and the skid steer do not crash. However, even in the event that the compactor and the skid steer did crash, haptic feedback (e.g., a force through the controller) may be provided to the user, indicating that the user should change the instructions being provided. In another embodiment as well, a crash may be prevented by previous user input to the controller’s defining a boundary for one or more of the described vehicles (e.g., defining a boundary that a vehicle cannot cross). By defining the boundary that the skid steer cannot cross next to the area where the compactor may compact the material, the skid steer may not move into the compactor’s path. A similarly defined boundary may prevent the compactor from moving into the path of the skid steer even if user input indicating that the compactor should move into the path of the skid steer was received. Accordingly, through the carefully designed input and control of each of the vehicles through an operation session, projects can be completed in a user- friendly, efficient, and safe manner.

[0181] FIG. 5 illustrates a method for controlling a multi-vehicle control system. As depicted in FIG. 5, the method gives an in-depth look at the operational processes when controlling one or more vehicles. The method includes a meticulous process of mass displacement with one or multiple vehicles such as an excavator, bulldozer, crane, or humanoid robot among others. In some embodiments, the process initiates with receiving user input and autonomous directives at the controller station (502, 504). The user input and autonomous directives can be in the form of instructions 506 to perform one or more functions based on the input to a controller in communication with the vehicles. Upon receiving the instructions, the vehicles implement them (508). The instructions may incorporate actions like movement along specific axes, the use of vehicle attachments or specific functions when encountering boundaries. The controller is not physically attached to the vehicles, but the controller communicates using mechanisms like a mesh Wi-Fi system, satellite internet network, long-range radio communication, a cellular network, or other forms of communication. The vehicles may be equipped with sensors such as cameras, LIDAR, or sonar, receive these instructions, and in turn, generate feedback based on aspects identified or determined from the data sensed by the sensors, or within defined boundaries such as physical boundaries or artificial boundaries (e.g., through geofencing, environmental boundaries, safety boundaries, regulatory boundaries, or operational boundaries). These sensors may provide continuous updates about the terrain, identifying features such as slopes, depressions, or obstacles like boulders and other machines. The data collected by these sensors may be processed usingmachine learning techniques to improve the accuracy of the path planning over time. In some embodiments, the operator may engage an autopilot mode to initiate automated operation. For example, the operator may position the dozer at the starting point of a designated path. Once the operator activates the autopilot feature, the dozer may autonomously begin moving along the calculated path. In some embodiments, the systems and methods herein may include a feedback loop to ensure precise navigation. The sensed aspects may include attributes such as force, pressure, humidity, soil composition, temperature, and others associated with the surroundings of the vehicles. The boundary associated with the vehicle can either be the limit of the vehicle’s reach or an artificial boundary, determined by user input or related to a workspace of the vehicle formed by factors such as vehicle capabilities, user input, environmental factors, safety considerations, operational requirements, legal or regulatory limits. In some embodiments, an indication for the vehicles to perform an autonomous function may be provided in response to an input to the controller. In some embodiments, the indication for autonomous function of vehicles may be given concurrently. In some embodiments, the indication for autonomous function of vehicles may not be given concurrently. This autonomous function may involve iterative performance of the function and may be defined even before the indication is provided. While executing these tasks, the vehicles may continuously generate feedback based on their operations and performance. This feedback is then transmitted back to the controller station (510). As these vehicles generate and transmit feedback to the controller, the user interface displays one or more views associated with the vehicles. These views may present a first-person view from the vehicle, a third-person view capturing the vehicle, or a view around a portion of the vehicle. The controller station processes the received feedback and presents the received feedback to the user in multiple formats. This presentation can take multiple forms such as visual, auditory, or haptic feedback. For example, a controller of the controller station may receive and analyze the feedback, and subsequently determine feedback for the user. The controller provides the feedback (e.g., haptic feedback) in ways such as exerting resistance, altering the temperature, or causing vibrations. This detailed feedback helps the user make precise decisions for subsequent vehicle operations. This system also establishes communication with additional vehicles based on extra input received by the controller. The method is thus designed for multi-vehicle control, with the controller and additional controllers configured to operate concurrently. In addition to the vehicles, the controller can be further equipped with a retrofit kit that includes multiple sensors, some of which may even be detached from the vehicle such as a camera on a mobile tripod or a drone. The processed information assists the user in making further informed decisions, establishing a dynamic, continuous loop for controlling multiple vehicles simultaneously.

[0182] FIG. 6 illustrates a method for controlling a multi-vehicle control system for mass displacement with a vehicle with an expanded process flow. The method may start with the provision of instructions to perform one or more functions based on input to a controller in communication with the vehicle. The controller is not attached to the vehicle. These instructions can direct the vehicles to move or use specific attachments to displace mass. At step 604, the method proceeds to receive feedback from the vehicle in response to the instruction execution. The feedback is derived from data gathered by the one or more sensors of the vehicle or defined boundaries and reflects specific aspects associated with the vehicle’s surroundings. The aspect may be environmental factors, boundary limitations, or operation-specific parameters. At step 606, the method provides haptic feedback through the controller based on the feedback received from the vehicle. This may manifest as vibrations, temperature changes, or resistance, offering an immersive user interface that allows users to "feel" the situation at hand, thus enhancing their decision -making process. In some embodiments, the method further includes displaying one or more views associated with the vehicle on a user interface. These views may present a first-person view from the vehicle, a third-person view capturing the vehicle, or a view around a portion of the vehicle. In some embodiments, the method provides an indication for the vehicle to autonomously perform a function, which may involve iterative performance of the function defined before the indication is provided. In some embodiments, the method extends to establish communication with a second vehicle, based on additional input received by the controller. In some embodiments, the vehicle can be an array of industrial vehicles or robots such as an excavator, bulldozer, crane, or humanoid robot. In some embodiments, the method incorporates providing instructions and receiving feedback from a second vehicle based on additional input. In some embodiments, the vehicle comprises an actuator configured to translate the instructions to perform one or more functions. In some embodiments, the one or more functions encompass the vehicle’s movement along one or more axes or the use of one or more of the vehicle’s attachments. In some embodiments, the artificial boundary is based on user input or associated with the workspace of the vehicle. In some embodiments, the method involves altering the instructions to prevent the vehicle from crossing a defined boundary. In some embodiments, the aspect sensed includes a variety of parameters including environmental factors and vehicle performance metrics such as force, pressure, humidity, soil composition, temperature, and more. In some embodiments, the method further comprises analyzing, translating the received feedback, and determining a proportional response to present haptic feedback. In some embodiments, the feedback provided includes visual feedback, audio feedback, sensory feedback, or haptic feedback. In some embodiments, the method further comprises displaying information associated with the aspect on a user interface. In someembodiments, the controller station comprises the controller and possibly a second controller, both of which can be operated concurrently. In some embodiments, at least one of the one or more sensors is detached from the vehicle and includes a camera on a mobile tripod, a drone, or blimps. In some embodiments, the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network. In some embodiments, the method involves receiving a coordinate point within a three-dimensional space, calculating necessary movements of the vehicle based on the coordinate point, and transmitting instructions to guide the vehicles to the coordinate.

[0183] Referring to FIG. 7, a block diagram is shown depicting an exemplary machine that includes a computer system 700 (e.g., a processing or computing system) within which a set of instructions can execute for causing a device to perform or execute any one or more of the aspects and / or methodologies for static code scheduling of the present disclosure. The components in FIG. 7 are examples only and do not limit the scope of use or functionality of any hardware, software, embedded logic component, or a combination of two or more such components implementing particular embodiments.

[0184] Computer system 700 may include one or more processors 701, a memory 703, and a storage 708 that communicate with each other, and with other components, via a bus 740. The bus 740 may also link a display 732, one or more input devices 733 (which may, for example, include a keypad, a keyboard, a mouse, a stylus, etc.), one or more output devices 734, one or more storage devices 735, and various tangible storage media 736. All of these elements may interface directly or via one or more interfaces or adaptors to the bus 740. For instance, the various tangible storage media 736 can interface with the bus 740 via storage medium interface 726. Computer system 700 may have any suitable physical form, including but not limited to one or more integrated circuits (iCs), printed circuit boards (PCBs), mobile handheld devices (such as mobile telephones or PDAs), laptop or notebook computers, distributed computer systems, computing grids, or servers.

[0185] Computer system 700 includes one or more processor(s) 701 (e.g., central processing units (CPUs), general purpose graphics processing units (GPGPUs), or quantum processing units (QPUs)) that carry out functions. Processor(s) 701 optionally contains a cache memory unit 702 for temporary local storage of instructions, data, or computer addresses. Processor(s) 701 are configured to assist in execution of computer readable instructions. Computer system 700 may provide functionality for the components depicted in Fig. 7 as a result of the processor(s) 701 executing non-transitory, processor-executable instructions embodied in one or more tangible computer-readable storage media, such as memory 703, storage 708, storage devices 735, and / orstorage medium 736. The computer-readable media may store software that implements particular embodiments, and processor(s) 701 may execute the software. Memory 703 may read the software from one or more other computer-readable media (such as mass storage device(s) 735, 736) or from one or more other sources through a suitable interface, such as network interface 720. The software may cause processor(s) 701 to carry out one or more processes or one or more steps of one or more processes described or illustrated herein. Carrying out such processes or steps may include defining data structures stored in memory 703 and modifying the data structures as directed by the software.

[0186] The memory 703 may include various components (e.g., machine readable media) including, but not limited to, a random-access memory component (e.g., RAM 704) (e.g., static RAM (SRAM), dynamic RAM (DRAM), ferroelectric random access memory (FRAM), phasechange random access memory (PRAM), etc.), a read-only memory component (e.g., ROM 705), and any combinations thereof. ROM 705 may act to communicate data and instructions unidirectionally to processor(s) 701, and RAM 704 may act to communicate data and instructions bidirectionally with processor(s) 701. ROM 705 and RAM 704 may include any suitable tangible computer-readable media described below. In one example, a basic input / output system 706 (BIOS), including basic routines that help to transfer information between elements within computer system 700, such as during start-up, may be stored in the memory 703.

[0187] Fixed storage 708 is connected bidirectionally to processor(s) 701, optionally through storage control unit 707. Fixed storage 708 provides additional data storage capacity and may also include any suitable tangible computer-readable media described herein. Storage 708 may be used to store operating system 709, executable(s) 710, data 711, applications 712 (application programs), and the like. Storage 708 can also include an optical disk drive, a solid-state memory device (e.g., flash-based systems), or a combination of any of the above. Information in storage 708 may, in appropriate cases, be incorporated as virtual memory in memory 703.

[0188] In one example, storage device(s) 735 may be removably interfaced with computer system 700 (e.g., via an external port connector (not shown)) via a storage device interface 725.Particularly, storage device(s) 735 and an associated machine-readable medium may provide nonvolatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data for the computer system 700. In one example, software may reside, completely or partially, within a machine-readable medium on storage device(s) 735. In another example, software may reside, completely or partially, within processor(s) 701.

[0189] Bus 740 connects a wide variety of subsystems. Herein, reference to a bus may encompass one or more digital signal lines serving a common function, where appropriate. Bus 740 may beany of several types of bus structures including, but not limited to, a memory bus, a memory controller, a peripheral bus, a local bus, and any combinations thereof, using any of a variety of bus architectures. As an example and not by way of limitation, such architectures include an Industry Standard Architecture (ISA) bus, an Enhanced ISA (EISA) bus, a Micro Channel Architecture (MCA) bus, a Video Electronics Standards Association local bus (VLB), a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCLX) bus, an Accelerated Graphics Port (AGP) bus, HyperTransport (HTX) bus, serial advanced technology attachment (SATA) bus, and any combinations thereof.

[0190] Computer system 700 may also include an input device 733. In one example, a user of computer system 700 may enter commands and / or other information into computer system 700 via input device(s) 733. Examples of an input device(s) 733 include, but are not limited to, an alphanumeric input device (e.g., a keyboard), a pointing device (e.g., a mouse or touchpad), a touchpad, a touch screen, a multi-touch screen, a joystick, a stylus, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), an optical scanner, a video or still image capture device (e.g., a camera), and any combinations thereof. In some embodiments, the input device is a Kinect, Leap Motion, or the like. Input device(s) 733 may be interfaced to bus 740 via any of a variety of input interfaces 723 (e.g., input interface 723) including, but not limited to, serial, parallel, game port, USB, FIREWIRE, THUNDERBOLT, or any combination of the above.

[0191] In particular embodiments, when computer system 700 is connected to network 730, computer system 700 may communicate with other devices, specifically mobile devices and enterprise systems, distributed computing systems, cloud storage systems, cloud computing systems, and the like, connected to network 730. Communications to and from computer system 700 may be sent through network interface 720. For example, network interface 720 may receive incoming communications (such as requests or responses from other devices) in the form of one or more packets (such as Internet Protocol (IP) packets) from network 730, and computer system 700 may store the incoming communications in memory 703 for processing. Computer system 700 may similarly store outgoing communications (such as requests or responses to other devices) in the form of one or more packets in memory 703 and communicated to network 730 from network interface 720. Processor(s) 701 may access these communication packets stored in memory 703 for processing.

[0192] Examples of the network interface 720 include, but are not limited to, a network interface card, a modem, and any combination thereof. Examples of a network 730 or network segment 730 include, but are not limited to, a distributed computing system, a cloud computing system, a widearea network (WAN) (e.g., the Internet, an enterprise network), a local area network (LAN) (e.g., a network associated with an office, a building, a campus or other relatively small geographic space), a telephone network, a direct connection between two computing devices, a peer-to-peer network, and any combinations thereof. A network, such as network 730, may employ a wired and / or a wireless mode of communication. In general, any network topology may be used.

[0193] Information and data can be displayed through a display 732. Examples of a display 732 include, but are not limited to, a cathode ray tube (CRT), a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT-LCD), an organic liquid crystal display (OLED) such as a passive-matrix OLED (PMOLED) or active-matrix OLED (AMOLED) display, a plasma display, and any combinations thereof. The display 732 can interface to the processor(s) 701, memory 703, and fixed storage 708, as well as other devices, such as input device(s) 733, via the bus 740. The display 732 is linked to the bus 740 via a video interface 722, and transport of data between the display 732 and the bus 740 can be controlled via the graphics control 721. In some embodiments, the display is a video projector. In some embodiments, the display is a head-mounted display (HMD) such as a VR headset. In further embodiments, suitable VR headsets include, by way of non-limiting examples, HTC Vive, Oculus Rift, Samsung Gear VR, Microsoft HoloLens, Razer OSVR, FOVE VR, Zeiss VR One, Avegant Glyph, Freefly VR headset, and the like. In still further embodiments, the display is a combination of devices such as those disclosed herein.

[0194] In addition to a display 732, computer system 700 may include one or more other peripheral output devices 734 including, but not limited to, an audio speaker, a printer, a storage device, and any combinations thereof. Such peripheral output devices may be connected to the bus 770 via an output interface 724. Examples of an output interface 724 include, but are not limited to, a serial port, a parallel connection, a USB port, a FIREWIRE port, a THUNDERBOLT port, and any combinations thereof.

[0195] In addition, or as an alternative, computer system 700 may provide functionality as a result of logic hardwired or otherwise embodied in a circuit, which may operate in place of or together with software to execute one or more processes or one or more steps of one or more processes described or illustrated herein. Reference to software in this disclosure may encompass logic, and reference to logic may encompass software. Moreover, reference to a computer-readable medium may encompass a circuit (such as an IC) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware, software, or both.

[0196] Those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.

[0197] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general -purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

[0198] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by one or more processor(s), or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

[0199] In accordance with the description herein, suitable computing devices include, by way of non-limiting examples, server computers, desktop computers, laptop computers, notebook computers, sub-notebook computers, netbook computers, netpad computers, set-top computers, media streaming devices, handheld computers, Internet appliances, mobile smartphones, tablet computers, personal digital assistants, video game consoles, and vehicles. Those of skill in the art will also recognize that select televisions, video players, and digital music players with optional computer network connectivity are suitable for use in the system described herein. Suitable tabletcomputers, in various embodiments, include those with booklet, slate, and convertible configurations, known to those of skill in the art.

[0200] In some embodiments, the computing device includes an operating system configured to perform executable instructions. The operating system is, for example, software, including programs and data, which manages the device’s hardware and provides services for execution of applications. Those of skill in the art will recognize that suitable server operating systems include, by way of non-limiting examples, FreeBSD, OpenBSD, NetBSD®, Linux, Apple® Mac OS X Server®, Oracle® Solaris®, Windows Server®, and Novell® NetWare®. Those of skill in the art will recognize that suitable personal computer operating systems include, by way of non-limiting examples, Microsoft® Windows®, Apple® Mac OS X®, UNIX®, and UNIX-like operating systems such as GNU / Linux®. In some embodiments, the operating system is provided by cloud computing. Those of skill in the art will also recognize that suitable mobile smartphone operating systems include, by way of non-limiting examples, Nokia® Symbian® OS, Apple® iOS®, Research In Motion® BlackBerry OS®, Google® Android®, Microsoft® Windows Phone® OS, Microsoft® Windows Mobile® OS, Linux®, and Palm® WebOS®. Those of skill in the art will also recognize that suitable media streaming device operating systems include, by way of nonlimiting examples, Apple TV®, Roku®, Boxee®, Google TV®, Google Chromecast®, Amazon Fire®, and Samsung® HomeSync®. Those of skill in the art will also recognize that suitable video game console operating systems include, by way of non-limiting examples, Sony® PS3®, Sony® PS4®, Sony® PS5®, Microsoft® Xbox 360®, Microsoft® Xbox One, Microsoft® Xbox Series X, Microsoft® Xbox Series S, Nintendo® Wii®, Nintendo® Wii U®, Nintendo® SwitchTM, and Ouya®. Another aspect of the disclosure herein describes a non-transitory, computer-readable medium comprising executable instructions, wherein when a processor, when executing the executable instructions, performs a method as described herein.

[0201] In some embodiments, the systems and methods herein may allow for operators to control a plurality of machines simultaneously. For example, a single operator may use three controllers to operate three separates machines or may use a single control to operate the three separate machines. The system may further comprise a central control unit comprising one or more user interfaces. The one or more user interfaces may display one or more views (e.g., displaying images or video from one or more sensors) as well as one or more aspects associated with one or more vehicles (e.g., properties of the vehicle or associated surroundings.)

[0202] In some embodiments, the systems and methods herein may comprise a graphical user interface (GUI) as shown in FIGs. 11-14. In some embodiments, the GUI comprises a job siteview. The job site view may be generated using a sensor of the one or more sensors (e.g., using telemetry data from a sensor, such as one or more cameras on one or more drones). The telemetry data may include or indicate information such as machine status, operational metrics, or performance indicators. FIG. 11 shows an example view of the GUI 1100, showcasing a perspective of the job site 1110. The job site’s view may be obtained from one or more sensors, such as cameras (e.g., on drones near the job site), providing operators with either a live feed or recorded footage of the site. In addition to the visual representation, the GUI may show the name and location of the job site, the types and number of machines in use, and the current status of operations, such as whether machines are active, idle, or in maintenance mode. The interface may also display specific objectives for the operator, user profile information, and customizable settings or configuration options.

[0203] In some embodiments, the GUI may visualize the using telemetry data (e.g., from a done). The job site itself, or working terrain area, may be a location in which the machines are working. The telemetry data from the drone scan may illustrate real-time changes in the terrain, allowing the operator to assess conditions promptly. In some embodiments, a final grading plan (e.g., associated with civil engineering configurations) may be displayed. The final grading plan may represent the finished elevation of the ground surface after earthwork activities, ensuring proper drainage, aesthetics, and functionality of the site. Certain civil engineering configurations associated with the grading plan may be uploaded from various tools used for creating civil 3D plans, such as Autodesk Civil 3D, MicroStation, or any combination thereof. In some embodiments, the user interface may include one or more elements to enhance user interactions. The one or more elements display different objectives for the operator to achieve. In some embodiments, the operator may provide input to the one or more elements displaying one or more objectives to access detailed instructions related to each task. The one or more elements may further indicate a step-by-step guide for the operator, allowing for efficient task completion. In some embodiments, one or more objectives may be uploaded by the user or another party. Upon accomplishing these objectives, they may be marked as completed and / or removed from the list. Accomplishment may be determined through user input or by the system sensing completion through feedback mechanisms.

[0204] In some embodiments, the systems and methods herein may enable the operator to track progress through a visual dashboard 1200, as shown in FIG. 12. The dashboard may display and / or summarize daily metrics, such as completed tasks, machine performance, or time spent on each operation. In some embodiments, the systems and methods herein may facilitate a gamified experience for the operator. The gamification may involve earning rewards or points for completing specific tasks or achieving milestones, as shown in FIG. 12. In some embodiments, these rewardsmay be redeemable for various incentives, such as upgrades, recognition, or additional training opportunities. In some embodiments, the systems and methods herein may prioritize user-friendly navigation. The operator may additionally switch between different machine controls. The interface may allow transitions between views associated with various vehicles, allowing users to ensure that all operational aspects are accessible. In some embodiments, one or more vehicles may have an associated cockpit view that may be displayed on the interface. In some embodiments, operators may provide input to essential tools required for operating each piece of machinery, which may cause the vehicle to perform one or more functions, and may alter the cockpit view. In some embodiments, a strategic window within the cockpit view may provide contextual information regarding the operator's position relative to the job site and the operational status of the machines.

[0205] FIG. 13 shows an example view of the GUI 1300, showcasing the job site 1310 from a vehicle’s point of view. The GUI may feature multiple panels displaying different views or information related to the machines and the job site. One panel may provide a view of the job site from the machine’s perspective, while another panel may show the machine from a third-party viewpoint. Additional panels may display the surroundings of the machine, including back, front, and side views. Furthermore, the GUI may present machine information, including the machine's name, type, location, and operational status, indicating whether it is in manual or automatic mode. The view may also display metrics such as fuel level, battery level, and options for selecting sensors, like choosing specific cameras. Additional details regarding video quality, such as frames per second, the vehicle's state (idle, manual, automatic, etc.), and autopilot status may also be included.

[0206] FIG. 14 shows another example of the GUI 1400, showcasing a bird's-eye view of a machine operating within the job site 1410. The system may receive live or recorded video feeds from the job site, allowing users to visualize operations in real-time. Users may utilize system tools to create and / or superimpose an operational plan over the video 1420, facilitating the configuration of tasks. For instance, as illustrated in FIG. 14, users may create different regions for the working machine and assign specific operational plans to each designated area. The interface may allow users to draw any shape and assign various available operational plans to these regions, such as planned excavation as shown in FIG. 14. Additionally, users may have the option to monitor and control the machine within the same GUI or through an extended GUI displayed on a separate screen, enhancing overall operational efficiency and oversight.

[0207] In some embodiments, one or more user interfaces used in the systems and methods herein may present instructions for each task. In some embodiments, the operator may access taskinstructions through the one or more user interfaces. The instructions may be organized in certain formats, such as step-by-step guides, flowcharts, visual diagrams, video tutorials, or interactive touchscreens, enabling the operator to follow them when operating the machine. For instance, step- by-step guides may provide a sequential breakdown of tasks, while flowcharts may outline decision-making processes. Visual diagrams may illustrate control layouts for quick identification of buttons and levers, and video tutorials offer dynamic demonstrations of techniques. When the machine has a touchscreen interface, it may present on-screen prompts and tutorials that guide the operator with visual cues and feedback. In some embodiments, the user interface may display daily metrics. The daily metrics may comprise performance statistics, task completion rates, machine utilization data, or any combination thereof. In some embodiments, the metrics may be updated in real time, allowing the operator to monitor progress of tasks. In some embodiments, the systems and methods herein may facilitate communication among personnel on the job site. The communication features may comprise messaging capabilities, notifications, or alerts. In some embodiments, the operator may reach out to team members for assistance or to share information. In some embodiments, the systems and methods herein may incorporate gamification elements to enhance the operator's experience. The gamification may allow operators to earn virtual coins for completing tasks or achieving specific goals. In some embodiments, the earned coins may be spent on small rewards, such as merchandise, team recognition, or additional training resources. The operator may have the opportunity for their status within the system to be adjusted or improved based on the completion of a single task or a number of tasks. The operator may provide input to indicate a desired action for the machine, and the system, upon receiving this input, performs the corresponding action — such as switching the view to the excavator or adjusting the operational settings — on designated controls to facilitate the operation of machines like an excavator. In some embodiments, clicking the control for the excavator may transition the operator to the cockpit view tailored for that specific machine.

[0208] In some embodiments, the cockpit view may be associated with tools used for operating different pieces of machinery. In some embodiments, the cockpit view may display elements associated with each of the tools, such that when input is provided that indicates those elements, the system shows or controls, or performs another action, with respect to those tools. The cockpit view may receive input through controls such as joysticks, touchscreens, or buttons, or any combination thereof. In some embodiments, the cockpit view may also comprise a strategic window. The strategic window may provide contextual information about the operator's location relative to the job site. This information may comprise the current position of the machine, nearby obstacles, or designated work areas. In some embodiments, the strategic window may enhance situationalawareness for the operator, enabling informed decision-making during machine operation. In some embodiments, the systems and methods herein may support job site plans. In some embodiments, an operator may operate a machine like an excavator using a controller. The controller may be a gaming controller gadget like a remote 1510 as shown in FIG. 15A. The remote may comprise an intuitive configuration that mirrors the controls found inside a machine such as an excavator cab. In some embodiments, an operator may operate a machine, such as an excavator, using a custom-built joystick controller 1520, as shown in FIG. 15B. The joystick controller may be configured to enhance the operator's control and interaction with the machine, providing a more intuitive and responsive operating experience. In some embodiments, an operator may operate a machine like an excavator using one or more of various types of controllers, including a gaming controller (like an Xbox or PlayStation remote), touchscreen interface, flight stick, custom-built joystick, pedal control system, motion controller, VR controller, smartphone or tablet app, gesture control system, remote-control unit, or a totem as described herein. In some embodiments, a user may monitor the operation of a machine controlled by the joystick controller on the GUI 1530 as shown in FIG.15B.

[0209] In some embodiments, the controller may allow for input that can be used to control a machine’s movement in multiple axes. As a non-limiting example, the controller may comprise at least two control sticks, each capable of independent movement along at least one axis comprising X, Y, and Z axes. In some embodiments, the controller may comprise at least three control sticks, at least four control stick, at least five control sticks or at least six control sticks. This multi-axis functionality may enable the operator to manipulate various machine components, such as, for example, a boom, arm, and bucket, simultaneously. For example, a left joystick may control the boom's vertical movement, while a right joystick may control the arm's extension and the bucket's tilt. In some embodiments, the controller may incorporate additional buttons and switches to facilitate access to auxiliary functions. These buttons may be programmable, allowing the operator to assign specific commands, such as activating the machine's lights, engaging the hydraulic system, or toggling between different operational modes (e.g., automatic, manual). The layout of the buttons may be ergonomically designed to minimize hand movement, enabling the operator to maintain focus on the task without unnecessary distractions.

[0210] In some embodiments, the joystick controller is equipped with haptic feedback mechanisms that simulate physical resistance, enhancing the operator's situational awareness during operations. The joystick controller may connect to a graphical user interface (GUI) that displays real-time information about the machine’s status, such as hydraulic pressure, temperature, operational mode, and battery level. This configuration may allow the operator to effectively monitor the job site,working machines, and surrounding areas while using the joystick, facilitating informed decisionmaking and improved operational control. Additionally, the joystick's customizable features may ensure comfort for the operator, while the quick-release mechanism allows for rapid transitions between different operators or tasks.

[0211] As an example of an automation process described herein, a first piece of automation to be demonstrated may be referred to as "Quick Today." The Quick Today automation may allow the operator to spend at least about 15 seconds to at least about 30 seconds configuring an automation process. In some embodiments, this automation may run for a duration of at least about 15 minutes to at least about 30 minutes. In some embodiments, the operator, may specify a shape for an operation such as an excavation. The operator may also define the desired depth for the excavation. The system may be configured to stop operation when the excavator reaches the final grade as indicated in the 3D drawings or the grade specified by the operator, whichever occurs first. In some embodiments, the systems and methods herein may allow the operator to designate a location for dumping the excavated material. The operator may select the dump site based on job site requirements or project specifications.

[0212] As another example of utilizing vehicles using the methods and systems described herein, the system may notify the operator when it encounters an issue, such as becoming stuck on a rock or attempting to traverse terrain that exceeds its operational capabilities, such as an incline that is too steep. In some embodiments, when the dozer operates in autopilot mode, the automation may utilize a series of sensors, including proximity sensors and cameras, to continuously assess the surrounding environment. If an obstacle is detected, the system may implement a set of predefined protocols, such as attempting to maneuver around the obstacle or pausing operation until the operator intervenes. In some embodiments, as the dozer operates in autopilot mode, the excavator may simultaneously function in automatic mode. This dual operation may allow for coordinated workflows on the job site, enhancing productivity. The automation systems may ensure that both machines operate within safe parameters, minimizing the risk of collisions or operational errors. In some embodiments, the automation framework may support a modular approach, enabling different machines or attachments to interface with the control system. For example, if a motor grader is needed for fine grading tasks, the operator may select the motor grader option on the user interface, and the system may automatically recalibrate the controls to suit that specific machine's operational parameters. In some embodiments, the foundation of the technology may facilitate one individual controlling multiple pieces of heavy machinery on a site preparation or earthworks job site. In some embodiments, algorithms comprise predictive maintenance, enhanced environmental sensing, orimproved operator support systems. For instance, predictive analytics may analyze operational data to anticipate equipment failures before they occur, thereby minimizing downtime Web application.

[0213] In some embodiments, a computer program includes a web application. In light of the disclosure provided herein, those of skill in the art will recognize that a web application, in various embodiments, utilizes one or more software frameworks and one or more database systems. In some embodiments, a web application is created upon a software framework such as Microsoft® .NET or Ruby on Rails (RoR). In some embodiments, a web application utilizes one or more database systems including, by way of non -limiting examples, relational, non-relational, object oriented, associative, XML, and document-oriented database systems. In further embodiments, suitable relational database systems include, by way of non-limiting examples, Microsoft® SQL Server, mySQL™, and Oracle®. Those of skill in the art will also recognize that a web application, in various embodiments, is written in one or more versions of one or more languages. A web application may be written in one or more markup languages, presentation definition languages, client-side scripting languages, server-side coding languages, database query languages, or combinations thereof. In some embodiments, a web application is written to some extent in a markup language such as Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), or extensible Markup Language (XML). In some embodiments, a web application is written to some extent in a presentation definition language such as Cascading Style Sheets (CSS). In some embodiments, a web application is written to some extent in a client-side scripting language such as Asynchronous JavaScript and XML (AJAX), Flash® ActionScript, JavaScript, or Silverlight®. In some embodiments, a web application is written to some extent in a server-side coding language such as Active Server Pages (ASP), ColdFusion®, Perl, Java™, JavaServer Pages (JSP), Hypertext Preprocessor (PHP), Python™, Ruby, Tel, Smalltalk, WebDNA®, or Groovy. In some embodiments, a web application is written to some extent in a database query language such as Structured Query Language (SQL). In some embodiments, a web application integrates enterprise server products such as IBM® Lotus Domino®. In some embodiments, a web application includes a media player element. In various further embodiments, a media player element utilizes one or more of many suitable multimedia technologies including, by way of non-limiting examples, Adobe® Flash®, HTML 5, Apple® QuickTime®, Microsoft® Silverlight®, Java™, and Unity®.

[0214] Referring to FIG. 8, in a particular embodiment, an application provision system comprises one or more databases 800 accessed by a relational database management system (RDBMS) 810. Suitable RDBMSs include Firebird, MySQL, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, IBM DB2, IBM Informix, SAP Sybase, Teradata, and the like. In this embodiment,the application provision system further comprises one or more application severs 820 (such as Java servers, .NET servers, PHP servers, and the like) and one or more web servers 830 (such as Apache, IIS, GWS and the like). The web server(s) optionally expose one or more web services via app application programming interfaces (APIs) 840. Via a network, such as the Internet, the system provides browser-based and / or mobile native user interfaces.

[0215] Referring to FIG. 9, in a particular embodiment, an application provision system alternatively has a distributed, cloud-based architecture 900 and comprises elastically load balanced, auto-scaling web server resources 910 and application server resources 920 as well synchronously replicated databases 930.Mobile application

[0216] In some embodiments, a computer program includes a mobile application provided to a mobile computing device. In some embodiments, the mobile application is provided to a mobile computing device at the time it is manufactured. In other embodiments, the mobile application is provided to a mobile computing device via the computer network described herein.

[0217] In view of the disclosure provided herein, a mobile application may be created by various techniques using, for example, various hardware, languages, and development environments. Those of skill in the art will recognize that mobile applications are written in several languages. Suitable programming languages include, by way of non -limiting examples, C, C++, C#, Objective-C, Java™, JavaScript, Pascal, Object Pascal, Python™, Ruby, Rails, VB.NET, WML, and XHTML / HTML with or without CSS, or combinations thereof.

[0218] Suitable mobile application development environments are available from several sources. Commercially available development environments include, by way of non-limiting examples, AirplaySDK, alcheMo, Appcelerator®, Celsius, Bedrock, Flash Lite, .NET Compact Framework, Rhomobile, and WorkLight Mobile Platform. Other development environments are available without cost including, by way of non-limiting examples, Lazarus, MobiFlex, MoSync, and Phonegap. Also, mobile device manufacturers distribute software developer kits including, by way of non-limiting examples, iPhone and iPad (iOS) SDK, Android™ SDK, BlackBerry® SDK, BREW SDK, Palm® OS SDK, Symbian SDK, webOS SDK, and Windows® Mobile SDK.

[0219] Those of skill in the art will recognize that several commercial forums are available for distribution of mobile applications including, by way of non-limiting examples, Apple® App Store, Google® Play, Chrome WebStore, BlackBerry® App World, App Store for Palm devices, AppCatalog for webOS, Windows® Marketplace for Mobile, Ovi Store for Nokia® devices, Samsung' Apps, and Nintendo® dSi Shop.Standalone application

[0220] In some embodiments, a computer program includes a standalone application, which is a program that is run as an independent computer process, not an add-on to an existing process, e.g., not a plug-in. Those of skill in the art will recognize that standalone applications are often compiled. A compiler is a computer program(s) that transforms source code written in a programming language into binary object code such as assembly language or machine code. Suitable compiled programming languages include, by way of non-limiting examples, C, C++, Objective-C, COBOL, Delphi, Eiffel, Java™, Lisp, Python™, Visual Basic, and VB .NET, or combinations thereof. Compilation is often performed, at least in part, to create an executable program. In some embodiments, a computer program includes one or more executable complied applications.Web browser plus-in

[0221] In some embodiments, the computer program includes a web browser plug-in (e.g., extension, etc.). In computing, a plug-in is one or more software components that add specific functionality to a larger software application. Makers of software applications support plug-ins to enable third-party developers to create abilities which extend an application, to support adding new features, and to reduce the size of an application. When supported, plug-ins enable customizing the functionality of a software application. For example, plug-ins are commonly used in web browsers to play video, generate interactivity, scan for viruses, and display particular file types. Those of skill in the art will be familiar with several web browser plug-ins including, Adobe® Flash® Player, Microsoft® Silverlight®, and Apple® QuickTime®. In some embodiments, the toolbar comprises one or more web browser extensions, add-ins, or add-ons. In some embodiments, the toolbar comprises one or more explorer bars, tool bands, or desk bands.

[0222] In view of the disclosure provided herein, those of skill in the art will recognize that several plug-in frameworks are available that enable development of plug-ins in various programming languages, including, by way of non-limiting examples, C++, Delphi, Java™, PHP, Python™, and VB .NET, or combinations thereof.

[0223] Web browsers (also called Internet browsers) are software applications, designed for use with network-connected computing devices, for retrieving, presenting, and traversing information resources on the World Wide Web. Suitable web browsers include, by way of non-limitingexamples, Microsoft® Internet Explorer®, Mozilla® Firefox®, Google® Chrome, Apple® Safari®, Opera Software® Opera®, and KDE Konqueror. In some embodiments, the web browser is a mobile web browser. Mobile web browsers (also called microbrowsers, mini-browsers, and wireless browsers) are designed for use on mobile computing devices including, by way of non-limiting examples, handheld computers, tablet computers, netbook computers, subnotebook computers, smartphones, music players, personal digital assistants (PDAs), and handheld video game systems. Suitable mobile web browsers include, by way of non-limiting examples, Google® Android® browser, RIM BlackBerry® Browser, Apple® Safari®, Palm® Blazer, Palm® WebOS® Browser, Mozilla® Firefox® for mobile, Microsoft® Internet Explorer® Mobile, Amazon® Kindle® Basic Web, Nokia® Browser, Opera Software® Opera® Mobile, and Sony® PSP™ browser.Software modules

[0224] In some embodiments, the platforms, systems, media, and methods disclosed herein include software, server, and / or database modules, or use of the same. In view of the disclosure provided herein, software modules may be created by various techniques, such as using various machines, software, and languages. The software modules disclosed herein are implemented in a multitude of ways. In various embodiments, a software module comprises a file, a section of code, a programming object, a programming structure, a distributed computing resource, a cloud computing resource, or combinations thereof. In further various embodiments, a software module comprises a plurality of files, a plurality of sections of code, a plurality of programming objects, a plurality of programming structures, a plurality of distributed computing resources, a plurality of cloud computing resources, or combinations thereof. In various embodiments, the one or more software modules comprise, by way of non-limiting examples, a web application, a mobile application, a standalone application, and a distributed or cloud computing application. In some embodiments, software modules are in one computer program or application. In other embodiments, software modules are in more than one computer program or application. In some embodiments, software modules are hosted on one machine. In other embodiments, software modules are hosted on more than one machine. In further embodiments, software modules are hosted on a distributed computing platform such as a cloud computing platform. In some embodiments, software modules are hosted on one or more machines in one location. In other embodiments, software modules are hosted on one or more machines in more than one location.Databases

[0225] In some embodiments, the platforms, systems, media, and methods disclosed herein include one or more databases, or use of the same. In view of the disclosure provided herein, those of skill in the art will recognize that many databases are suitable for storage and retrieval of [INSERT], or any combination thereof. In various embodiments, suitable databases include, by way of nonlimiting examples, relational databases, non-relational databases, object-oriented databases, object databases, entity -relationship model databases, associative databases, XML databases, document- oriented databases, and graph databases. Further non-limiting examples include SQL, PostgreSQL, MySQL, Oracle, DB2, Sybase, and MongoDB. In some embodiments, a database is Internet-based. In further embodiments, a database is web-based. In still further embodiments, a database is cloud computing based. In a particular embodiment, a database is a distributed database. In other embodiments, a database is based on one or more local computer storage devices.Data transmission

[0226] The subject matter described herein, including methods and systems as described herein and may be configured to be performed in one or more facilities at one or more locations. Facility locations are not limited by country and include any country or territory. In some instances, one or more steps are performed in a different country than another step of the method. In some embodiments, one or more method steps involving a computer system are performed in a different country than another step of the methods provided herein. In some embodiments, data processing and storage are performed in a different country or location than one or more steps of the methods described herein. In some embodiments, one or more products or data are transferred from one or more of the facilities to one or more different facilities for analysis or further analysis. Data includes, but is not limited to, information regarding the stratification of a subject, and any data produced by the methods disclosed herein. In some embodiments of the methods and systems described herein, the subject information is compiled, and a subsequent data transmission step will transmit or store the subject information.

[0227] In some embodiments, any step of any method described herein is performed by a software program or module on a computer. In additional or further embodiments, data from any step of any method described herein is transferred to and from facilities located within the same or different countries, including analysis performed in one facility in a particular location and the data shipped to another location or directly to an individual in the same or a different country. In additional or further embodiments, data from any step of any method described herein is transferred to and / or received from a facility located within the same or different countries, including analysis of a datainput, such as queries, objects, properties, types, filters, tables, or any combination thereof, performed in one facility in a particular location and corresponding data transmitted to another location.Methods utilizing a computer

[0228] The methods described herein may utilize one or more computers. The computer may include a monitor or other user interface for displaying data, results, billing information, marketing information (e.g. demographics), customer information, or sample information. The computer may also include approaches for data or information input. The computer may include a processing unit and fixed or removable media or a combination thereof. The computer may be accessed by a user in physical proximity to the computer, for example via a keyboard and / or mouse, or by a user that does not necessarily have access to the physical computer through a communication medium such as a modem, an internet connection, a telephone connection, or a wired or wireless communication signal carrier wave. In some cases, the computer may be connected to a server or other communication device for relaying information from a user to the computer or from the computer to a user. In some cases, the user may store data or information obtained from the computer through a communication medium on media, such as removable media. It is envisioned that data relating to the methods can be transmitted over such networks or connections for reception and / or review by a party.

[0229] The entity entering or reviewing information into a database for the purpose of one or more of the following: inventory tracking, order tracking, customer management, customer service, billing, and sales. Sample information may include but is not limited to customer name, unique customer identification, or any information suitable for storage in a database.

[0230] The database may be accessible by a user. Database access may take the form of electronic communication such as a computer or telephone. The database may be accessed through an intermediary such as a customer service representative, business representative, or consultant. The availability or degree of database access may change upon payment of a fee for products and services rendered or to be rendered.DEFINITIONS

[0231] Unless defined otherwise, all terms of art, notations and other technical and scientific terms or terminology used herein are intended to have the same meaning as is commonly understood by one of ordinary skill in the art to which the claimed subject matter pertains. In some cases, terms with commonly understood meanings are defined herein for clarity and / or for ready reference, andthe inclusion of such definitions herein should not necessarily be construed to represent a substantial difference over what is generally understood in the art.Embodiments

[0232] Among the exemplary embodiments are:1. A method of mass displacement with a vehicle, comprising: a. providing instructions to perform one or more functions to a vehicle based on input to a controller in communication with the vehicle, wherein the controller is not attached to the vehicle; b. receiving feedback from the vehicle in response to the instructions, wherein the feedback indicates an aspect sensed by the one or more sensors of the vehicle or a boundary associated with the vehicle, wherein the aspect is associated with the surroundings of the vehicle; and c. providing haptic feedback through the controller based on the feedback from the vehicle.2. The method of embodiment 1, further comprising displaying one or more views associated with the vehicle on a user interface.3. The method of embodiment 2, wherein the one or more views comprise: a. a first-person view from the vehicle; b. a third person view capturing the vehicle; and / or c. a view around at least a portion of the vehicle.4. The method of any one of embodiments 1 to 3, further comprising providing an indication for the vehicle to semi-autonomously or autonomously perform a function, wherein the indication is provided in response to additional input to the controller.5. The method of embodiment 4, wherein autonomously performing a function comprises iteratively performing a function.6. The method of embodiment 4, wherein the semi-autonomously or autonomously performed function is defined before the indication is provided.7. The method of embodiment 4, wherein the indication is provided in response to user input.8. The method of any one of embodiments 1 to 7, further comprising establishing communication between the controller and the second vehicle, wherein the communication established in response to additional input received by the controller.9. The method of any one of embodiments 1 to 8, wherein the vehicle comprises an excavator, a bulldozer, a crane, a paver, a truck, a backhoe loader, a boom lift, an articulated haul truck, adump truck, a roller, a compactor, a skid steer, a grader, a front-end loader, a bucket shovel, a drill, a pile driver, a telepresence assembly robot, a welding robot, a pipe laying robot, a robot that can bolt things together, a painting robot, a concrete robot, an electrical wiring robot, or humanoid robot.10. The method of embodiment 8, further comprising: a. providing instructions to perform one or more functions to the second vehicle, wherein the instructions are provided in response to additional input received by the controller; b. receiving feedback from the second vehicle indicating an aspect sensed by the one or more sensors of the second vehicle, or a boundary associated with the second vehicle, wherein the aspect sensed by the one or more sensors of the second vehicle is associated with the surroundings of the second vehicle; c. providing haptic feedback through the controller based on the feedback from the second vehicle.11. The method of any one of embodiments 1 to 10, wherein the vehicle comprises an actuator, wherein the actuator is configured to translate the instructions to perform the one or more functions.12. The method of any one of embodiments 1 to 11, wherein the one or more functions comprises: a. a movement of the vehicle along one or more axes; or b. a use of one or more attachments of the vehicle.13. The method of any one of embodiments 1 to 12, wherein the boundary associated with the vehicle is a boundary associated with the reach of the vehicle or an artificial boundary.14. The method of embodiment 13, wherein the artificial boundary is based on user input.15. The method of embodiment 13 or 14, wherein the artificial boundary is associated with an environment of the vehicle.16. The method of any one of embodiments 1 to 15, wherein the instructions comprise instructions that, when performed by the vehicle, may cause the vehicle to cross the boundary, and wherein the method further comprises altering the instructions, wherein the altered instructions, when performed by the vehicle, do not cause the vehicle to cross the boundary.17. The method of any one of embodiments 1 to 16, wherein the aspect comprises: a. a force upon the vehicle; b. a pressure felt by the vehicle; c. a humidity or moisture; d. a soil composition;e. a temperature; f. an electrical charge felt by the vehicle; g. an object or an obstacle sensed by the sensors; h. a motion or orientation of the vehicle; or i. another aspect of the surroundings of the vehicle.18. The method of any one of embodiments 1 to 17, further comprising: a. analyzing and translating the received feedback; and b. determining a proportional response associated with the received feedback, wherein the haptic feedback is determined based on the proportional response.19. The method of any one of embodiments 1 to 18, wherein providing the feedback comprises a visual feedback, an audio feedback, a sensory feedback, or a haptic feedback.20. The method of any one of embodiments 1 to 19, wherein providing haptic feedback comprises exerting resistance or a force through the controller.21. The method of any one of embodiments 1 to 20, wherein providing haptic feedback comprises changing a temperature of the controller.22. The method of any one of embodiments 1 to 21, wherein providing haptic feedback comprises vibrating the controller.23. The method of any one of embodiments 1 to 22, further comprising displaying information associated with the aspect on a user interface.24. The method of any one of embodiments 1 to 23, further comprising receiving a signal from the vehicle indicating that the vehicle is in operation.25. The method of any one of embodiments 1 to 24, wherein the input is tactile input.26. The method of any one of embodiments 1 to 25, wherein the aspect is sensed during or after the vehicle performs the one or more functions.27. The method of any one of embodiments 1 to 26, wherein a controller station comprises the controller.28. The method of any one of embodiments 1 to 27, wherein the controller and / or controller station further comprises: a. an interface configured to receive user input related to control commands; b. a processing unit configured to convert user input into instructions to perform one or more functions; c. a communication module configured to transmit the instructions to perform one or more functions to vehicles;d. a processing unit configured to analyze and / or translate feedback or user input communicated between the users or automated control units, haptic units, and vehicles; and e. a feedback module configured to receive status updates from vehicles and display information related to the updates on the user interface.29. The method of embodiment 27 or 28, wherein the controller station comprises a second controller.30. The method of embodiment 29, wherein the controller and the second controller are configured to be operated concurrently.31. The method of embodiment 30, further comprising providing instructions to perform one or more functions to a third vehicle based on input to the second controller in communication with the third vehicle, wherein the second controller is not attached to the third vehicle.32. The method of any one of embodiments 1 to 31, wherein the vehicle is outfitted with a retrofit kit.33. The method of any one of embodiments 1 to 32, wherein the one or more sensors comprises cameras, Light Detection and Ranging (LIDAR), Radio Detecting and Ranging (radar), Sound Navigation and Ranging (sonar), position sensors, or any combination thereof.34. The method of embodiment any one of embodiments 1 to 33, wherein at least one of the one or more sensors is detached from the vehicle.35. The method of embodiment 34, wherein the at least one of the one or more sensors comprises a camera on a mobile tripod, a drone, or a blimps.36. The method of any one of embodiments 1 to 35, wherein the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network.37. The method of any one of embodiments 1 to 36, wherein the second controller is configured to independently establish a connection with another vehicle.38. The method of any one of embodiments 1 to 37, further comprising: receiving a coordinate point within a three-dimensional space; calculating necessary movements of the vehicle based on the coordinate point; and transmitting instructions to guide the vehicles to the coordinate.39. A method of controlling vehicle operations, comprising: a. providing, during a time period, instructions to perform one or more functions to a first vehicle based on input to a first controller in communication with the vehicle, wherein the first controller is not attached to the first vehicle;b. providing, during the time period, instructions to perform one or more functions to a second vehicle based on input to a second controller in communication with the second vehicle, wherein the second controller is not attached to the second vehicle; c. receiving, during the time period, a set of feedback from the first vehicle in response to the instructions provided to the first vehicle and in response to the instructions provided to the second vehicle, wherein the set of feedback indicates at least one aspect sensed by the first vehicle or the second vehicle, wherein the aspect is associated with the surroundings of the first vehicle, the surroundings of the second vehicle, or a boundary associated with the first vehicle or second vehicle; and d. providing, during the time period, haptic feedback through the first controller and / or the second controller based on the set of feedback, wherein: i.the first controller is in communication with the first vehicle throughout the time period, and ii.the second controller is in communication with the second vehicle throughout the time period.40. The method of embodiment 39, further comprising displaying one or more views associated with the first vehicle and / or the second vehicle on a user interface.41. The method of embodiment 40, wherein the one or more views comprise: a. a first-person view from the first vehicle and / or the second vehicle; b. a third person view capturing the first vehicle and / or the second vehicle; and / or c. a view around at least a portion of the first vehicle and / or the second vehicle.42. The method of any one of embodiments 39 to 41, further comprising providing an indication for the first vehicle and / or the second vehicle to semi-autonomously or autonomously perform a function, wherein the indication is provided in response to additional input to the controller.43. The method of embodiment 42, wherein autonomously performing a function comprises iteratively performing a function.44. The method of embodiment 42, wherein the semi-autonomously or autonomously performed function is defined before the indication is provided.45. The method of embodiment 42, wherein the indication is provided in response to user input.46. The method of any one of embodiments 39 to 45, wherein the first vehicle and / or the second vehicle comprises an excavator, a bulldozer, a crane, a paver, a truck, a backhoe loader, a boom lift, an articulated haul truck, a dump truck, a roller, a compactor, a skid steer, a grader, a front-end loader, a bucket shovel, a drill, a pile driver, a telepresence assembly robot, a welding robot, a pipelaying robot, a robot that can bolt things together, a painting robot, a concrete robot, an electrical wiring robot, or humanoid robot.47. The method of any one of embodiments 39 to 46, wherein the first vehicle and / or the second vehicle comprises an actuator, wherein the actuator is configured to translate the instructions to perform the one or more functions.48. The method of any one of embodiments 39 to 47, wherein the one or more functions comprises: a. a movement of the first vehicle and / or the second vehicle along one or more axes; or b. a use of one or more attachments of the first vehicle and / or the second vehicle.49. The method of any one of embodiments 39 to 48, wherein the boundary associated with the first vehicle and / or the second vehicle is a boundary associated with the reach of the first vehicle and / or the second vehicle or an artificial boundary.50. The method of embodiment 49, wherein the artificial boundary is based on user input.51. The method of embodiment 49 or 50, wherein the artificial boundary is associated with an environment of the first vehicle and / or the second vehicle.52. The method of any one of embodiments 39 to 51, wherein the instructions comprise instructions that, when performed by the first vehicle and / or the second vehicle, may cause the first vehicle and / or the second vehicle to cross the boundary, and wherein the method further comprises altering the instructions, wherein the altered instructions, when performed by the first vehicle and / or the second vehicle, do not cause the first vehicle and / or the second vehicle to cross the boundary.53. The method of any one of embodiments 39 to 52, wherein the aspect comprises: a. a force upon the first vehicle and / or the second vehicle; b. a pressure felt by the first vehicle and / or the second vehicle; c. a humidity or moisture; d. a soil composition; e. a temperature; f. an electrical charge felt by the first vehicle and / or the second vehicle; g. an object or an obstacle sensed by the sensors; h. a motion or orientation of the first vehicle and / or the second vehicle; or i. another aspect of the surroundings of the first vehicle and / or the second vehicle.54. The method of any one of embodiments 39 to 53, further comprising: a. analyzing and translating the received feedback; andb. determining a proportional response associated with the received feedback, wherein the haptic feedback is determined based on the proportional response.55. The method of any one of embodiments 39 to 54, wherein providing the feedback comprises a visual feedback, an audio feedback, a sensory feedback, or a haptic feedback.56. The method of any one of embodiments 39 to 55, wherein providing haptic feedback comprises exerting resistance or a force through the controller.57. The method of any one of embodiments 39 to 56, wherein providing haptic feedback comprises changing a temperature of the controller.58. The method of any one of embodiments 39 to 57, wherein providing haptic feedback comprises vibrating the controller.59. The method of any one of embodiments 39 to 58, further comprising displaying information associated with the aspect on a user interface.60. The method of any one of embodiments 39 to 59, further comprising receiving a signal from the vehicle indicating that the vehicle is in operation.61. The method of any one of embodiments 39 to 60, wherein the input is tactile input.62. The method of any one of embodiments 39 to 61, wherein the aspect is sensed during or after the vehicle performs the one or more functions.63. The method of any one of embodiments 39 to 62, wherein a controller station comprises the first controller and the second controller.64. The method of embodiment 63, wherein the first controller, the second controller, and / or the controller station comprises: a. an interface configured to receive user input related to control commands; b. a processing unit configured to convert user input into instructions to perform one or more functions; c. a communication module configured to transmit the instructions to perform one or more functions to vehicles; d. a processing unit configured to analyze and / or translate feedback or user input communicated between the users or automated control units, haptic units, and vehicles; and e. a feedback module configured to receive status updates from vehicles and display information related to the updates on the user interface.65. The method of any one of embodiments 39 to 64, wherein the first vehicle and / or the second vehicle is outfitted with a retrofit kit.66. The method of any one of embodiments 39 to 65, wherein the one or more sensors comprises cameras, Light Detection and Ranging (LIDAR), Radio Detecting and Ranging (radar), Sound Navigation and Ranging (sonar), position sensors, or any combination thereof.67. The method of embodiment any one of embodiments 39 to 66, wherein at least one of the one or more sensors is detached from the first vehicle and / or the second vehicle.68. The method of embodiment 67, wherein the at least one of the one or more sensors comprises a camera on a mobile tripod, a drone, or a blimp.69. The method of any one of embodiments 39 to 68, wherein the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network.70. The method of any one of embodiments 39 to 69, further comprising: receiving a coordinate point within a three-dimensional space; calculating necessary movements of the first vehicle and / or the second vehicle based on the coordinate point; and transmitting instructions to guide the first vehicle and / or the second vehicle to the coordinate.71. A non-transitory computer-readable medium comprising executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to any one of embodiments 1 to 70.72. A computer system comprising: a memory comprising executable instructions; and at least one processor configured to execute the instructions, wherein when the at least one processor executes the instructions, the at least one processor causes the system to perform method according to any one of embodiments 1 to 70.Examples

[0233] The following examples are included for illustrative purposes only and are not intended to limit the scope of the inventive concepts.

[0234] Example 1 : Use of an Excavator

[0235] A significant pile of soil needs to be removed from a construction site using an excavator. The operator, located remotely from the construction site, initiates the operation from the Controller Station.

[0236] First, the operator establishes communication with the excavator via the Communications Component. This involves a signal or instruction being sent from the operator’s console to theexcavator, initializing the communication process. As soon as communication is established, the system carries out a check on the operational conditions of the excavator using Sensor(s) installed on the vehicle. This includes a status check on the vehicle’s health, battery levels, or any other parameters critical to the functioning of the vehicle. If the excavator is in an operational state, the next step involves using the sensors on the excavator to evaluate the surrounding area and working conditions. This may include assessing soil type, identifying nearby obstacles or hazards, and determining the spatial dimensions of the work area. Environmental sensors onboard the excavator may also be used to gather information about environmental conditions like temperature, humidity, or even rain that may impact the operation. All this collected data is transformed by the Converter into a usable format for analysis. The results of this thorough assessment are reported back to the operator via the Feedback Component, giving the operator a clear understanding of the on -ground conditions before the excavation work begins. With this knowledge, the operator can send the necessary instructions via the UI Component to begin the operation. This may involve instructions to move the excavator to the work location, choose the correct attachment (in this case, a digging bucket), and start the digging operation. While the operator has complete control over the operation, at any point, they can choose to switch to automated control. Based on predefined data and the algorithms, the Analyzing Component can generate instructions for the excavator to carry out its operations autonomously, saving time and effort for the operator. The operation continues under the supervision of the operator and the Analyzing Component. They receive continuous updates of aspects from the sensors on the excavator, processed and relayed by the Feedback Component. This feedback provides real-time status of the operation, and the control system can make necessary adjustments on-the-go. During the operation, the operator receives feedback in various forms. Visual feedback provides a real-time view of the excavation operation and can highlight areas of interest or concern. Haptic feedback can replicate the feel of the excavator’s operation, giving the operator a more intuitive understanding of the work progress. This process continues until the operator decides to stop the operation, either when the task is completed or if there’s a need to pause due to changing conditions.

[0237] Example 2: Use of an Excavator and Bulldozer

[0238] An operator is simultaneously managing two heavy-duty vehicles: an excavator and a bulldozer deployed for a project in a building site, using the vehicle control system shown in FIG. 2.

[0239] Starting with the excavator, the operator, stationed at the Controller Station, initiates communication with the excavator via the Communications Component. A status check isperformed, assessing the health and readiness of the excavator using its Sensor(s). Upon ensuring the excavator is ready, the excavator’s sensors start evaluating the surroundings, the soil type, potential obstacles, and other environmental conditions such as temperature and humidity. The gathered data, once transformed by the Converter, gives the operator a detailed understanding of the on-site conditions. With this knowledge, the operator sends instructions via the UI Component for the excavator to move to the appropriate location and start digging with its bucket attachment. As the excavator commences its task, it sends continuous feedback to the Controller Station, allowing the operator to monitor the progress.Simultaneously, the operator is also in control of a bulldozer, carrying out a similar sequence of operations in a very different environment. Communication is established, and a status check ensures the bulldozer’s operational readiness. The bulldozer’s sensor(s) assess the soil composition, atmospheric conditions, and possible obstacles. The operator, informed by the sensor feedback, directs the bulldozer to commence its task of preparing the ground for future construction. The operator can switch between vehicles, focusing attention where needed, or can choose to run one or both vehicles in autonomous mode. The Analyzing Component of the system, using predefined algorithms, can generate instructions for the vehicles to carry out their operations autonomously, enabling the operator to manage other tasks. Throughout the operation, a variety of feedback including visual and haptic, is provided to the operator, offering a sense of the vehicles' operations. Visual feedback provides a real-time view of the operation, and haptic feedback can replicate the ‘feel’ of the operation, offering the operator a more intuitive understanding of the work progress. This process continues until the operator decides to end the operation, either when the task is completed, or when circumstances require a pause or adjustment.

[0240] Example 3: The Use Of Controllers In Automated Construction Machinery

[0241] An operator is managing a construction task using a vehicle control system, with the goal of filling a hopper. Upon clicking the "play" button on the graphical user interface (GUI), the operator specifies the task, and the machine springs to action, executing the automated operation as per the predefined parameters. While the machine operates in automatic mode, the operator transitions to another machine, such as a bulldozer. By selecting the control for the bulldozer on the GUI, the operator switches to manual mode using a controller. The depicted controller provides intuitive handling of the machine, enhancing operational efficiency. In some embodiments, the bulldozer features an automation function known as grade assist, which can be engaged by pressing a button on the controller. This feature locks the blades' roll and height, enabling the operator to achieve a near perfect flat scoops and efficiently cut materials. The grade assist system utilizes sensors tomonitor the position of the bulldozer's blades relative to the desired grade, continuously assessing the depth and angle of the cut. If the machine begins to cut too deep, the grade assist automatically raises the blades to maintain compliance with specified parameters. Additionally, the systems and methods may utilize a site plan to guide the bulldozer's operation. The operator can manage multiple machines, such as steering the bulldozer and executing path planning. In some embodiments, automation may assist in managing path planning and steering tasks. This automation may employ algorithms like the Rapidly Exploring Random Tree (RRT) or A-star pathfinding algorithm, which are designed for efficient navigation in robotics. These algorithms analyze the site plan and real-time sensor data to calculate optimal paths for the bulldozer while avoiding obstacles.

[0242] While preferred embodiments of the present invention have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. It is not intended that the invention be limited by the specific examples provided within the specification. While the invention has been described with reference to the aforementioned specification, the descriptions and illustrations of the embodiments herein are not meant to be construed in a limiting sense. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the invention. Furthermore, it shall be understood that all aspects of the invention are not limited to the specific depictions, configurations or relative proportions set forth herein which depend upon a variety of conditions and variables. It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is therefore contemplated that the invention shall also cover any such alternatives, modifications, variations or equivalents. It is intended that the following claims define the scope of the invention and that methods and structures within the scope of these claims and their equivalents be covered thereby.

Claims

CLAIMSWHAT IS CLAIMED IS:

1. A method of mass displacement with a vehicle, comprising: a. providing instructions to perform one or more functions to a vehicle based on input to a controller in communication with the vehicle, wherein the controller is not attached to the vehicle; b. receiving feedback from the vehicle in response to the instructions, wherein the feedback indicates an aspect sensed by the one or more sensors of the vehicle or a boundary associated with the vehicle, wherein the aspect is associated with the surroundings of the vehicle; and c. providing haptic feedback through the controller based at least in part on the feedback from the vehicle.

2. The method of claim 1, further comprising displaying one or more views associated with the vehicle on a user interface.

3. The method of claim 2, wherein the one or more views comprise: a. a first-person view from the vehicle; b. a third person view capturing the vehicle; and / or c. a view around at least a portion of the vehicle.

4. The method of any one of claims 1 to 3, further comprising providing an indication for the vehicle to semi-autonomously or autonomously perform a function, wherein the indication is provided in response to additional input to the controller.

5. The method of claim 4, wherein autonomously performing a function comprises iteratively performing a function.

6. The method of claim 4, wherein the semi-autonomously or autonomously performed function is defined before the indication is provided.

7. The method of claim 4, wherein the indication is provided in response to user input.

8. The method of any one of claims 1 to 7, further comprising establishing communication between the controller and the second vehicle, wherein the communication established in response to additional input received by the controller.

9. The method of any one of claims 1 to 8, wherein the vehicle comprises an excavator, a bulldozer, a crane, a paver, a truck, a backhoe loader, a boom lift, an articulated haul truck, a dump truck, a roller, a compactor, a skid steer, a grader, a front-end loader, a bucket shovel, a drill, a pile driver, a telepresence assembly robot, a welding robot, a pipe layingrobot, a robot that can bolt things together, a painting robot, a concrete robot, an electrical wiring robot, or humanoid robot.

10. The method of claim 8, further comprising: a. providing instructions to perform one or more functions to the second vehicle, wherein the instructions are provided in response to additional input received by the controller; b. receiving feedback from the second vehicle indicating an aspect sensed by the one or more sensors of the second vehicle, or a boundary associated with the second vehicle, wherein the aspect sensed by the one or more sensors of the second vehicle is associated with the surroundings of the second vehicle; c. providing haptic feedback through the controller based on the feedback from the second vehicle.

11. The method of any one of claims 1 to 10, wherein the vehicle comprises an actuator, wherein the actuator is configured to translate the instructions to perform the one or more functions.

12. The method of any one of claims 1 to 11, wherein the one or more functions comprises: a. a movement of the vehicle along one or more axes; or b. a use of one or more attachments of the vehicle.

13. The method of any one of claims 1 to 12, wherein the boundary associated with the vehicle is a boundary associated with the reach of the vehicle or an artificial boundary.

14. The method of claim 13, wherein the artificial boundary is based on user input.

15. The method of claim 13 or 14, wherein the artificial boundary is associated with an environment of the vehicle.

16. The method of any one of claims 1 to 15, wherein the instructions comprise instructions that, when performed by the vehicle, may cause the vehicle to cross the boundary, and wherein the method further comprises altering the instructions, wherein the altered instructions, when performed by the vehicle, do not cause the vehicle to cross the boundary.

17. The method of any one of claims 1 to 16, wherein the aspect comprises: a. a force upon the vehicle; b. a pressure felt by the vehicle; c. a humidity or moisture; d. a soil composition;e. a temperature; f. an electrical charge felt by the vehicle; g. an object or an obstacle sensed by the sensors; h. a motion or orientation of the vehicle; or i. another aspect of the surroundings of the vehicle.

18. The method of any one of claims 1 to 17, further comprising: a. analyzing and translating the received feedback; and b. determining a proportional response associated with the received feedback, wherein the haptic feedback is determined based on the proportional response.

19. The method of any one of claims 1 to 18, wherein providing the feedback comprises a visual feedback, an audio feedback, a sensory feedback, or a haptic feedback.

20. The method of any one of claims 1 to 19, wherein providing haptic feedback comprises exerting resistance or a force through the controller.

21. The method of any one of claims 1 to 20, wherein providing haptic feedback comprises changing a temperature of the controller.

22. The method of any one of claims 1 to 21, wherein providing haptic feedback comprises vibrating the controller.

23. The method of any one of claims 1 to 22, further comprising displaying information associated with the aspect on a user interface.

24. The method of any one of claims 1 to 23, further comprising receiving a signal from the vehicle indicating that the vehicle is in operation.

25. The method of any one of claims 1 to 24, wherein the input is tactile input.

26. The method of any one of claims 1 to 25, wherein the aspect is sensed during or after the vehicle performs the one or more functions.

27. The method of any one of claims 1 to 26, wherein a controller station comprises the controller.

28. The method of any one of claims 1 to 27, wherein the controller and / or controller station further comprises: a. an interface configured to receive user input related to control commands; b. a processing unit configured to convert user input into instructions to perform one or more functions; c. a communication module configured to transmit the instructions to perform one or more functions to vehicles;d. a processing unit configured to analyze and / or translate feedback or user input communicated between the users or automated control units, haptic units, and vehicles; and e. a feedback module configured to receive status updates from vehicles and display information related to the updates on the user interface.

29. The method of claim 27 or 28, wherein the controller station comprises a second controller.

30. The method of claim 29, wherein the controller and the second controller are configured to be operated concurrently.

31. The method of claim 30, further comprising providing instructions to perform one or more functions to a third vehicle based on input to the second controller in communication with the third vehicle, wherein the second controller is not attached to the third vehicle.

32. The method of any one of claims 1 to 31, wherein the vehicle is outfitted with a retrofit kit.

33. The method of any one of claims 1 to 32, wherein the one or more sensors comprises cameras, Light Detection and Ranging (LIDAR), Radio Detecting and Ranging (radar), Sound Navigation and Ranging (sonar), position sensors, or any combination thereof.

34. The method of claim any one of claims 1 to 33, wherein at least one of the one or more sensors is detached from the vehicle.

35. The method of claim 34, wherein the at least one of the one or more sensors comprises a camera on a mobile tripod, a drone, or a blimps.

36. The method of any one of claims 1 to 35, wherein the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network.

37. The method of any one of claims 1 to 36, wherein the second controller is configured to independently establish a connection with another vehicle.

38. The method of any one of claims 1 to 37, further comprising: receiving a coordinate point within a three-dimensional space; calculating necessary movements of the vehicle based on the coordinate point; and transmitting instructions to guide the vehicles to the coordinate.

39. A method of controlling vehicle operations, comprising: a. providing, during a time period, instructions to perform one or more functions to a first vehicle based on input to a first controller in communication with the vehicle, wherein the first controller is not attached to the first vehicle;b. providing, during the time period, instructions to perform one or more functions to a second vehicle based on input to a second controller in communication with the second vehicle, wherein the second controller is not attached to the second vehicle; c. receiving, during the time period, a set of feedback from the first vehicle in response to the instructions provided to the first vehicle and in response to the instructions provided to the second vehicle, wherein the set of feedback indicates at least one aspect sensed by the first vehicle or the second vehicle, wherein the aspect is associated with the surroundings of the first vehicle, the surroundings of the second vehicle, or a boundary associated with the first vehicle or second vehicle; and d. providing, during the time period, haptic feedback through the first controller and / or the second controller based on the set of feedback, wherein: i.the first controller is in communication with the first vehicle throughout the time period, and ii.the second controller is in communication with the second vehicle throughout the time period.

40. The method of claim 39, further comprising displaying one or more views associated with the first vehicle and / or the second vehicle on a user interface.

41. The method of claim 40, wherein the one or more views comprise: a. a first-person view from the first vehicle and / or the second vehicle; b. a third person view capturing the first vehicle and / or the second vehicle; and / or c. a view around at least a portion of the first vehicle and / or the second vehicle.

42. The method of any one of claims 39 to 41, further comprising providing an indication for the first vehicle and / or the second vehicle to semi-autonomously or autonomously perform a function, wherein the indication is provided in response to additional input to the controller.

43. The method of claim 42, wherein autonomously performing a function comprises iteratively performing a function.

44. The method of claim 42, wherein the semi-autonomously or autonomously performed function is defined before the indication is provided.

45. The method of claim 42, wherein the indication is provided in response to user input.

46. The method of any one of claims 39 to 45, wherein the first vehicle and / or the second vehicle comprises an excavator, a bulldozer, a crane, a paver, a truck, a backhoe loader, a boom lift, an articulated haul truck, a dump truck, a roller, a compactor, a skid steer, a grader, a front-end loader, a bucket shovel, a drill, a pile driver, a telepresence assembly robot, a welding robot, a pipe laying robot, a robot that can bolt things together, a painting robot, a concrete robot, an electrical wiring robot, or humanoid robot.

47. The method of any one of claims 39 to 46, wherein the first vehicle and / or the second vehicle comprises an actuator, wherein the actuator is configured to translate the instructions to perform the one or more functions.

48. The method of any one of claims 39 to 47, wherein the one or more functions comprises: a. a movement of the first vehicle and / or the second vehicle along one or more axes; or b. a use of one or more attachments of the first vehicle and / or the second vehicle.

49. The method of any one of claims 39 to 48, wherein the boundary associated with the first vehicle and / or the second vehicle is a boundary associated with the reach of the first vehicle and / or the second vehicle or an artificial boundary.

50. The method of claim 49, wherein the artificial boundary is based on user input.

51. The method of claim 49 or 50, wherein the artificial boundary is associated with an environment of the first vehicle and / or the second vehicle.

52. The method of any one of claims 39 to 51, wherein the instructions comprise instructions that, when performed by the first vehicle and / or the second vehicle, may cause the first vehicle and / or the second vehicle to cross the boundary, and wherein the method further comprises altering the instructions, wherein the altered instructions, when performed by the first vehicle and / or the second vehicle, do not cause the first vehicle and / or the second vehicle to cross the boundary.

53. The method of any one of claims 39 to 52, wherein the aspect comprises: a. a force upon the first vehicle and / or the second vehicle; b. a pressure felt by the first vehicle and / or the second vehicle; c. a humidity or moisture; d. a soil composition; e. a temperature; f. an electrical charge felt by the first vehicle and / or the second vehicle;g. an object or an obstacle sensed by the sensors; h. a motion or orientation of the first vehicle and / or the second vehicle; or i. another aspect of the surroundings of the first vehicle and / or the second vehicle.

54. The method of any one of claims 39 to 53, further comprising: a. analyzing and translating the received feedback; and b. determining a proportional response associated with the received feedback, wherein the haptic feedback is determined based on the proportional response.

55. The method of any one of claims 39 to 54, wherein providing the feedback comprises a visual feedback, an audio feedback, a sensory feedback, or a haptic feedback.

56. The method of any one of claims 39 to 55, wherein providing haptic feedback comprises exerting resistance or a force through the controller.

57. The method of any one of claims 39 to 56, wherein providing haptic feedback comprises changing a temperature of the controller.

58. The method of any one of claims 39 to 57, wherein providing haptic feedback comprises vibrating the controller.

59. The method of any one of claims 39 to 58, further comprising displaying information associated with the aspect on a user interface.

60. The method of any one of claims 39 to 59, further comprising receiving a signal from the vehicle indicating that the vehicle is in operation.

61. The method of any one of claims 39 to 60, wherein the input is tactile input.

62. The method of any one of claims 39 to 61, wherein the aspect is sensed during or after the vehicle performs the one or more functions.

63. The method of any one of claims 39 to 62, wherein a controller station comprises the first controller and the second controller.

64. The method of claim 63, wherein the first controller, the second controller, and / or the controller station comprises: a. an interface configured to receive user input related to control commands; b. a processing unit configured to convert user input into instructions to perform one or more functions; c. a communication module configured to transmit the instructions to perform one or more functions to vehicles;d. a processing unit configured to analyze and / or translate feedback or user input communicated between the users or automated control units, haptic units, and vehicles; and e. a feedback module configured to receive status updates from vehicles and display information related to the updates on the user interface.

65. The method of any one of claims 39 to 64, wherein the first vehicle and / or the second vehicle is outfitted with a retrofit kit.

66. The method of any one of claims 39 to 65, wherein the one or more sensors comprises cameras, Light Detection and Ranging (LIDAR), Radio Detecting and Ranging (radar), Sound Navigation and Ranging (sonar), position sensors, or any combination thereof.

67. The method of claim any one of claims 39 to 66, wherein at least one of the one or more sensors is detached from the first vehicle and / or the second vehicle.

68. The method of claim 67, wherein the at least one of the one or more sensors comprises a camera on a mobile tripod, a drone, or a blimp.

69. The method of any one of claims 39 to 68, wherein the controller communicates using a mesh Wi-Fi system, a satellite internet network, long-range radio communication, or a cellular network.

70. The method of any one of claims 39 to 69, further comprising: receiving a coordinate point within a three-dimensional space; calculating necessary movements of the first vehicle and / or the second vehicle based on the coordinate point; and transmitting instructions to guide the first vehicle and / or the second vehicle to the coordinate.

71. A non-transitory computer-readable medium comprising executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to any one of claims 1 to 70.

72. A computer system comprising: a memory comprising executable instructions; and at least one processor configured to execute the instructions, wherein when the at least one processor executes the instructions, the at least one processor causes the system to perform method according to any one of claims 1 to 70.

Citation Information

Patent Citations

  • Driver / Vehicle Interface Combining Dynamic Function Modification of Vehicle Controls with Haptic Feedback

    US20090018723A1

  • Driving support device, driving support system, and driving support method

    US20180304905A1

  • Systems and methods for providing enhanced feedback on a personal communication device used for vehicle maneuvering

    US20220155778A1