Safety motion control for a mobile robot
A mobile service robot efficiently evaluates a person's movements by generating an observation point model and providing feedback, addressing inefficiencies and complexity in existing systems, with a modular architecture for updates and reduced computational complexity.
Patent Information
- Application Number
- DE102024120232
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-17
- Publication Date
- 2026-01-22
AI Technical Summary
Existing systems for evaluating a person's movements over time are inefficient, complex, and lack robustness, particularly when implemented on mobile service robots, and do not provide seamless integration with human-machine communication, energy-efficient data processing, and cost-effective security measures.
A computer-implemented method using a mobile service robot to capture and evaluate a person's movements by generating an observation point model, assigning coordinates, and providing feedback through a wireless interface, with modular architecture for updates and reduced computational complexity.
The method efficiently and robustly evaluates a person's movements, conserves energy, simplifies human-machine interaction, and allows for seamless updates, while maintaining cost-effectiveness and security.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Field of invention:
[0001] The fundamental inventive challenge is the resource-efficient, simplified, and robust evaluation of a person's movements over time, in one aspect using a mobile service robot, and the provision of feedback on the movement sequence to the person being tracked. This involves efficient data processing that, for example, conserves the energy resources of the system performing the data evaluation. The system, like a mobile service robot, should be robust and efficient in evaluating sensor data and integrate seamlessly into its work environment with people and objects that can move. Simultaneously, the feedback process should also simplify human-machine communication. As a further requirement, the application must be able to assess various movement deviations and, if necessary, connect via a wireless interface to the internet.The system should be able to be updated even with limited bandwidth. Furthermore, a reasonable cost-benefit ratio should be sought for the system's security measures. Background of the invention and prior art
[0002] Various service robots are known in the state of the art that, for example, record and analyze movement sequences and provide feedback (WO2020144175A1, WO2021038109A1 and WO2019070388A2 or Scheidig et al. 2019 (DOI: 10.1109 / ICORR.2019.8779369) or Trinh et al. 2020 (DOI: 10.1109 / RO-MAN47096.2020.9223482)), which essentially describe the recording of a person's movements and the output of feedback. The recording and analysis of a person's movements is described, for example, in WO2019228977 or WO2014151700. Control mechanisms for mobile robots can be found, for example, in WO2021069674. General description of the inventive sub-problems, the invention and its components
[0003] The inventive sub-problem in this example is the efficient and complexity-reduced evaluation of the movements of a captured person over time, in particular using methods from the field of motion capture and preferably implemented on a mobile service robot, in order to give this captured person feedback on the movement sequence.
[0004] The implementation for solving this technical problem comprises a computer-implemented procedure for capturing and evaluating a person's movements. This includes identifying a person based on recognized patterns within captured sensor data, capturing the person using a motion detection sensor, generating an observation point model of observation points for the captured person by means of pattern evaluation and rules stored in memory, assigning (spatial) coordinates to the observation points of the observation point model, and evaluating the captured movements based on the observation points of the observation point model and by means of rules stored in memory. The capture of the person's movements and / or the rules associated with the identified person,are preferably associated with positions in a map's coordinate system. Different map coordinates can be assigned different configurations of a monitoring profile and different rules, allowing for different monitoring of movements, for example, depending on the coordinates. The motion sensor preferentially records a person's repetitive movement over time, starting with an initial pose, intermediate poses, and a final pose, each defined by at least a subset of observation points.and where the final pose serves as the starting pose for the next repetitive movement. The processing of the recorded movements over time preferably involves processing discrete-time measurements. The initial and / or final pose is determined by comparison with rules stored in memory, such as classified poses. For some movement assessments, an evaluation point is determined between the initial and final poses by analyzing the time course of the person's poses within the repetitive movement, allowing for an evaluation of the repetitive movement itself. The area in which the observation and / or evaluation points are located is preferably associated with a predefined area in a coordinate system on a map. A monitoring profile is maintained for the identified person, which is associated with rules stored in memory for evaluating the identified person's movements. The rules,Those associated with the identified person are preferentially triggered via a wireless interface, whereby a transmitted monitoring profile calls rules stored in memory on the service robot. To update the rules on the service robot, they are made available via the wireless interface. Furthermore, for some repetitive movements from a repertoire of movements to be evaluated, two subsequent repetitive movements are jointly evaluated, each receiving at least one evaluation point determined within the respective repetitive movements.by comparing measured values with evaluation rules stored in memory. Furthermore, for some repetitive movements from a repertoire of movements to be evaluated, the evaluation of a repetitive movement takes place, for example, by determining the distance between at least two observation points and comparing the determined distance with evaluation rules stored in memory. Additionally, for some repetitive movements from a repertoire of movements to be evaluated, the evaluation of a repetitive movement is carried out by determining the distance between at least two observation points and at least one evaluation point and comparing the determined distance with evaluation rules stored in memory. The data calculation takes place within process nodes, meaning that sensor data from the motion detection sensor can also be transmitted via one process node to other process nodes, particularly for generating the observation point model.The data is provided via a data channel. The data provision of a process node also triggers a state machine. The invention further comprises a device for carrying out the aforementioned method, which is, for example, designed as a mobile service robot. The invention further comprises a system with a motion detection sensor for recording the movement of a person, a computing unit and a memory, a person identification module in the memory for identifying a person based on recognized patterns within the recorded sensor data, and an observation point model generation module in the memory for generating observation points for the recorded person by means of pattern evaluation by the computing unit and rules stored in the memory, and the assignment of coordinates to the observation points of the observation point model by the computing unit.The system comprises an observation point evaluation module in memory with rules for evaluating at least one recorded movement based on observation points of the observation point model; a wireless interface configured for transmitting the monitoring profile, whereby a monitoring profile is stored in memory for the identified person, associated with rules for evaluating the movements of the identified person. These rules describe exercises or assessments to be performed with the respective person. The system further includes a pose detection module in memory with rules for detecting poses by comparison with stored poses based on at least a subset of observation points of the observation point model; and an evaluation point determination module in memory, which is associated with the observation point evaluation module.In one aspect, the system includes rules for determining and evaluating a score based on the analysis of observation points between the initial and final poses. This analysis is performed by the processing unit to evaluate the time course of the person's poses within the repetitive movement. Furthermore, the system optionally includes a map module in memory that provides coordinates associated with the recording and / or evaluation of the person's movements, each based on rules stored in memory. The motion detection sensor preferably provides generated data to at least one other process node via a data channel using a process node. The process node providing the motion detection sensor data preferably also triggers the state of a state machine.
[0005] The inventive sub-problem is the efficient and robust evaluation of a person's movements over time, preferably using a mobile service robot, when, for example, the environment of the person being tracked also needs to be evaluated by additional sensors, resulting in dependencies between the environmental characteristics detected by the respective sensors, such as the position of the person being tracked and any obstacles in their vicinity. This applies particularly when the person is tracked by a mobile service robot that also needs to monitor its environment to avoid obstacles.
[0006] The implementation of the technical solution comprises a computer-implemented method for detecting and evaluating a person's movements, with the execution of calculations using a computing unit; includes the detection of the person's spatial environment using at least one environmental detection sensor, which processes sensor data within a first coordinate system and generates environmental data; the assignment of coordinates from the first coordinate system to the detected environmental data within a map that represents the environmental data; and the detection of the person using a motion detection sensor.The sensor data is processed within a second coordinate system; an observation point model of observation points for the detected person is generated using pattern evaluation and rules stored in memory; (spatial) coordinates are assigned to the observation points of the observation point model from the second coordinate system; the data of the detected environment of the person and the observation points of the person are processed within a unified coordinate system; and the person's movements are evaluated based on rules stored in memory. The data from the environment sensor and the motion detection sensor are made available to at least one other process node via a process node. The evaluation of the detected person's movements preferably takes place within at least one process node. Furthermore, in one aspect,The motion sensor captures discrete-time measurements. Furthermore, the first coordinate system, for example, comprises two or three dimensions, and the second coordinate system comprises three dimensions. The processing of data from the person's surroundings and the person within a unified coordinate system is based, for example, on the transformation of coordinates from one of the two coordinate systems into the other, thus creating the unified coordinate system. Alternatively, the processing of data from the person's surroundings and the person within a unified coordinate system is based on the transformation of coordinates from both coordinate systems into a unified coordinate system. In another aspect, the detection range of the motion sensor and the environment sensor does not overlap, or only at the edges. The motion sensor...In one aspect, within the computer-implemented procedure, a person's repetitive movement is recorded over time, beginning with an initial pose, intermediate poses, and a final pose, each characterized by at least a subset of observation points. The final pose then serves as the starting pose for the next repetitive movement. For example, an initial and / or final pose is determined by comparison with classified poses stored in memory. The next repetitive movement is either identical or, alternatively, fundamentally different from the preceding repetitive movement. In another aspect, an evaluation point is determined between the initial and final poses by analyzing the temporal progression of the person's poses within the repetitive movement, allowing for an assessment of the repetitive movement itself. For example, the area...The observation and / or evaluation points are associated with a predefined area in the unified coordinate system or the first coordinate system. The detected person is identified, for example, by comparing captured patterns with stored patterns, and a monitoring profile is maintained for the identified person. This profile is associated with stored evaluation rules for assessing the movements of the identified person. The stored evaluation rules associated with the identified person can be made available or triggered via a wireless interface. Thus, in one aspect, the stored evaluation rules associated with the identified person are...also associated with positions in a uniform or first coordinate system. The coordinates can, for example, trigger the output of an output unit. Furthermore, for example, two subsequent repetitive movements are jointly evaluated, each with at least one evaluation point determined within the repetitive movements, by comparing measured values with stored evaluation rules, and / or a repetitive movement is evaluated by determining the distance between at least two observation points and comparing the determined distance with evaluation rules stored in memory, and / or a repetitive movement is evaluated by determining the distance between at least two observation points and at least one evaluation point and comparing the determined distance with evaluation rules stored in memory. The motion detection sensor can be a 2D or 3D camera, a radar sensor,or a combination thereof, wherein sensor data fusion takes place in the case of a combination. The invention further comprises a device for carrying out the method described herein in its various optional embodiments, wherein in one aspect the device is a mobile service robot. The invention further comprises a system with a computing unit and a memory, an environment sensing sensor for detecting the environment of a person in a first coordinate system and for assigning coordinates to the detected environment data by means of the computing unit, a coordinate system transformation module for transforming the coordinates from one coordinate system of a first sensor into the other coordinate system of a second sensor by means of the computing unit or for transforming the coordinates of two sensors into a unified coordinate system.A new coordinate system is generated using the processing unit. Furthermore, the system can include an observation point model generation module, a pose determination module, an observation point evaluation module, a feedback generation module, and / or a distance maintenance module. In one aspect, the data from the environmental sensing sensor and the motion detection sensor are made available for further processing, each via a process node. The observation point evaluation module can, in another aspect, be implemented within a process node that receives data for processing via a data channel and, after processing, makes the data available again via a data channel. The process node with the observation point evaluation module can, for example, receive the data from a process node that contains an observation point model generation module, also, for example, as a process node.The modules mentioned can be implemented individually or in combination within a process node and exchange data synchronously or asynchronously via a data channel.
[0007] The inventive sub-problem in this example is the analysis of a person's movements and the generation of feedback in a motion analysis system (preferably a mobile service robot) that detects a person, identifies and analyzes their movements, and provides feedback to the person on these movements. A challenge that arises here is orchestrating a large number of detected movement deviations with different feedback mechanisms.
[0008] The implementation of the technical solution comprises a computer-implemented procedure for recording and evaluating a person's movements over time and for generating feedback to the person, including the recording of a person using a motion detection sensor, the generation of an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory, the evaluation of the recorded movements with regard to defined movement deviations based on observation points of the observation point model and / or derived evaluation points and rules stored in memory for these in a first time interval, and the output of feedback to the person via an output unit in a second time interval following the first time interval regarding the determined movement deviation.The process further includes a third time interval in which no feedback is provided. This is followed by a fourth time interval in which the movement deviation identified in the first time interval and associated with feedback in the second time interval is re-evaluated as a deviation type. Feedback is then provided in a fifth time interval, immediately following the fourth, regarding the movement deviation evaluated in the fourth time interval. In a special implementation variant, the duration of the third time interval is zero. In this variant, movement deviations identified in the first time interval are prioritized, and feedback is provided in the second time interval for the movement deviation with the highest priority from the first time interval.Furthermore, feedback is preferably provided in the fifth time interval, based on movement deviations with different priorities than the feedback provided in the second time interval. Even if movement deviations with the same priority are detected in the first and fourth time intervals, different feedback is still preferably provided in the second and fifth time intervals. Preferably, several loops from time intervals one to five are executed, in which feedback is provided based on at least two differently prioritized and detected movement deviations. Following the recording of the person's movements, a final time interval is used to provide feedback via the output unit, based on at least two differently prioritized and detected movement deviations, with the involvement of the statistics module.Before generating an observation point model, the recorded person is preferably identified by capturing their personal characteristics and comparing these characteristics with those stored in a memory. Furthermore, the person is preferably re-identified over time during the recording of their movements. The evaluation of the recorded movements is based on evaluation rules for movement deviations stored in memory, which are associated with the identified person. These evaluation rules, which are associated with the identified person, are preferably linked to positions in a coordinate system on a map.The provision of captured movement data, person identification data, observation points, observation point evaluations, path planning data, map data and output data is preferably implemented via process nodes and data channels.
[0009] The invention further comprises a system for detecting and evaluating a person's movements over time and for generating feedback, comprising a motion detection sensor for detecting a person's movement, a computing unit and a memory, an observation point model generation module in the memory for generating an observation point model from the person's observation points by the computing unit, an observation point evaluation module in the memory with rules for evaluating at least one detected movement based on a monitored observation and / or evaluation point in the computing unit, and an output unit for outputting feedback based on a feedback generation module located in the memory, wherein the observation point evaluation module is configured for evaluating the detected movements in a first time interval and the feedback generation module outputs feedback on the detected movement deviation by means ofThe output module is initiated via the output unit in a second time interval. The observation point evaluation module is configured to re-evaluate movements in a fourth time interval and to output feedback in a fifth time interval following the fourth time interval regarding the movement deviation evaluated in the fourth time interval. Preferably, the fourth time interval involves a re-evaluation of the movement deviation identified in the first time interval and associated with feedback in the second time interval as the deviation type. The feedback generation module preferably triggers at least two feedback signals for movement deviations with different priorities. It preferably triggers feedback in the second time interval for the detected and highest-priority movement deviation from the first time interval. It preferably triggers a feedback output in the fifth time interval for feedback based on differently prioritized movement deviations.The system provides feedback based on movement deviations detected in the second time interval, or different feedback is provided for movement deviations detected in the first and fourth time intervals with equal priority. Following several further time intervals after the fifth time interval, there is a final time interval in which feedback is output based on at least two differently prioritized and detected movement deviations (preferably using a statistics module). Triggering the feedback generation module initiates feedback output via the output module and the output unit. The system also preferably includes a person identification module for identifying the person, preferably before the generation of the observation point model, using an RFID reader. In an alternative implementation, person identification is performed using a motion detection sensor. The system also includes aA person re-identification module for re-identifying a person over time, preferably using the motion detection sensor, wherein, for the identified person, an association of the motion assessment in the observation point assessment module with the re-identified person is implemented using rules stored in memory. The system further preferably includes a pose detection module stored in memory with rules for detecting poses, a wireless interface for data exchange, and a map module stored in memory that provides coordinates which are associated with the recording of the person's movements, the processing of the recorded motion detection sensor data, and / or the assessment of the person's movements, each based on rules stored in memory. The data provision of the motion detection sensor and / or at least one of the aforementioned modules is designed as a process node that provides data to other process nodes via a data channel.
[0010] The inventive sub-problem in this example is the efficient and robust evaluation of a person's movements over time, saving computational effort, preferably for a mobile service robot, by implementing location-dependent rules that reduce the scope of certain computationally intensive operations to defined operational areas of the mobile service robot.
[0011] A technical solution to this problem is described by restricting the calculation to specific spatial positions of the service robot. Specifically, a computer-implemented method for controlling a mobile service robot that monitors a person's movements is realized, encompassing the identification of a person at the mobile service robot based on recognized patterns within captured sensor data, the association of the identified person with a stored monitoring profile, the detection of the person using a motion detection sensor while the mobile service robot travels a path, the generation of observation points for the detected person, the evaluation of the detected movements of the person based on the observation points, the stored monitoring profile and associated rules, the retrieval of position data as coordinates from a map associated with components of the monitoring profile, and theAutomatic output of notifications via an output unit of the mobile service robot to the detected and identified person as soon as the mobile service robot, while traversing its path, reaches a defined position or a minimum distance from a position associated with rules in memory within the map's coordinate system. This output preferably does not constitute feedback on a motion analysis. Furthermore, notifications are issued within a defined time interval after reaching the minimum distance to the associated position. The output takes the form of voice output via a speaker, display output via a screen, and / or signaling via a light element. Person detection and / or sensor data generation for creating the identification profile are performed by the motion detection sensor. The monitoring profile preferably includes evaluation rules for assessing the movements of the identified person.The monitoring profile is associated with at least two positions on a map that can be reached by the mobile service robot. Path planning between the individual positions on the map is performed by the service robot's path planning module. Preferably, one of the two positions is a starting position and the other a turning position, upon reaching which the service robot moves back to the starting position. The monitoring implemented within the computer-implemented method preferably includes, as components, the monitoring of movements using a motion detection sensor and, optionally, the monitoring of vital parameters using a vital data acquisition sensor based on rules stored in memory. The aforementioned monitoring profile is preferably transmitted to the mobile service robot via an interface. If, in addition to the identified person, at least one other person is present...If, during the completion of a path, the motion detection sensor captures a person and the sensor data generated by the motion sensor contains a face of at least one other detected person, then this face is preferably tracked and blinded. Optionally, for the purpose of comparing the retrieved position data from the map with the position of the service robot on the map, the position of the service robot is determined via an odometry unit and / or an environmental sensor, each based on a first coordinate system, and the person is captured by a motion detection sensor with a second coordinate system. The evaluation of the movements is based on coordinates within a unified coordinate system, either by transforming the coordinates from one of the two coordinate systems into the other or by transforming theThe coordinates of both coordinate systems are combined into a unified coordinate system. A repetitive movement of the person being tracked is recorded over time using rules stored in memory. This recording begins with an initial pose, followed by intermediate poses and a final pose, each defined by at least a subset of observation points. The final pose then serves as the starting pose for the next repetitive movement. Depending on the type of repetitive movement being tracked and evaluated, the evaluation is performed by determining the distance between at least two observation points and / or at an evaluation point. This evaluation point is determined by analyzing the time course of the person's poses within the repetitive movement and comparing it to evaluation rules stored in memory 2. These evaluation rules, which are associated with the identified person, are preferably triggered via a wireless interface when they are onThe service robot stores the data, in particular by associating the monitoring profile with the evaluation rules, whereby the monitoring profile is in turn associated with the person being monitored. Furthermore, the evaluation rules are preferably made available to the mobile service robot via a wireless interface. The recording of the person's movements and / or the evaluation rules associated with the identified person in the monitoring profile are preferably associated with positions in a coordinate system of a map, at which person detection takes place for the purpose of evaluating the recorded poses of the person. The motion detection sensor is, for example, a 2D or 3D camera, a radar sensor, or a combination thereof, whereby sensor data fusion takes place in the case of a combination. Within the framework of the computer-implemented method described here, the provision of recorded motion data, person identification data,Observation points, observation point evaluations, path planning data, map data, and / or output data are preferably transmitted at least partially via a process node and by means of a data channel. The technical solution further comprises a device for carrying out the method described herein, e.g., a mobile service robot. The technical solution also includes a system comprising a computing unit and memory, a motion detection sensor for recording the movement of a person, a person identification module in memory for identifying a person based on recognized patterns within the recorded sensor data, a monitoring profile of the person stored in memory that is associated with or contains rules for evaluating the movements of the recorded person, and an observation point model generation module in memory for generating observation points for the recorded person by the computing unit and in memory.stored rules, an observation point evaluation module in memory with rules for evaluating at least one movement based on the monitoring profile from memory using a processing unit, a map module in memory with coordinates that are at least partially associated with the monitoring profile, a path planning module in memory for planning the movement of the mobile service robot along a path using coordinates from the map module (which, for example, displays data on target positions and stationary obstacles) using a processing unit, an output module in memory with instructions for the detected person for outputting the instructions via an output unit, with rules stored in memory for triggering output to the detected person via the output module and output unit, wherein the rules are associated with positions of the map stored in the map module and optionally trigger the output automatically when the service robot reaches a definedPosition reached on the map. This output is preferably not feedback for a motion analysis. The output to the detected person via output module and output unit is associated with rules from the monitoring profile stored in memory. Furthermore, the system preferably has an anonymization module for blinding facial data captured by the motion sensor from another person. The system also has a wireless interface configured for transmitting a monitoring profile of the person. The provision of data from the motion sensor preferably occurs at least partially via a process node and a data channel. The aforementioned modules of the system are preferably implemented within one or more process nodes and provide data to another process node via a data channel. Furthermore, the data provision from the motion sensor preferablyvia a process node.
[0012] The inventive subtask in one aspect is the efficient output of feedback from a system for recording the movements of a person, preferably a service robot, in order to make human-machine interaction during an exercise with a mobile service robot user-friendly.
[0013] This is achieved through the following representation, in which the contents of several time intervals differ from the contents of other, similarly named time intervals elsewhere in this document, particularly the third and subsequent time intervals. The technical solution comprises a computer-implemented method for recording and evaluating a person's movements over time and for generating feedback to the person. This includes recording a person's movements using a motion sensor, generating an observation point model of observation points for the recorded person, evaluating the recorded movements with regard to defined movement deviations based on observation points of the observation point model and / or derived evaluation points, and rules stored in memory for these deviations in a first time interval.which also includes the following procedural steps: determining steps from the evaluation of the movement sequence during the first time interval; summing the steps and comparing the summed steps with a threshold value; ending the first time interval when the summed steps have reached the threshold value; determining movement and / or pose deviations in the first time interval; and providing feedback to the person in a second time interval based on the determined movement and / or pose deviations. Preferably, after determining movement and / or pose deviations in the first time interval, the movement and / or pose deviations are prioritized, and feedback is provided to the person regarding the highest-priority movement and / or pose deviation in the second time interval. Furthermore, the procedure includes recording a person's movements using a motion detection sensor.The process involves generating an observation point model for the recorded person, evaluating the recorded movements with regard to defined movement deviations based on observation points from the observation point model and / or derived evaluation points and rules stored in memory for these deviations in a third time interval. This evaluation also includes the following procedural steps: determining steps from the evaluation of the movement sequence during the third time interval, summing the steps and comparing them to a threshold value, and ending the third time interval when the summed steps reach the threshold value. The process further includes: issuing feedback to the person regarding a movement and / or pose deviation detected in the third time interval in a fourth time interval.The movement and / or pose deviation is the highest-priority deviation in the first time interval, and feedback is provided in a fourth time interval based on movement and / or pose deviations detected in the third time interval. These procedural steps are repeated several times within a time window defined in a monitoring profile, depending on the movements to be evaluated. Preferably, there is also a final time interval which, after the recording of the person's movements is complete, includes the output of movement deviations recorded in previous time intervals and / or feedback issued in previous time intervals via an output unit. This final time interval preferably occurs after several time intervals in which the person was observed and in which, based on the evaluated observations,Feedback has been received on the evaluated observation. In one aspect, the final time interval occurs when the service robot remains in a position, e.g., at the starting position, after returning to it following the completion of its route. The output movement deviations and / or feedback are aggregated over at least one time interval, e.g., as a statistical evaluation in the form of tables or graphs. The movement deviations to be recorded, the movements and / or poses to be recorded, and / or the duration of recording the movement deviations are stored in or associated with a monitoring profile.wherein the monitoring profile is provided via a wireless interface. In one aspect, the third time interval is shorter than the first time interval. In a preferred embodiment, coordinates for carrying out at least one of the aforementioned steps are in the,
[0014] A monitoring profile is stored or associated with it, and automated triggering of the person's movement detection occurs when a comparison of the coordinates stored in or associated with the monitoring profile, determined by sensors (e.g., using at least one environmental sensor and / or an odometry unit), on a map reveals that these coordinates have been reached. "Associated" in this context means that, for example, an exercise is defined in the monitoring profile, and an area where this exercise is to be carried out has been defined on a system that monitors the exercise. The processing of the data for generating observation points and the movement analysis preferably takes place within process nodes, which in turn make their output data available to other process nodes.In addition to these process steps, a device for carrying out the previously described computer-implemented method is also included, e.g. a mobile service robot.
[0015] The inventive subtask is the efficient and complexity-reducing processing of captured movement data from a person to output, ideally, real-time feedback. This data processing is to take place on a mobile service robot or a mobile device. Since the data processing is intended to address a wide variety of applications, the underlying system architecture must be able to accommodate this. To this end, system updates should be possible via a wireless interface and, in the future, via the internet. The latter necessitates a modular architecture that can be updated at the module level, thereby limiting the data volume required for updates. This also has the side effect of reducing the memory requirements of the algorithms associated with data processing.
[0016] A technical solution to the problem is a computer-implemented method for recording and evaluating a person's movements, comprising: recording a person using a motion detection sensor; generating an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory; assigning coordinates to the observation points of the observation point model using an observation point model generation module; determining poses using a pose determination module based on the observation points from the observation point model; and evaluating the observation points using an observation point evaluation module.wherein the motion detection sensor provides data to at least one other process node via at least one data channel and / or receives data from at least one other process node. The pose detection module and / or the observation point evaluation module, individually or in combination, constitute a process node that provides data to at least one other process node via at least one data channel and / or receives data from at least one other process node. The detection and / or evaluation of the person's movements is preferably performed automatically.The system is triggered when a specific position on a map is reached and the person is within the detection range of the motion sensor. The system preferably further includes providing feedback to the detected person based on an evaluation of the observation points. Preferably, prior to the person being detected by the motion sensor, the detected person is identified using a person identification module and / or a person re-identification module for re-identifying the person during detection by the person detection sensor using patterns stored in memory. In this case, a monitoring profile is maintained for the detected and identified person.that is associated with rules stored in memory for evaluating the movements of the identified person by the observation point evaluation module. The observation point evaluation module preferably evaluates several observation points together. The data generated by a process node preferably represents time signals and / or measurement series. A data channel is preferably designed for asynchronous data communication. The data provided to a data channel preferably has a TCP / IP or UDP header. Alternatively and / or additionally, the provision and / or reception of data between at least two process nodes takes place via shared memory or remote procedure calls. In one aspect, asynchronous data communication represents the time-delayed writing of data to the data channels by a process node.while at least one other process node reads data from the data channel (simultaneously or with a time delay). The aforementioned observation points are preferably associated with (spatial) coordinates. Data transmission from the motion detection sensor to the observation point model generation module, from the observation point model generation module to the pose determination module, and / or from the pose determination module to the observation point evaluation module preferably occurs via data that has a TCP / IP or UDP header. The detection of the person by the motion detection sensor, the observation point model generation module, the pose determination module,The observation point evaluation module and / or combinations thereof are preferably called as a state by a state machine. Preferably, the detection and / or evaluation of a person's movements is associated with at least one position on a map. Here, a state of a state machine is called by at least one process node based on coordinates, the coordinates being associated with a map of the map module. The technical solution further comprises a device for carrying out the described computer-implemented method, wherein one aspect of the device is a mobile (service) robot. In one embodiment, the detection and / or evaluation of a person's movements occurs automatically when the mobile (service) robot reaches the at least one position associated with the map. The technical solution further comprises a system for detecting and evaluating a person's movements.with a processing unit and a memory, a motion detection sensor for recording the movements of a person, and in the memory an observation point model generation module for generating an observation point model of observation points for the recorded person by means of pattern evaluation and rules stored in the memory and assignment of (spatial) coordinates to the observation points of the observation point model, a pose determination module, and an observation point evaluation module, wherein the pose determination module is for determining poses based on the observation points from the observation point model and the observation point evaluation module is for evaluating the observation points,wherein the motion detection sensor provides data to at least one other process node via at least one data channel and / or receives data from at least one other process node via a process node. The pose detection module and / or the observation point evaluation module, individually or in combination, constitute a process node that provides data to at least one other process node via at least one data channel and / or receives data from at least one other process node. The data of the at least one process node provided to a data channel preferably includes a TCP / IP header. The data provided by an observation point model generation module as a process node via a data channel includes at least a portion of an observation point model based on at least two observation points. The data,A pose detection module, which provides poses or quantities derived from them as time signals via a data channel, preferably represents poses or quantities derived from them as time signals. A process node representing an observation point evaluation module preferably represents evaluated motion data as time signals. The system further includes a state machine in memory, whose states are determined by data that is called up as one or more process nodes via the observation point model generation module, the pose detection module, and the observation point evaluation module. The detection and / or evaluation of the person's movements by the motion detection sensor and the observation point evaluation module is preferably performed automatically.The system is triggered when the system reaches a position associated with a map from the map module, and the person is preferably also within the detection range of the motion sensor. The system further preferably includes a feedback generation module for generating feedback based on the evaluation of the observation points by the observation point evaluation module, and an output unit for outputting the generated feedback to the detected person. The system also includes a person identification module for identifying the person before detection by the motion sensor using patterns stored in memory, and / or for re-identifying the person during detection by the person sensor using stored patterns by a person re-identification module.
[0017] The inventive sub-problem in this example is the efficient and simplified processing of captured movement data of a person, preferably on a mobile service robot or a mobile device. Since the data processing is intended to address a multitude of applications, the underlying system architecture must be able to accommodate this. To this end, system updates should be possible via a wireless interface and, in the future, via the internet. The latter necessitates a modular architecture that can be updated at the module level, thereby limiting the data volume required for updates. This also results in reduced storage requirements.
[0018] A solution to the technical problem is achieved, in particular, through the use of process nodes for distributed data processing and reduction of code complexity. The solution comprises a computer-implemented method for capturing and evaluating a person's movements. The evaluation of a person's movements takes place within at least one process node and includes: capturing a person using a motion detection sensor; generating an observation point model of observation points for the captured person using pattern evaluation and rules stored in memory; assigning coordinates to the observation points of the observation point model using an observation point model generation module; and evaluating the person's movements based on at least a proportion of the generated observation points using rules via an observation point evaluation module.wherein the observation point evaluation module represents, in whole or in part, a process node that is directly or indirectly connected to at least one other process node for data exchange. The method further preferably includes the output of indications or feedback on the evaluated movement of the person, wherein indications or feedback are triggered by a state of a state machine using data from a process node provided via a data channel. Alternatively and / or additionally, the evaluation of a person's movements within at least one process node includes the detection of a person by means of a motion detection sensor.The generation of an observation point model for the detected person by means of pattern evaluation and rules stored in memory, and the assignment of coordinates to the observation points of the observation point model by means of an observation point model generation module; the evaluation of the person's movements based on at least a proportion of the generated observation points by means of rules by means of an observation point evaluation module; and the generation of feedback by means of a feedback generation module and its output via an output module and an output unit, wherein the feedback generation module and the output module contain a state machine within a process node, and wherein the state machine triggers at least one feedback. The further process node comprises an output module that is triggered by the state machine when the service robot reaches a position on a map stored in memory.is called up. A monitoring profile is maintained for the recorded and identified person, which is associated with rules stored in memory for evaluating the movements of the identified person by the observation point evaluation module. The data provided to the data channel preferably has a TCP / IP or UDP header. Sending and / or receiving data between at least two process nodes is carried out alternatively by providing the data in a shared memory or by means of remote procedure calls. The data channels and the process nodes are preferably designed for asynchronous data communication, which implies the time-shifted writing or reading of data to or from the data channels by or for one or more process nodes. The technical solution also includes a device for carrying out the described, computer-implemented procedure.The device is, in one aspect, a service robot. Furthermore, the technical solution includes a system for recording and evaluating a person's movements, comprising a processing unit and memory, a motion detection sensor for recording a person's movements, an observation point model generation module in memory for generating an observation point model of observation points for the recorded person by means of pattern evaluation by the processing unit and rules stored in memory, and the assignment of coordinates to the observation points of the observation point model by the processing unit, and an observation point evaluation module in memory for evaluating a portion of the generated observation points by means of rules by the processing unit.wherein the rules are stored in at least one process node and several process nodes are connected directly or indirectly to at least one other process node via a data channel for data exchange. The system preferably further comprises another process node containing an output module for outputting instructions or feedback on the evaluated movement of the person via an output unit, as well as at least one state machine in memory that triggers the process node with the output module by means of data provided to the state machine by a process node via a data channel. The system further comprises a feedback generation module for generating feedback via an output module through an output unit, wherein the feedback generation module and the output module contain a state machine within a process node.and wherein the state machine triggers at least one feedback. The system further comprises a monitoring profile for the detected and identified person stored in memory, which is associated with rules stored in memory for evaluating the movements of the identified person by the observation point evaluation module and which can be transmitted via a wireless interface. The data channel enables asynchronous data communication, and the at least one process node enables asynchronous data processing. The observation point evaluation module is preferably implemented wholly or partially within a process node, as are the observation point evaluation module, the evaluation point determination module, and the pose determination module. The data generated as a result of data processing by a process node preferably invoke states of a state machine. The data made available to the data channelpreferably have a TCP / IP header. In one implementation variant, a computer-implemented method for capturing and evaluating a person's movements is implemented with at least one state machine, comprising: capturing an input via an input unit such as a display; triggering the capture of a person by means of a motion detection sensor, which, as a process node, provides data to other process nodes via a data channel, by means of a state machine and based on the captured input; evaluating the movement data of the data captured by the motion detection sensor and provided via a data channel in at least one further process node, such as an observation point model generation module; evaluating the movement data evaluated by the motion detection sensor in at least one further process node within at least one further process node.which receives this data via a data channel, and triggers, depending on the evaluation result of at least one of the aforementioned process nodes of an output module, to output feedback on an evaluated movement, whereby the triggering is carried out via a state machine. In one aspect, the state machine is triggered by data provided via at least one data channel, which is generated by at least one process node. A device for carrying out this method is also included. Furthermore, this is implemented in a system with a state machine for triggering multiple process nodes, an input unit for capturing an input which in turn triggers the state machine, a motion detection sensor which, as a process node, provides data to other process nodes via a data channel, and at least one further process node.which includes a motion capture data processing module, and an output module that produces an output based on data from the motion capture data processing module when the state machine is triggered.
[0019] In one aspect, the inventive sub-problem is to configure a service robot in such a way that it implements resource-efficient operating time planning in order to maximize the service robot's operating time. To this end, the service robot minimizes its travel times and the associated distance traveled, which in turn also leads to less wear, e.g., on the wheels.
[0020] This subtask was solved as follows: It comprises a computer-implemented method for path planning of a mobile service robot, including retrieving a monitoring profile for monitoring a person from memory. From this monitoring profile, a time period is read for which the service robot is to travel a distance with the person and / or monitor the person. The service robot moves, preferably together with the person, along a path between a starting position and a turning point, performing a U-turn at the turning point. A new turning point is then defined, at which the service robot reverses direction and moves to a stored position. There are at least two different embodiments for defining the new turning point.
[0021] In the first embodiment, before setting the new turning position, the average speed of the service robot or person during the journey is determined, the remaining distance is calculated, after which the journey should be completed at the determined average speed within the specified time period, and a remaining distance is calculated. The remaining distance is preferably calculated as the difference between the open distance and integer multiples of the distance between a starting position and the turning position. When setting a new turning position, at which the service robot changes direction and moves to a stored position, the distance between the starting position and the new turning position preferably corresponds to approximately half the remaining distance.The aforementioned average speed is preferably determined after 50% or more of the time stored in the monitoring profile, measured since the start of the journey with the person.
[0022] In the second embodiment, before setting the new turning position, the following steps are performed: determining the time already elapsed for completing the route and / or monitoring the person; determining the direction of movement of the service robot; calculating the difference between the read time duration and the time already elapsed; and triggering an action when the time threshold is undershot. Preferably, the triggering action, when the service robot is on its way to its starting position, terminates the completion of the route or the monitoring of the person when the service robot has reached the starting position again. Furthermore, preferably, when the service robot is on its way to the turning position, the triggering action sets a new turning position that is closer to the starting position than the original turning position.
[0023] Regardless of these at least two embodiments, the robot preferably ends its journey with the person after the time specified in the monitoring profile. Furthermore, in a preferred embodiment, the service robot oscillates back and forth between the starting position and the turning position, depending on the time and distance between these two positions. The service robot also preferably executes the turn at the turning position if the time difference between the time specified and the time already elapsed exceeds the threshold. Furthermore, the person is preferably detected by at least one sensor for monitoring purposes while the robot is traversing the path.In a preferred embodiment, the technical solution further comprises, after detecting the person, determining the distance between the service robot and the person moving ahead of or following the service robot as it travels its path, and maintaining a distance interval or an approximately constant distance between the service robot and the person. Preferably, the distance interval or the approximately constant distance between the service robot and the person is between 60 cm and 5.5 m. Preferably, the robot travels a path between at least two waypoints, the coordinates of which are defined by a map in the map module, and between which the service robot determines at least one path using a path planning module. The service robot preferably shuttles between two waypoints within the time defined in the monitoring profile, covering only a portion of the distance between the two waypoints.Preferably, before or during the completion of the route, position data is retrieved as coordinates from a map associated with components of the monitoring profile. Based on these retrieved coordinates, output is triggered via the service robot's output unit, based on a comparison of position data stored in the monitoring profile and the service robot's current position data. In a preferred embodiment, during the completion of the route, the person is detected using a motion sensor. An observation point model for the detected person is generated using pattern recognition and rules stored in memory. Finally, the detected movements are evaluated based on observation points from the observation point model and rules stored in memory.The rules for evaluating the recorded movements based on observation points of the observation point model preferably include the determination and evaluation of poses by a pose determination module. Preferably, a repetitive movement is also evaluated by determining an initial pose, a final pose, and an evaluation point between these two poses. The evaluation of the recorded movements with regard to defined movement deviations, based on observation points of the observation point model and / or derived evaluation points and the rules stored in memory for these, preferably takes place in a first time interval. Feedback is then provided to the person via an output unit in a second time interval following the first, regarding the determined movement deviation.Furthermore, the technical solution preferably comprises: capturing the person using a motion sensor; generating an observation point model of observation points for the captured person using pattern recognition and rules stored in memory; evaluating the captured movements based on observation points of the observation point model and using rules stored in memory in a further time interval, in which the movement deviation identified in the first time interval and associated with feedback in the second time interval is re-evaluated; and outputting feedback in a further time interval following the aforementioned time interval regarding the movement deviation evaluated in the aforementioned time interval. The output feedback is preferably based on a prioritization of detected movement deviations.The evaluation of the observation points takes place in an observation point evaluation module, which preferably represents a process node in whole or in part. This module is directly or indirectly connected to another process node via a data channel and triggers at least one state machine through data transmitted via the data channel. Preferably, before the robot completes its route, the person is (initially) identified at the mobile service robot based on recognized patterns within the captured sensor data, and the identified person is associated with a stored monitoring profile. Alternatively and / or additionally, the person is re-identified during the detection process by the person detection sensor using stored patterns, in order to ensure, in particular, that the person being monitored is always the one who previously identified themselves at the service robot.This preferably involves tracking the recorded person over time and re-identifying them using captured patterns that reflect characteristics such as face, clothing, etc. Initial identification of the person can be achieved, for example, using RFID transponders or other methods described elsewhere in this document. The technical solution also includes a device for carrying out the process.
[0024] The technical solution further comprises a service robot with a computing unit, a sensor for monitoring purposes, and a memory containing a monitoring profile with a duration for which the service robot is to travel a route with the person and / or monitor the person, after which the travel of a path with the person is to end, a path planning module configured to determine a route to be traveled by the service robot between a start and a turning position, and a dynamic turning position determination that sets a new turning position that is closer to the start position than the previously used turning position.The dynamic turning position determination can, based on a) the average speed of the service robot and the remaining time, b) the direction of movement of the service robot, and / or c) the elapsed time and duration from the monitoring profile, set a new turning position that is closer to the starting position than the previously used turning position. The service robot preferably also includes a map module that provides coordinates for the position data of the starting position and the turning position, or, depending on the monitoring profile, triggers output via the output unit of the service robot based on a comparison of position data stored in the monitoring profile and the current position data of the service robot. The service robot preferably also includes a distance control module to maintain a minimum distance between the service robot and the person being detected.One of the sensors is preferably a motion detection sensor for recording the movements of a person. Furthermore, in a preferred embodiment, the service robot comprises an observation point model generation model for generating observation points of the recorded person, an observation point evaluation module for evaluating the movements of the recorded person, a pose determination module for determining the person's poses, and preferably also a feedback generation module for triggering feedback based on prioritized movement deviations by means of an output module and an output unit.Preferably, the service robot also includes a person identification module for identifying the person at the mobile service robot based on stored patterns within the acquired sensor data, and preferably a person re-identification module for re-identifying the person during detection by the person detection sensor using stored patterns. In a preferred embodiment, the service robot is configured such that a state machine triggers the output of an output unit via a loudspeaker and / or a display when the service robot has reached a turning position.
[0025] In one aspect, the service robot may become obstructive during operation, for example, if it encounters an obstacle. In this case, it should be easy to move it. However, this can be made difficult by standard safety motion control modes because the mechanical resistance of the motor might be so high that pushing it would require considerable effort. The inventive solution is implemented via a safety motion control system that incorporates hardware-based protection mechanisms. A predominantly computer-based implementation of these mechanisms would entail increased development effort because the software code would need to be extensively tested and equipped with numerous internal safety mechanisms. This can be avoided by implementing the robot near the hardware level. This inventive sub-problem, therefore, is the simplified moving of, for example, a robot, and is solved as follows:
[0026] The safety motion controller is configured to directly or indirectly control at least one motor of a mobile robot, with a first, second, third, and fourth state, wherein in the first state the power supply of the at least one motor is regulated such that the force caused by the current flow in the motor and the force acting on the position of the mobile robot in the horizontal plane is greater than the sum of the inertial forces of the mobile robot acting in the horizontal plane; in the second state the current flow in the at least one motor is regulated such that a negative acceleration of the mobile robot occurs down to a speed of zero; in the third state the current flow in the at least one motor is regulated such thatthat the force generated by the at least one motor and acting on the position of the mobile robot in the horizontal plane corresponds approximately to the sum of the rolling resistance and rotor inertia of the at least one motor, so that the mobile robot essentially remains in its position in the horizontal plane; and the fourth state is activated by triggering a switch. In the fourth state, the current flow in the at least one motor is controlled such that the force generated by the current flow in the at least one motor and acting on the position of the mobile robot in the horizontal plane corresponds approximately to the sum of the counterforces acting in the horizontal plane caused by the inertia of the mobile robot. Alternatively and / or additionally, in the fourth state, the current flow in the at least one motor is preferably controlled such thatthat the force generated by the current flow in the at least one motor essentially compensates for the rotor inertia of the at least one motor. The second state is preferably triggered by the detection of an obstacle, by association with a defined position, and / or by user interaction during the first state. In the third state, the current flow in the at least one motor is preferably controlled such that the force generated by the motor and the force acting on the position of the mobile robot in the horizontal plane correspond approximately to the sum of rolling resistance, rotor inertia, and at least one other force, so that the mobile robot essentially remains in its position in the horizontal plane. The other force is preferably determined by means of an inertial sensor. The other force acts on the mobile robot from the outside or results essentially from gravity.because the mobile robot is on an inclined plane. The third state is preferably reached when a speed of zero is achieved. The safety motion controller determines (directly or indirectly via a motor controller), preferably using a rotary angle sensor, a speed or acceleration that is proportional to the rotational speed or acceleration of at least one drive wheel of the mobile robot. The measured forces are preferably determined by means of rotations detected by the rotary angle sensor or by measuring an acceleration using the inertial sensor. The safety motion controller either has its own memory or access to a memory that stores values for at least one maximum speed of a robot.wherein the robot's speed is determined by the safety motion controller directly or indirectly (by means of a motor controller) using a rotary angle sensor and / or an environmental sensing sensor. If the robot exceeds this maximum speed, the current flow in the at least one motor is limited by the safety motion controller. This at least one maximum speed is preferably dependent on the size of a protective field that defines a monitoring area of the environmental sensing sensor. The invention also includes a device with the described safety motion controller. Furthermore, the invention includes a method for controlling a mobile robot by means of a safety motion controller, comprising completing a path in an environment with stationary and mobile obstacles, decelerating the mobile robot to a speed of zero,as well as triggering the safety motion control by activating a switch, such as an emergency stop, after the mobile robot has decelerated to zero speed. Preferably, triggering the safety motion control involves current flow in the at least one motor such that the force generated by the current flow in the at least one motor substantially compensates for the rotor inertia. Triggering the safety motion control causes the current flow in the at least one motor to be regulated such that the force generated by the current flow in the at least one motor and the force acting on the position of the mobile robot in the horizontal plane are approximately equal to the sum of the opposing forces acting in the horizontal plane that are caused by the inertia of the mobile robot. Deceleration preferably occurs by detecting at least one mobile obstacle within the detection range of the environmental sensing sensor.However, it can also be triggered by reaching a target position and / or by user interaction with a person. In this context, the at least one mobile obstacle is preferably located within the detection range and, in particular, within the protective field of the environmental sensing sensor. The mobile robot preferably follows a path in a first state of the safety motion control, braking preferably in a second state, assuming a standstill preferably in a third state, and assuming a fourth state preferably after triggering a switch such as an emergency stop. Furthermore, the invention comprises a mobile robot with a safety motion control as described. This mobile robot has a motion detection sensor, a vital signs sensor, and / or a radar sensor. The mobile robot also preferably includes a person identification module.A motion detection data processing module preferably comprising an observation point model generation module, an observation point evaluation module, and a feedback generation module. The sensor data from the motion detection sensor, the vital signs sensor, and / or the radar sensor are preferably provided via a process node. The feedback generation module, or the output of feedback, is preferably triggered by a state machine.
[0027] The invention described herein extends not only to a service robot with safety motion control, but also to a safety motion control as a single system configured to control a service robot or other mobile robot.
[0028] Another technical challenge is to minimize the technical risks for a person interacting with a mobile service robot, while also keeping the development effort, the scope of hardware components, and the complexity of data processing security on the mobile service robot within reasonable limits.The technical solution here is a decoupling of the safety-critical systems from the application level, which is implemented as follows: The mobile service robot has a computing unit and memory as well as a safety motion controller, wherein the safety motion controller reduces the speed of the service robot or influences the direction of movement of the mobile service robot based on sensor data if at least one environmental sensing sensor providing the sensor data detects an obstacle, wherein the computing unit accesses the safety motion controller or a motor controller via at least one interface, and wherein the access of the computing unit to the safety motion controller or the motor controller cannot override the influences of the safety motion controller on the speed or direction of movement of the mobile service robot based on obstacle detection.Preferably, the speed reduction or change of direction of movement of the mobile service robot is achieved by regulating the current flow in at least one of the service robot's motors and is preferably carried out by a motor controller. Sensor data is provided by an environmental sensing sensor, which may be a 2D or 3D camera, a radar sensor, a laser scanner, and / or a safety contact strip. Preferably, at least two environmental sensing sensors are used. Preferably, an obstacle is located within the protective field of an environmental sensing sensor, particularly a laser scanner, or the safety contact strip is triggered. The safety motion control preferably meets the requirements of ISO 13849, IEC 62061, and / or IEC 61508, and preferably Performance Level d of ISO 13849 or at least Safety Integrity Level 2 of IEC 61508 or IEC 62061.The safety motion controller may also have been validated according to ISO 13849-2, IEC 62061, and / or IEC 61508. At least one application in memory meets the requirements of software safety class A of IEC 62304. Optionally, at least one application in memory meets at least part of the requirements of software safety class B of IEC 62304. Preferably, however, all applications in memory meet software safety class A and simultaneously do not meet the requirements of software safety classes B or C of IEC 62304. The at least one application in memory is preferably a navigation module and / or a path planning module. Preferably, the at least one application is also a monitoring point evaluation module, a feedback generation module, and / or an output module, as well as a personnel identification module and / or a personnel re-identification module.
[0029] The solution further comprises a mobile service robot with a safety motion controller, wherein the safety motion controller meets the requirements of ISO 13849, IEC 62061 and / or IEC 61508, and an application layer, wherein the application layer includes at least a proportion of applications that meet the requirements of software safety class A and not software safety classes B and C of IEC 62304. Preferably, all these applications comprise software safety class A. The safety motion controller preferably regulates the current flow in the at least one motor of the mobile service robot, primarily based on the evaluation of sensor data from an environmental sensor, by means of a motor controller, such that the mobile service robot avoids the obstacle and / or comes to a stop.Preferably, the safety motion controller prioritizes control or regulation commands from a computing unit, initiated by an application, over control or regulation commands triggered by an evaluation of data from an environmental sensing sensor. The safety motion controller preferably has at least Performance Level d of ISO 13849 or Safety Integrity Level 2 of IEC 61508 or IEC 62061. The aforementioned at least one application in the service robot's memory is preferably a navigation module and / or path planning module, an observation point evaluation module, a feedback generation module and / or an output module and / or a person identification module and / or a person re-identification module. Drawings: Fig. 1: View of the service robot from the outside Fig. 2: Hardware components of the service robot Fig. 3: Software components of the service robot Fig. 4: Data processing: Process nodes and data exchange Fig. 5: Data processing: Software modules, process nodes and data channels Fig. 6: Excerpt of the state machine Fig. 7: Assessment of the movements of a recorded person Fig. 8: Determining the evaluation points Fig. 9: Evaluation of movements and feedback Fig. 10: Position-dependent feedback Fig. 11: Determining the turning position Fig. 12: Alternative determination of turning position Fig. 13: Safety motion control and associated processes Fig. 14: Components in the context of safety motion control Fig. 15: Technical risk management using safety motion control Detailed description:
[0030] The mobile service robot 1 has a memory 2, a processing unit 3 (e.g., a PC with, for example, a graphics processing unit), and a wireless interface 4 such as WLAN, cellular network, or similar. Furthermore, the mobile service robot has at least one motion detection sensor 5. This can be a 2D or 3D camera 8 (e.g., a Microsoft Kinect), a radar sensor 9, or a combination thereof. The motion detection sensor is preferably used to detect the movements of a person. However, it can also be used for navigation purposes to map the environment of the service robot 1, for example, to detect static and / or dynamic obstacles and store them on a map in the map module 31. In a preferred aspect, the service robot 1 also has at least one environmental sensing sensor 6, such as a 2D or 3D camera, a radar sensor 9, or a laser scanner 13.The environmental sensing sensor 13 serves to detect and map the environment of the service robot 1 and to detect stationary or dynamic obstacles within this environment. In one aspect, the environmental sensing sensor 13 is oriented in the direction of travel of the service robot 1, while the motion detection sensor 5 is oriented against the direction of travel. Based on these obstacles, the mobile service robot 1 can then plan routes from A to B using a path planning module 30 located in memory 2, for example, during the training of a person who is using the mobile service robot. In an optional aspect, the service robot 1 has a distance control module 37 for determining the distance between the service robot 1 and a detected person and for triggering the speed of the service robot so that the service robot 1 maintains an approximately constant distance to the person. This constant distance is, for example,defined by the vertical detection angle of the motion detection sensor 5 and the size of the person being detected. For example, if this person is 1.8 m tall and the vertical detection angle is 40°, the motion detection sensor is mounted at a height of 90 cm above the ground, and its detection axis is approximately horizontal, then the distance is at least 90 cm / tan(20°) = 2.47 m. In another aspect, the service robot 1 can be equipped with a vital data sensor 7, which allows it to record a person's vital parameters such as heart rate, respiration, body temperature, etc. This can also be a 2D or 3D camera 8, a radar sensor 9, or, for example, a temperature sensor 14 (especially an infrared sensor). Furthermore, the mobile service robot 1 has an output unit 10, such as a speaker 11 and / or a display 12. Optionally, the service robot 1 can be equipped with a light element 18, which, for example,located on top of the service robot 1, or designed as the housing surrounding it, which in one aspect can also function as output unit 10.
[0031] Furthermore, the mobile service robot 1 has an odometry unit 13, which serves to determine the position of the mobile service robot 1 in its environment, in conjunction with at least one environmental sensing sensor 6. The detected position is determined, for example, on a map of the map module 31 stored in memory 2 and is evaluated by the path planning module 30 located in memory as part of path planning. Maintaining an approximately constant distance between the service robot 1 and the detected person can be achieved, for example, by continuously determining the distance and increasing or decreasing the speed of the service robot 1 if a threshold value is exceeded or fallen below. The distance itself can be determined using the coordinates of the person detected by the motion detection sensor 5 and the coordinates of the service robot 1, for example.The position of the service robot 1 is determined by the odometry unit 13, in one aspect in combination with the environmental sensing sensor 6, and made available for navigation via the navigation module 38. In another aspect, the path planning module 30 is part of the navigation module 38. For the localization of the service robot 1, a SLAM method known from the prior art (SLAM - Simultaneous Localization and Mapping) can be used, whereby the environmental sensing sensor 6 can also be used for position determination as an alternative and / or supplement to the odometry unit 13. The height of the person, which also determines the distance, can be read from the monitoring profile and / or from the coordinates of the detected person, which are provided by the motion detection sensor 5. Distances between observation points of the person, which result from the coordinates, can be used, for example.determined as the distance between observation points that describe the person's foot and head.
[0032] On the software side, the service robot 1 has a person identification module 20 in memory 2 for person identification. The identification of the detected person is carried out, for example, based on recognized patterns within the captured sensor data, in particular by comparing the captured patterns with patterns stored in memory 2. The sensor data originates, for example, from the motion detection sensor 5, such as a 2D or 3D camera 8. In one aspect, the person is identified by reading an RFID transponder 16, which the person to be identified holds against an RFID reader 17 of the service robot, with the RFID reader 17 acting as a sensor. The recognized pattern corresponds to a code of the RFID transponder, and the stored pattern corresponds to a stored code. With regard to the use of the 2D or 3D camera 8, the identification process includes comparing the captured sensor data (e.g.,A photograph of the person, taken with the 2D or 3D camera 8, is compared with a stored photograph (where, in the case of a stored photograph, individual features of the photograph are compared, and not necessarily the entire photograph). The code of the RFID transponder 16 and / or the photograph or video, or the features associated with it, are stored in memory 2 of the service robot 1. In one aspect, person identification can also be carried out using a barcode associated with the person. Ultimately, in addition to the RFID reader 17 and the 2D or 3D camera 8, the motion detection sensor 5 and, if applicable, the vital signs sensor 7 or the radar sensor 9, or alternative sensors that are obvious to a specialist, can also be used as sensors for person identification.
[0033] Furthermore, the service robot 1, for example, has a person re-identification module 21 in memory 2. In one aspect, person detection and identification are carried out using the motion detection sensor 5, primarily via a 2D or 3D camera 8. The data recorded by this sensor are then evaluated in the processing unit 3 by pattern comparison of classified image features, as described above for camera data in the person identification module 20. Person re-identification can take place a) continuously during the detection of the person using the motion detection sensor. In this case, the person is also tracked, for example, at fixed time intervals (e.g., every 10 frames provided by the 2D or 3D camera 8), b) in the event of a tracking interruption, which occurs, for example, when the person leaves the detection range of the motion detection sensor 5.In one aspect, tracking is carried out by detecting the person using observation points and recognizing them as a person within image data.
[0034] The aforementioned observation point model generation module 23, stored in memory, generates observation points for the detected person using pattern evaluation performed by the processing unit 3 and rules stored in memory 2. This involves segmenting the sensor data captured by the motion detection sensor 5. For example, a captured silhouette of a person is detected using pattern comparison, in one aspect for example, using machine learning models such as Random Forest. Sub-segmentation of individual body elements of the detected silhouette also takes place, whereby observation points are assigned to, for example, the head and joints of the person such as knees, hips, elbows, hands, etc. In the observation point model generation module 23, the individual observation points are also displayed in a context that reflects the spatial structure of a person, e.g.by connecting the respective observation points, which represent an arm or a leg, an observation point model is created that allows for the evaluation of a person's movements. The individual observation points of the observation point model are also assigned (spatial) coordinates by the processing unit 3, enabling a spatial evaluation of the movement pattern of the person detected by the motion sensor 5. This includes, for example, an approximation of the person's size by determining the distance between (spatial) coordinates of observation points associated with a person's head and foot. These coordinates can also be used, for example, in the distance control module 37, as described above. Another application of the (spatial) coordinates arises, for example, from...also in the observation point monitoring module 24, where the detection of observation points associated with certain body parts of the person is compared using rules, and here, for example, the determination of an ankle point vertically above an observation point associated with a head can be recognized as implausible, which indicates an evaluation error and can thus trigger a re-identification.
[0035] The term "rule" is to be interpreted broadly. Such a rule can, for example, mean that a specific value is compared with stored values, such as a range of values, in the sense of: if A, then B. However, the term "rule" also encompasses the use of classifiers, such as those generated by machine learning methods, for example, through regression models like logistic regression, support vector machines, neural networks, etc. In this case, the comparison need not be deterministic; similarity values, fuzzy logic, etc., can also be used.
[0036] Service robot 1 further features a pose detection module 27 stored in memory 2. This module contains rules for detecting poses by comparing them with poses stored in memory 2, based on at least a subset of observation points from the observation point model. A pose can be defined by a classifier, generated, for example, using machine learning (e.g., using Scikit-Learn as a tool), by neural networks (e.g., convolutional neural networks), or by rule-based approaches. In the latter case, a pose is defined, for example, by the orientation of vectors between observation points and the angles between these vectors. For instance, a sitting pose can be determined by classification using neural networks based on comparison poses in which people have been labeled as sitting, or by using angle thresholds. In the latter case, the sitting pose can be defined, for example, by...This can be determined rule-based by ensuring that the knee angle is approximately 90 degrees (with a range of, for example, 20 degrees), and that there is an approximately vertical orientation of a vector extending from the hip or lower spine towards the head, again defined with certain maximum deviations (e.g., 15° laterally, 10° backwards, and 25° forwards to account for a possible forward tilt of the person).
[0037] A pose can also be defined from a subset of observation points in the observation point model. To recognize repetitive movements, the pose detection module 27 has rules to identify an initial pose, possibly an intermediate pose, and a final pose for the repetitive movement, each defined by at least one subset of observation points. The recognition of these initial, intermediate, and final poses can also be determined by the processing unit 3 through comparison with classified poses stored in memory 2. In one aspect, intermediate poses can also be defined as transitional poses, representing deviations from the initial pose to the final pose, taking into account the temporal progression of observation points. For example, a repetitive movement representing standing up from a seated position and then sitting down again could be defined as...The movement is defined by variations in the angle of the knee joint over time, whereby an angle on the order of 90% is followed by an angle significantly greater than 90°, while an angle significantly less than 90° would not represent an intermediate pose that would help define the repetitive movement.
[0038] In one aspect, the service robot 1 also has a scoring module 26 stored in memory 2. This module, via processing unit 3, determines one or more scoring points, for example, between the initial and final poses, by evaluating the temporal progression of the person's poses within the repetitive movement. The one or more scoring points allow for an evaluation of the repetitive movement itself. This is achieved, for example, by tracking at least one observation point over time and comparing this observation point with rules stored in memory 2. Such a rule, which describes the evaluation or determination of a scoring point, could, for example, represent the maximum position of the observation point above the ground within an interval defined by a start and end pose (or final pose). Thus, a scoring point is, for example, an observation point at a defined point in time.This maximum height above the ground can be used to evaluate an exercise in which a person raises and lowers their arms, a repetitive movement. If the observation points, representing the raised hands, reach a maximum height above the ground within the interval, and this maximum exceeds a certain threshold, it can be determined whether the exercise was performed correctly. This evaluation of correct execution is based on an assessment at the evaluation point – the maximum height above the ground. Furthermore, it could also involve mathematical derivations of the movements, such as the velocity of the observation points (i.e., accelerations), which in turn reach a minimum or maximum value. Therefore, the evaluation point could be an extreme value or, alternatively, an inflection point of an observation tracked over time.Based on the determined evaluation point, a repetitive evaluation can be performed, for example, by the observation point evaluation module 25 located in memory 2. This module can evaluate determined evaluation points, observation points, or poses determined by the pose determination module 27 based on observation points. In the aforementioned example of raised arms, this evaluation could mean checking whether the person, according to instructions issued by service robot 1, held their arms raised for a defined period and thus maintained this specific pose. Apart from an evaluation point, the observation point evaluation module 25 can also perform an evaluation of a pose or movement based on recorded observation points without determining an evaluation point, for example, the duration of sitting or how well the sitting conforms to a specification (e.g.,defined by angles that must not exceed certain defined thresholds, etc.) Poses or the angles underlying them, but also quantities derived from them such as distances between observation points over time (which, for example, result in step lengths defined by, for example, the spatial position of ankle points over time), but also aids used by the person and detected by pattern comparison, which are recorded by the motion detection sensor 5 and which are evaluated in conjunction with observation points, are included in the observation point evaluation carried out by processing unit 3.In one aspect, the evaluation of the observation point evaluation module 25 can involve a joint evaluation of two subsequent repetitive movements, each with at least one evaluation point determined within the repetitive movements, and by comparing measured values with evaluation rules stored in memory 2. To stay with the example of upward arm extension, the evaluation here is, for instance, whether the hands were extended to a comparable height in the second extension exercise as in the preceding one. Alternatively and / or additionally, the evaluation of a repetitive movement by the observation point evaluation module 25 can be carried out by the processing unit 3 by determining the distance between at least two observation points and comparing the determined distance with evaluation rules stored in memory 2, whereby the observation point evaluation module 25, for example,The minimum of the ankle points is determined over time, and upon reaching two subsequent minima, the distance between the evaluation points, defined based on the (spatial) coordinates, is defined as the step length. In one aspect, the evaluation of a repetitive movement is carried out by determining the distance between at least two observation points and at least one evaluation point, which was determined, for example, within a repetitive movement, and comparing the determined distance with evaluation rules stored in memory 2. An example of this would be determining the step length, as already described, which must have a minimum length ("large step") while the arms are simultaneously raised and lowered during walking. Here, a maximum of an observation point, e.g., the wrist skeleton model point, above the ground is evaluated together with the step length.The distances between the ankle points (as observation points) and the wrist point (located at a local maximum over time above the ground) can represent a pose that needs to be evaluated. The rules of the observation point evaluation module 25 can be made available to the service robot 1 via a wireless interface 4 in order to, for example, update, redefine, or assign them to a specific user (the latter can be done using a monitoring profile). Alternatively and / or additionally, the rules can be triggered, for example, by transmitting the monitoring profile via the wireless interface 4. This means, for example, that the transmitted monitoring profile calls up certain rules stored on the service robot 1. The rules can also be associated with an identified person. This means, for example, that...A monitoring profile can be provided to the service robot 1 via wireless interface 4, or such a profile stored in memory 2 can be updated. A monitoring profile is associated with stored rules for evaluating the movements of the person identified by the person identification module 20. This means, for example, that the monitoring profile describes which movements of the person detected by the service robot 1 should be evaluated by the observation point evaluation module 25, such as the exercise in which the person takes steps of a certain length while repeatedly extending their arms. Furthermore, parameters such as the height of the person being monitored can be stored in the monitoring profile. The monitoring profile, or components thereof, can also be associated with, for example, the coordinates of a map stored in the map module 31 of the service robot 1, and thus, in turn, with specific rules.In one aspect, location-dependent rules are stored in this context with regard to exercises to be carried out at specific locations, e.g., exercises to be monitored, as well as characteristics of the person to be monitored and / or combinations thereof. In an alternative aspect, the monitoring profile – e.g., characterized by an ID – merely establishes a link between, for example, a pseudonymized profile containing personal characteristics relevant for monitoring the person, such as their height, between monitoring rules such as the observation of certain movements or poses and / or their duration, and / or between location-dependent rules that describe, for example, certain navigation maneuvers of the service robot, or between combinations of monitoring rules and location-dependent rules. In one aspect, this implies that when the service robot 1 reaches a specific position (operationalized by coordinates) on the map, measured, for example,The service robot can trigger certain evaluation rules stored in memory 2, for example, as part of a defined training plan or an assessment performed by the service robot, via the odometry unit 13 and / or by evaluating the data from the environmental sensor 6. Alternatively, certain outputs from the service robot 1 can be generated via the output module 32 and at least one output unit 10 (e.g., display 12 and / or speaker 11). The output module 32, located in memory 2, can include specific outputs such as instructions for performing movements, as well as feedback on the exercises recorded and evaluated by the observation point evaluation module 25. Outputs from the service robot (e.g., speech via speaker 11) can be generated, for example, using a text-to-speech system and can include instructions and / or feedback on evaluated movements, as well as other information. The aforementioned triggering upon reaching certain positions can, in one aspect, be automated.In another aspect, based on the map coordinates associated with the monitoring profile, the detection of the person's movements is triggered. This means that the service robot 1, possibly automatically, assumes specific positions (coordinates) on the map of map module 31 in order to detect, for example, a person with a defined detection angle. Alternatively and / or additionally, the person's movements are evaluated by the processing unit 3 according to evaluation rules stored in memory 2 when the service robot 1 reaches specific coordinates on the map. The output from the service robot 1 or the triggering of the rules can occur, in one aspect, when exact coordinate values on the map from map module 31 are reached (e.g., when it is detected that the service robot 1 is within a defined coordinate range), or when defined thresholds or distances to coordinate points are reached.
[0039] The coordinates of the map in map module 31 can originate from a unified coordinate system that standardizes the area or spatial coordinates of all sensors used by the robot and providing coordinates, or they can be based on (spatial) coordinates derived from the motion detection sensor 5 or an environment detection sensor 6. In this context, the service robot 1 has a coordinate system transformation module 28 in an aspect of memory 2 for transforming the coordinates from one coordinate system of a first sensor 5, 6 into the other coordinate system of a second sensor 5, 6, or for transforming the coordinates of two sensors 5, 6 into a unified, new coordinate system. This can mean, for example, that the coordinates of the person detection sensor 5, which are assigned to the generated observation points of the person, are transformed into the coordinate system of the environment detection sensor 6.Conversely, the coordinates of the motion detection sensor 5 and the environment detection sensor 6 can be transformed into a new, unified coordinate system, where they are then available for further processing, e.g., for the joint evaluation of position data of the service robot 1 on the map and of (spatial) coordinates of the person's observation points. The calculations performed here take place in the processing unit 3.
[0040] Service robot 1 plans its movements on the map of map module 31 using a path planning module 30 located in memory 2, which takes into account the existence of stationary and dynamic obstacles. In one aspect, the monitoring profile is associated with multiple positions on the map or with paths resulting from the map. This means that a person who has identified themselves to service robot 1 via the person identification module 20 is monitored in their movements via the monitoring profile by rules of the observation point evaluation module 25, whereby these movements are evaluated accordingly by the observation point evaluation module 25. For example, the detection area for the person is defined as an area on the map, in one aspect along a path that service robot 1 travels when detecting the person.This means that coordinates are assigned to the area, derived from a map, but the area itself does not need to be defined within the map. For example, service robot 1 can also assume turning positions on the map where it changes direction (e.g., in the opposite direction), and at which outputs from service robot 1 are triggered and / or the person is detected at defined detection angles.
[0041] One goal of recording and evaluating a person's movements over time is to generate feedback for that person. The recorded movement deviations are associated with rules in memory 2, based on observation points from the observation point model and / or derived evaluation points, which prioritize these deviations. For example, certain movement deviations should receive higher priority feedback (defined by rules in memory 2) than other detected deviations. This is relevant because multiple movement deviations can be detected simultaneously or sequentially, but feedback should only be provided for one deviation at a time.
[0042] Feedback is provided to the person via an output unit 10. During the process, the person's movements are first evaluated during an initial time interval 51. In a subsequent second time interval 52, feedback is provided for a detected and highest-priority movement deviation. This is followed by a third time interval 53, during which no feedback is provided. The person receiving the feedback can then, for example, attempt to implement the feedback motorically without immediately receiving further feedback. For instance, the duration of the third time interval 53 is shorter than the sum of the durations of the first time interval 51 and the second time interval 52. In some configurations, it can also be zero, for example, if the movement deviation in question was already detected and feedback provided at an earlier time, such as in a previous exercise.The necessary data can be stored in memory 2 of the service robot 1. Following the third time interval 53, there is a fourth time interval 54 in which the movement deviation identified in the first time interval 51 is re-evaluated. In a fifth, subsequent time interval 55, further feedback on this movement deviation is provided. The re-evaluation preferably refers to the same type of deviation, e.g., the evaluation of step length (vs. specific criteria). In contrast, evaluating step length in one time interval and evaluating upper body tilt (vs. specific criteria) in another time interval would constitute a different type of deviation. Additional movement deviations can also be evaluated in the fourth time interval 54.In one embodiment, the person's movements are recorded and evaluated during time intervals 51-54, while the feedback provided relates only to movement evaluations in time intervals 51 and 53. This also applies to other movement recordings and evaluations described in this document for which feedback is provided and which cover more time intervals, e.g., in Example 4. Furthermore, movement deviations are preferably prioritized only for those for which feedback is to be provided, which is implemented using the feedback generation module 34. If the recorded movement of the person is a walking person whose walking movements are to be evaluated, the length of the time intervals results, for example, from the number of steps taken by the person. In one aspect, the length of the first time interval 51 is longer (i.e.,The number of steps is greater than that of the fourth time interval (54), meaning that the person's movements are initially observed for a longer period, followed by a shorter evaluation after feedback is provided. In one aspect, the duration of the second time interval (52) can also be longer than that of the fifth time interval (55). In another implementation, the duration of both the fourth (54) and fifth (55) time intervals is zero, resulting in no explicit follow-up check of the detected movements of the person associated with feedback. Different configurations of feedback output are also possible in the second and / or fifth time interval (52, 55). For example, feedback with a different priority can be provided in the fifth time interval (55) compared to the second time interval (52).Alternatively and / or additionally, feedback is output in the fifth time interval 55, based on movement deviations with different priorities than the feedback output in the second time interval 52. This would be the case, for example, if feedback is first output in the second time interval for a high-priority movement deviation detected in the first time interval 51, and then a lower-priority movement deviation is detected in the fourth time interval 54. Furthermore, if movement deviations with the same priority are detected sequentially, e.g., in time intervals 51 and 54, different feedback can be output for each, e.g., in time intervals 52 and 55. Finally, a final time interval 56 can be used to output feedback via output unit 10, based on at least two differently prioritized and detected movement deviations.This final time interval 56 is longer than time intervals 51-55 in one aspect. For example, several time intervals can occur between the fifth time interval 55 and the final time interval 56, during which the service robot 1 detects the person, evaluates their movements, and provides feedback. The final time interval 56 can occur, for example, during the user interaction phase when the service robot 1 is no longer moving along a path with the person, but is instead at a fixed position, such as the starting position, provided it returns to this position after completing the path. Alternatively, the final time interval 56 could also be executed at a different spatial location. A total of 34 rules for prioritizing the evaluation of at least one detected movement based on an observation and / or evaluation point are stored in memory 2 within the feedback generation module.The rules in feedback generation module 34 comprise rules for generating at least two feedback signals for a detected type of movement deviation, which are associated with different time intervals, as described above, for example, for time intervals 51-55. Types of movement deviations are understood here to include, for example, differently prioritized movement deviations such as different footfall patterns, body tilts, arm movements, where one or more body parts may be affected individually or in combination, etc. The output module 32 itself includes outputs, for example, in the form of output media such as instructions to the display 12, audio files for speech output via speaker 11, and, in one aspect, a speech synthesis function for generating speech output via speaker 11, etc. Prioritization of detected movement deviations is carried out, for example, in feedback generation module 34.They could, in one aspect, also be done in the observation point evaluation module 25.
[0043] The entire acquisition and processing of motion data, implemented by the modules stored in memory 2 (together or partially the observation point model generation module 23, the observation point monitoring module 24, the observation point evaluation module 25, the evaluation point determination module 26 and / or the pose determination module 27) can, in one aspect, take place within a motion acquisition data processing module 22, which in turn accesses sensor data from the motion acquisition sensor 5.
[0044] In one aspect, essential data processing steps on the service robot 1 take place within process node 40, which generate data for further processing by other process nodes 40. Thus, the person identification module 20, the person re-identification module 21, the motion detection data processing module 22, the observation point model generation module 23, the observation point monitoring module 24, the observation point evaluation module 25, the evaluation point determination module 26, the pose determination module 27, the coordinate transformation module 28, the output module 32, the feedback generation module 34, the anonymization module 35, the statistics module 36, the distance control module 37, and / or the navigation module 38 can individually or partially in combination represent process nodes 40. In one aspect, the connection of sensors (e.g. 5, 6) via process node 40 is also implemented.The implementation in the form of process nodes 40 ensures a high degree of modularity. Essentially, even within the process nodes 40 mentioned here, such as the observation point evaluation module, 25 different process nodes 40 can be implemented. This modularity allows for the efficient development of diverse motion analyses, as individual process nodes 40 can be efficiently interconnected via data channels 41. This saves memory compared to monolithic approaches (in extreme cases, one application per motion to be analyzed). Furthermore, this also allows for the efficient expansion of an application over time by integrating additional process nodes 40 into the existing ones or by linking the existing process nodes 40 with these additional process nodes 40. This makes it easy, for example, to expand the range of motions and feedback to be analyzed.This also saves bandwidth when these extensions are transferred as software packages via the internet and a wireless interface 4 to a system such as a mobile service robot 1. A process node 40 is characterized, for example, by the fact that it performs certain calculations. Using the observation point evaluation module 25 as an example, these calculations could include, for instance, calculations of specific body poses or parameters associated with them. Thus, determining whether a person is sitting, as described above, can be performed within a process node 40. For example, a person's standing time, stride length, etc., as well as an evaluation of such quantities, such as checking whether the determined standing time or stride length falls within certain value ranges, can be determined as parameters via a process node 40. Therefore, the rules mentioned above can also be stored within process node 40.Within process node 40, for example, calculations are performed to evaluate a person's movements. The calculation results of a process node 40 are output as data that, for example, represent an observation point model based on observation points, one or more observation points, poses, or quantities derived from them such as step length, standing time, etc., or more generally, time signals and / or measurement series. This data, provided by a process node 40, can be retrieved by other process steps, preferably subsequent ones within a processing process, in particular via data channels 41, through which it is provided by the process nodes 40 that calculate this data. This allows for a fine-grained process architecture in which preferably many small process nodes 40 perform the relevant calculation steps.
[0045] Data exchange between process nodes 40, or the provision of data by a process node 40, takes place via at least one data channel 41 that connects at least two process nodes 40. A first process node 40 can send data to a second process node 40, or the second process node 40 can receive data from the first process node 40. In other words, a process node 40 provides data to one or more other process nodes 40 via a data channel. Asynchronous data processing is possible within the process nodes 40; that is, data is read or written to at least one data channel 41 by a process node 40 with a time delay. Thus, a process node 40, or a data channel 41, enables asynchronous data processing.In one aspect, the data channels 41 are realized by providing the data of a process node 40 via a shared memory 42, which another process node 40, which is to process this data, has access to, and / or the data that is made available by one process node 40 to another process node 40 has, for example, a TCP / IP or UDP header.
[0046] In one aspect, the service robot 1 in memory 2 has at least one state machine 43 that represents various behaviors of the service robot 1. In one aspect, this state machine 43 calls process nodes 40, such as the detection of the person by the motion detection sensor 5, the observation point model generation module 23, the pose determination module 27, the observation point evaluation module 25, subcomponents thereof, and / or combinations thereof as a state. In another aspect, the at least one state machine 43 calls at least one process node 40, for example, based on the position data of the service robot 1. In this context, a process node 40 called by a state machine 43 can include an output unit 32 and / or rules for evaluating the movements and / or poses of the detected person. Furthermore, a state machine 43 can also be defined within a process node.
[0047] For example, if another person is detected by the motion detection sensor 5 while the identified person is being detected, and the motion detection sensor is an RGB camera 8, then the sensor data is modified in such a way that at least a portion of the sensor data that could allow identification of the person is anonymized or pseudonymized. In one aspect, the area in the sensor data representing the person's head is identified. This is done by comparing it to stored patterns, optionally using the observation point model, which allows specific body regions of the person to be identified and thus narrow down the search area in the sensor data accordingly, enabling faster data processing. If a specific body region is identified, e.g., the head, it is pixelated accordingly in the sensor data, in this case, RGB video data.Software tools that can be used include facial recognition software such as the O-pen VINO face detector, and the Microsoft Kinect SDK for generating observation point models, which functions in conjunction with a Microsoft Kinect as a 3D motion capture sensor. Pixelation can be achieved, for example, using the OpenCV tool, either through a simple mean value filter / Gaussian blur (to make the image "blurred") or by downscaling the resolution within the identified area followed by upscaling without interpolation (for a "pixelated look," for example, with large, homogeneous blocks). Anonymization or pseudonymization takes place within an anonymization module 35, located in memory 2.Differentiation between multiple detected individuals, in order to pixelate at least one of them, can be achieved through person tracking and person re-identification, whereby a re-identified person is preferably not pixelated, but rather one or more other individuals within the detection range of the motion detection sensor 5. In one aspect, the distance of the individuals to the motion detection sensor 5 is also evaluated, and individuals who are outside a distance interval or a specific distance field are not pixelated.
[0048] In one aspect, the service robot 1 has a safety motion controller 60. This safety motion controller 60 is configured such that, depending on its design, it directly or indirectly (by means of a motor controller 68) controls at least one motor 61 of a mobile robot (e.g., 1) with a first, second, third, and fourth state. The first state regulates the power supply to the at least one motor 61 such that the force generated by the current flow in the motor 61 and the force acting on the position of the mobile robot (e.g., 1) in the horizontal plane is greater than the sum of the inertial forces acting on the mobile robot (e.g., 1) in the horizontal plane. In the second state, the current flow in the at least one motor 61 is regulated such that a negative acceleration of the mobile robot (e.g., 1) occurs down to a speed of zero.In the third state, the current flow in the at least one motor 61 is regulated such that the force generated by the at least one motor 61 and acting on the position of the mobile robot (e.g., 1) in the horizontal plane corresponds approximately to the sum of the rolling resistance and rotor inertia of the at least one motor 61, so that the mobile robot (e.g., 1) essentially remains in its position in the horizontal plane. The fourth state is activated by triggering a switch, such as an emergency stop 65. In one aspect, in the fourth state, the current flow in the at least one motor 61 is regulated such that the force generated by the current flow in the at least one motor 61 and acting on the position of the mobile robot (e.g., 1) in the horizontal plane corresponds approximately to the sum of the opposing forces acting in the horizontal plane that are caused by the inertia of the mobile robot (e.g., 1).Alternatively and / or additionally, in the fourth state, the current flow in the at least one motor 61 is regulated such that the force generated by the current flow in the at least one motor 61 essentially compensates for the rotor inertia of the at least one motor 61. In this way, the rotor inertia can be reduced to at least 150 g / cm. 2 , in a preferred aspect at least 270g / cm² 3The second state can be triggered, for example, by the detection of an obstacle, by association with a defined position, and / or by user interaction during the first state. The mobile robot (e.g., 1) stops, for example, by the detection of an obstacle (which can force the mobile robot (e.g., 1) to reduce its speed to 0). Association with a defined position can also cause a stop, for example, when the robot reaches this position, which can result, for example, from evaluating the data of the odometry unit 13 and / or the environmental sensor 6, so that the mobile robot (e.g., 1) stops when comparing this data with a map from the map module 31. Alternatively and / or additionally, the stop can be triggered by user interaction, whereby the user interaction could, for example, mean a person stopping the mobile robot (e.g., 1).In the third state, the current flow in the at least one motor 61 is regulated such that the force generated by the motor 61 and acting on the position of the mobile robot (e.g., 1) in the horizontal plane corresponds approximately to the sum of rolling resistance, rotor inertia, and at least one other force, so that the mobile robot (e.g., 1) essentially remains in its position in the horizontal plane. This other force can be determined using an inertial sensor 62. This other force can, for example, act on the mobile robot (e.g., 1) from the outside or result essentially from gravity because the mobile robot (e.g., 1) is moving in a horizontal plane.1) is located on an inclined plane. In this case, gravity would also cause the mobile robot (e.g., 1) to move. This third state can be reached, in one aspect, when the mobile robot (e.g., 1) reaches a speed of zero. The safety motion controller 60 or the motor controller 68 determines, for example, a speed or acceleration using a rotary angle sensor 64, which is proportional to the rotational speed or acceleration of at least one drive wheel 63 of the mobile robot. The measured forces or accelerations can be determined, in one aspect, by means of rotations measured by the rotary angle sensor 64. Suitable rotary angle sensors 64 include Hall sensors, incremental encoders, encoders, etc., which detect the rotations on the shaft of a drive wheel 63 or, for example, within a motor gearbox.In one aspect, the at least one rotation angle sensor 64 is also part of the odometry unit 31 or is also used by it. Alternatively and / or additionally, this force or acceleration measurement can also be carried out using an inertial sensor 62. From the speed and acceleration, the forces can be derived by a person skilled in the art in order to control the at least one motor 61 accordingly. Furthermore, in another aspect, the safety motion controller 60 can be equipped with a control memory 66 that stores values for at least one maximum speed. The speed of the mobile robot (e.g.1) The speed is determined by means of a rotary angle sensor 64 or an environmental sensing sensor 6, and if the at least one maximum speed is exceeded, the current flow in the at least one motor 61 is limited by the safety motion controller 60 or by the motor controller 68, preferably at the initiative of the safety motion controller 60. The maximum speed, in turn, depends on the size of a protective field that defines a monitoring area of the environmental sensing sensor 6, e.g., a laser scanner 14. In one aspect, the safety motion controller 60 has access to a memory (e.g., 66) or has stored this value itself in the safety control memory 66, which stores values for at least one maximum speed that the robot (e.g., 1) may exhibit when an obstacle is located in a protective field of the environmental sensing sensor 6 and to which the safety motion controller 60 has instructed the robot (e.g., 1) to move.1) by regulating the current flow in the motor 61 directly or, for example, indirectly via the motor controller 68, accordingly decelerates the motor. This memory can, for example, also be located within the environment sensing sensor 6, which the safety motion controller 60 accesses via a safety motion controller interface 67. This safety motion controller 60, in turn, is implemented in a mobile robot (e.g., 1). This robot further comprises a motion detection sensor 5, a vital data acquisition sensor 7, and / or a radar sensor 9. In another aspect, the mobile robot (e.g., 1) also has a person identification module 20, a motion detection data processing module 22, and / or an observation point model generation module 23, an observation point evaluation module 25, and / or a feedback generation module 34.The sensor data from the motion detection sensor 5, the vital signs detection sensor 7, and / or the radar sensor 9 are provided, in one aspect, via a process node 40. The mobile robot (e.g., 1) has, in one aspect, a feedback generation module 34, which is triggered by a state machine 43. The technical solution further comprises a method for controlling a mobile robot (e.g., 1) by means of a safety motion controller 60, including the following: the mobile robot (e.g., 1) follows a path in an environment with stationary and mobile obstacles, the mobile robot (e.g., 1) decelerates to zero speed, and the safety motion controller 60 is triggered by activating a switch, such as an emergency stop 65, after the mobile robot (e.g., 1) has decelerated to zero speed. The triggering of the safety motion controller 60 regulates, for example,The current flow in the at least one motor 61 is controlled directly (or indirectly via a motor controller 68) such that the force generated by the current flow in the at least one motor 61 and acting on the position of the mobile robot (e.g., 1) in the horizontal plane corresponds approximately to the sum of the opposing forces acting in the horizontal plane that are caused by the inertia of the mobile robot (e.g., 1). Alternatively and / or additionally, triggering the safety motion controller 60 can directly (or indirectly via the motor controller 68) control the current flow in the at least one motor 61 such that the force generated by the current flow in the at least one motor 61 essentially compensates for the rotor inertia. The braking of the mobile robot (e.g., 1) occurs, for example, by detecting at least one mobile obstacle in the detection range of the environmental sensor 6, by reaching a target position, or by user interaction with a person.In one aspect, the detection of at least one mobile obstacle within the detection range of the environmental sensor 6 takes place within the protective field of the environmental sensor 6, and in another aspect, simultaneously along the path traversed by the mobile robot (e.g., 1). The traversal of a path occurs, in one aspect, in a first state of the safety motion controller 60, the braking in a second state, the assumption of a standstill position in a third state, and the assumption of a fourth state after activation of the switch (in particular, an emergency stop 65).
[0049] A technical challenge is to minimize the technical risks for a person interacting with a mobile service robot, while also keeping development effort, the number of hardware components, and the complexity of data processing security on the mobile service robot 1 within reasonable limits. The technical solution here is to decouple the safety-critical systems from the application layer, where user interaction primarily takes place. This results in significantly lower application security requirements, for example, eliminating redundant components for failover, less complex sensor data analysis, less complex system tests, etc. Specifically, this is implemented as follows: As already described, the mobile service robot 1 has a processing unit 3 and a memory 2. Together, these primarily perform activities at the application layer, i.e., for example...Regarding navigation with the navigation module 38 and the associated path planning by the path planning module 30, the technical solutions shown in the examples mentioned in this document (except for those relating to safety motion control 60) are also used within applications, for example, to implement motion analysis with feedback via a mobile service robot 1. The associated application must be able to influence the speed and direction of movement of the mobile service robot 1. In contrast, the mobile service robot 1 has a safety layer at which safety-relevant data is processed at the hardware level. This safety layer is largely decoupled from the application layer. At the safety layer, sensor data acquired by at least one environmental sensing sensor 6 is evaluated, for example, with regard to possible or actual collisions with obstacles.At the same time, some components may be duplicated at the safety level, or different components may be used, for example, via triangulation, such as a laser scanner 14 and a 3D camera 8, each for obstacle detection. The sensor data processed at this level primarily influences the movement of the mobile service robot 1, such that obstacle detections classified as critical prevent control signals from the application level from being implemented. For example, if the application level wants to send a control signal to the motor 61, preferably via a motor controller 68, this control signal is ignored or overwritten if an obstacle is simultaneously detected by at least one environmental sensing sensor 6, which, for example,a collision could occur, especially if the mobile service robot 1 implements the control signals from the application level as intended by the application level. The aforementioned safety motion controller 60 plays a crucial role here. This safety motion controller 60 prioritizes the results of the evaluation of the environmental sensor data and directly or indirectly (via a motor controller 68) controls the at least one motor 61 of the mobile service robot 1 in such a way as to avoid an obstacle collision (or, if one has already occurred – e.g., detected by a protective contact strip 69 – to bring the mobile service robot 1 to a standstill). This allows for lower safety requirements to be implemented at the application level, e.g., only safety class A according to IEC 62304.Individual applications may exceed security class A, but without necessarily reaching the next higher security class B.
[0050] Specifically, the mobile service robot 1 has a computing unit 3, a memory 2, and a safety motion controller 60. The safety motion controller 60 uses sensor data to reduce the speed of the service robot 1 or influence its direction of movement when at least one environmental sensing sensor 6, which provides the sensor data, detects an obstacle. This can include, for example, braking or an evasive maneuver. Furthermore, the computing unit 3 accesses the safety motion controller 60 or a motor controller 68 via at least one interface (67, 70). However, the computing unit 3's access to the safety motion controller 60 or the motor controller 68 cannot influence the effects of the safety motion controller 60 on the speed or direction of movement of the mobile service robot 1 based on obstacle detection.The speed reduction or change of direction of movement of the mobile service robot 1 is preferably achieved by controlling the current flow in the at least one motor 61 of the service robot 1. Depending on the design of the safety motion controller 60, it has an integrated motor controller 68 for controlling at least one motor 61 or accesses a motor controller 68 for controlling the at least one motor 61 via an interface (67, 70). This motor controller 68 preferably performs the speed reduction or change of direction of movement of the mobile service robot 1. The sensor data is provided by an environmental sensing sensor 6, which may be a 2D or 3D camera 8, a radar sensor 9, a laser scanner 14, and / or a protective contact strip 69. Alternative sensors based on ultrasound or infrared, which a person skilled in the art would reasonably use for environmental sensing, may also be used.The environmental sensing sensor 6 operates independently of the processing unit 3. However, the processing unit 3 can also use data from the environmental sensing sensor 6 in one aspect, for example, for navigation and path planning. In one aspect, the respective obstacle that causes the safety motion controller 60 to influence the direction of movement or speed of the mobile service robot 1 is located within the protective field of an environmental sensing sensor 6, such as a laser scanner 14. Preferably, the safety motion controller 60 and / or the motor controller 68 meet the requirements of ISO 13849, IEC 62061, and / or IEC 61508. In one aspect, the safety motion controller 60 and / or the motor controller 68 exhibits at least Performance Level d of ISO 13849 or Safety Integrity Level 2 of IEC 61508 or IEC 62061.In one aspect, the safety motion controller 60 and / or the motor controller 68 have been validated according to ISO 13849-2, IEC 62061 and / or IEC 61508. This implies that the mobile service robot 1 meets high safety requirements with regard to user interaction because the risk of hazards is low.
[0051] The applications in memory, on the other hand, meet the requirements of IEC 62304, which are generally divided into three risk classes: A for low risk, B for medium risk, and C for high risk. The mobile service robot 1 meets the requirements of software safety class A of IEC 62304 for at least one of the applications in memory 2 that can also influence the movements of the mobile service robot 1. In one aspect, at least one application in memory 2 meets at least partially the requirements of software safety class B of IEC 62304. Preferably, however, all applications in memory 2 meet only safety class A of IEC 62304, and simultaneously no application meets the requirements of software safety classes B and C of IEC 62304. This means, for example, that...The technical requirements for processing the motion detection sensor data are significantly reduced, and the risk minimization effort is largely shifted to the safety level with the safety motion control 60. The at least one application is the navigation module 38 and / or the path planning module 30 and / or the observation point evaluation module 25, the feedback generation module 34 and / or the output module 32 and / or the person identification module 21 and / or the person re-identification module 21. The feedback generation module, for example, outputs feedback based on differently prioritized and detected movement deviations. However, the mobile service robot 1 has further modules at the application level, such as those listed in [reference missing]. Fig. Figure 3 illustrates how these can also be integrated. In addition to a mobile service robot 1, at least one interface (67, 70) is configured for data transmission between the application layer and the security layer, as previously described.
[0052] The safety motion control 60 described here, or the arrangement in application and safety levels, with high safety requirements at the safety level and low safety requirements at the application level, can preferably be combined with the various embodiments in this document.
[0053] A service robot 1 can be a robot that moves on wheels, as shown below. Fig. Figure 1 illustrates this, or it could refer to a robot that moves on legs, such as a so-called humanoid robot. The latter case implies that any movement of a mobile service robot and any claims related to it could also refer to movement by walking rather than driving. In one aspect, it could also be a drone.
[0054] The system and process are now described using several drawings. These illustrations are for illustrative purposes only, and some process steps and system components may be optional. Furthermore, all systems and processes can be implemented within a single service robot 1.
[0055] Fig. Figure 1 shows a mobile service robot 1 with at least one motion detection sensor 5 (in this illustration, two such sensors are visible, their areas on the outer casing of the service robot 1 are shown outlined). The motion detection sensor 5 can be a 2D and / or 3D camera 8 or a radar sensor 9. The motion detection sensor 5 can also function as a vital data acquisition sensor 7, implemented by a 2D and / or 3D camera 8 or a radar sensor 9. Alternatively, the vital data acquisition sensor 7 can also be present as an alternative or supplement to the motion detection sensor 5. In one aspect, a temperature sensor 15 (e.g., an infrared sensor) is also installed on the service robot 1, configured to detect the body temperature of a person interacting with the service robot 1.The position of motion detection sensor 5, vital signs detection sensor 6, and / or temperature sensor 15 is located, in one aspect, below the display 12 of the service robot 1, and in another aspect, above it. Furthermore, the service robot also has at least one loudspeaker 11 and at least one environmental sensing sensor 6, which could be, for example, a laser scanner 14, a 2D and / or 3D camera 8, or a radar sensor 9. Additionally, the service robot 1 may also have a light element 18, which can be positioned at different locations on the service robot 1.
[0056] Fig. Figure 2 presents a different perspective on the hardware components of the service robot 1, which are partly described in Fig. The components shown in Figure 1 are not depicted because they are located under the housing of Service Robot 1. These hardware components may be present in this combination, but they do not have to be; that is, there may be fewer hardware components than those shown here. This also applies to Fig. 1. The hardware components on the service robot 1 include a processing unit 3 and a memory 2, which interacts with the processing unit 3, and whereby the processing unit 3 executes, for example, data or software modules stored in memory 2. The service robot 1 has, for example, a wireless interface 4 for data exchange. Furthermore, [illustrates...] Fig. 2. Also, that the service robot 1 has extensive sensor technology, as already mentioned above. Fig. 1 partially explained. The service robot also has at least one output unit 10, such as a loudspeaker 11, a display 12, or a light element 18. In addition, the service robot 1 has an odometry unit 13 for position determination, as is well known from the prior art. Furthermore, the service robot 1 optionally has an RFID reader 17 for reading (and possibly writing) RFID transponders 16, which can, for example, trigger certain actions on the service robot 1. Furthermore, it shows Fig. 2 a safety motion control 60 (which is also in Fig. 13 and Fig. (as explained in more detail in section 14). This controls at least one motor 61 of the service robot 1 in different states. For example, when an obstacle is detected by an environment sensor 6, the safety motion controller 60 reduces the speed of a moving service robot 1, in one aspect to 0 meters per second, to avoid a collision with the obstacle. The safety motion controller 60 accesses an inertial sensor 62, which is located within the safety motion controller 60. The inertial sensor 62 can determine forces acting on the service robot 1, such as a force generated by pushing the service robot 1 or a force that sets the service robot 1 in motion on an inclined plane.It can have different states, as described in more detail elsewhere, and thus control the at least one motor 61 differently. The safety motion controller 60 has a control memory 66 in which, for example, maximum speeds of the service robot 1 are stored. The safety motion controller 60 evaluates, for example, at least one rotary angle sensor 64 and / or the inertial sensor 62 in order to determine the speed of the service robot 1 and / or forces acting on it. The safety motion controller 60 is connected to an emergency stop 65, which can activate and deactivate one of the operating modes.This operating state, which can be activated by the emergency stop 65, ensures that the current in at least one motor 61 is regulated by the safety motion controller 60 such that the rotor forces of the motor 61 are approximately equal to the forces corresponding to the inertia of the service robot 1 in the horizontal plane, without any external force acting on the service robot 1, e.g., by pushing. In a third operating state, the forces acting on the rotor of the motor are higher than in the second state, and they make it difficult to move the service robot 1 by pushing; that is, a force of at least 25 Newtons is required for pushing, preferably at least 40 Newtons.
[0057] If the safety motion control 60 is considered alone, it comprises the control memory 66 and, in one aspect, the inertial sensor 62, and via at least one safety motion control interface 67 to the motor 61 or a motor controller interface 70 between a motor controller 68 (which regulates the current flow in the at least one motor 61) and the at least one motor 61, to the rotary angle sensor 64, to the emergency stop 65 and / or to an environment sensing sensor 6.
[0058] How Fig. As represented in Figure 3, the service robot 1 has a number of software modules in its memory 2, which are executed by the processing unit 3. These modules may, but do not all have to be present in combination. These software modules include a motion detection data processing module 22, which, for example, contains an observation point model generation module 23 for generating observation points (e.g., specific joint points of a detected person and their (spatial) coordinates), an observation point monitoring module 24 for monitoring the position or number of detected observation points, an observation point evaluation module 25, for example, for evaluating the position of observation points over time, an evaluation point determination module 26 for identifying specific observation points or quantities derived from observation points, and, for example,whose tracking over time, comparing with stored patterns, and / or a pose detection module 27 for identifying specific body poses based on determined observation and / or evaluation points, in one aspect over time. Sensor data from the motion detection sensor 5 are preferably used as input to the motion capture data processing module 22 or the observation point model generation module 23.
[0059] In one aspect, the service robot 1 has a person identification module 20 and a person re-identification module 21. Both modules (20, 21) can, for example, also process data from the motion detection sensor 5, a 2D or 3D camera 8, and / or data from the RFID reader 17. In this case, the person identification module 20 can also have different submodules for these different types of data. Furthermore, the service robot 1 has, for example, a coordinate system transformation module 28, which transforms the 3D coordinates provided by one sensor (e.g., 5 to 9 or 14) into the coordinates of another sensor (e.g., 5 to 9 or 14). Thus, for example, spatial coordinates from a 3D camera 8 can be transformed into spatial coordinates from the radar sensor 9 or the laser scanner 14, or vice versa.
[0060] In addition, the service robot 1 has a path planning module 30, which, for example, plans a path between two positions on a map derived from the map module 31. The positions can be stored in memory 2, in the monitoring profile, or stored in memory 2 and accessed via the monitoring profile. Furthermore, the service robot 1 has an output module 32 for outputting, for example, feedback to a person interacting with the service robot 1. This feedback can be output, for example, via display 12 or speaker 11. A text-to-speech system 33 can be used, for example, to generate speaker output. The output, in turn, can be generated in one aspect by an output module 32 or accessed (as pre-stored feedback in text, video, or audio format), for example.A prompt to follow the service robot 1 or to assume specific body poses, which are recorded and / or recognized in one aspect via the pose detection module 27. The feedback generation module 34 also makes a selection of possible feedback in one aspect based on differently prioritized movement deviations, which were determined by the observation point evaluation module 25 and whose prioritization, for example, in the feedback generation module 34 is based on stored rules. In one aspect, the service robot 1 also has an anonymization module 35, which anonymizes or pseudonymizes, in particular, 2D data from a camera such as images or a video sequence, by, for example, pixelating body regions of a person included in these images or video sequences, such as their head. In addition, in one aspect, the service robot may have a statistics module 36, which, for example,The feedback generated by the feedback generation module is statistically processed, or the movement sequences evaluated by the observation point evaluation module 25 are statistically processed and optionally made available via interface 4 or output module 32. Data received by the service robot 1 via wireless interface 4 can also be made available by the statistics module 36. The service robot 1 has, in one aspect, a distance control module 37 to maintain an approximately constant distance to the person, which is detected by the motion detection sensor 5 or the vital data detection sensor 7, for example, when the person is moving behind the service robot 1. Furthermore, the service robot 1 has a navigation module 38 that interacts with the path planning module 30 and the map module 31, and, for example,with the odometry unit 13 and / or the environmental sensing sensor 6, and wherein the navigation module 38 provides the current position of the service robot 1 for navigation purposes, but also for triggering location-dependent activities of the service robot 1. Furthermore, the service robot 1 has a blinding module 39 for certain personal data, preferably by means of pixelation. The exemplary implementation of this has already been described elsewhere in this document.
[0061] Fig. Figure 4 illustrates one aspect of data processing on the service robot 1. Here, a computational operation is performed in a process node 40, and, for example, generated data is exchanged with another process node 40 via a data channel 41. This exchange involves the first process node 40 providing the data to the second process node 40. In this aspect, data generated by a process node 40 is made available to another process node 40 via a data channel 41, for example, using Remote Procedure Calls or a REST service, UDP or TCP / IP headers, shared memory, etc. Fig. 4 a) shows that data channels 41 can be implemented using shared memory. In Fig. 4 b) The data channel is implemented, for example, by means of exchange via a TCP / IP or UDP stack. In one aspect, a process node 40 provides data in different formats via several data channels 41.
[0062] Fig. Figure 5 illustrates how data processing between software modules in memory 2 and the process nodes and data channels 41 functions. For example, the observation point evaluation module 25 is implemented in a process node 40. This module uses the processing unit 3 to perform calculations to evaluate the observation points generated by the observation point model generation module 23, the poses determined by the pose determination module 27 based on observation points, and / or the evaluation points determined by the evaluation point determination module 26 based on observation points and / or poses. The result could be, for example, a movement error described as the person being recorded holding one arm too low. The data representing the result of process node 40 might, for example, have...a TCP / IP header or UDP header, or alternatively, via shared memory or for remote procedure calls via a data channel 41. One of these other process nodes can trigger the output module 32, which is contained in another process node 40 and triggers an output. This data, which characterizes the "output triggering," can in turn be made available via a data channel 41 to a process node 40, which contains a feedback generation module 34 and / or an output module 32, which then triggers an output as a result, e.g., a speech output via speaker 11, e.g., to raise one's arm. In a possible parallel branch to the two aforementioned process nodes, for example,The result "Arm too low" is also made available via a data channel 41, which may or may not be identical to the data channel leading to process node 40 with output module 32, a further process node 40 containing the statistics module 36. This statistics module 36 determines, for example, descriptive results based on rules regarding movement errors determined by the observation point evaluation module 25 and makes these results available via a data channel 41 to output module 32 (implemented in a process node), which then triggers the output of error statistics on display 12. Depending on the complexity of the feedback generation, the feedback generation module 34 and / or the output module 32 can also be implemented by multiple process nodes 40.
[0063] Fig. Figure 6 a) shows an example of how state machine 43, data channels 41, and process node 40 interact. A state machine 43p was implemented within a process node 40z. In state A, the state machine waits for 1 second for messages in the data channel, which are to be provided by the process node "Sensor" (40s) and thus be considered sensor data. If no such sensor data is provided via data channel 41 within the 1-second waiting period, the state machine 43p switches to state B, in which the process node "Sensor" (40s) is restarted, which then provides, for example, sensor data from the motion detection sensor 5. The restart is initiated by calling the "restart" function of the process node "Sensor" (40s), for example, via a remote procedure call.If the return value of the "restart" function does not signal an error, the state machine 43p switches to state C and waits there for 5 seconds for the "Sensor" process node to restart (40s). Afterwards, the state machine 43p switches back to state A. However, if the return value of the "restart" function signals an error, the state machine 43p switches to state D, which can then be made available, for example, via a data channel 41 to another process node 40w for further processing, such as output via an output unit 10.
[0064] Fig. Figure 6 b) illustrates this situation from a different perspective: First, there is the implementation of the state machine 43p within a process node 40z, and second, the implementation of another process node, "Sensor" (40s). The process node "Sensor" (40s) provides sensor data via data channel 41 to the state machine 43p implemented in process node 40z, for example, from the motion detection sensor 5. The state machine 43p in process node 40z waits in state A for sensor data from process node 40s. If this state A lasts longer than 1 second, the state machine 43p switches to state B and triggers the restart of the process node "Sensor" (40p) by calling the function "restart".Since the "restart" function returns the value "Restarting" after being called, the state machine 43p in process node 40z switches to state C and waits 5 seconds for the restart of the process node "Sensor" (40s), which is supposed to provide sensor data. After the 5-second wait, the state machine 43p switches to state A and waits for sensor data provided by the process node "Sensor" (40s) via data channel 41. The implementation of a state machine 43 can be done, for example, in SCXML or directly in C++.
[0065] Fig. Figure 7 shows the process for evaluating a person's movements, as described elsewhere in this document in various forms, including extensions and abbreviations. Step 705 involves identifying the person. This step can occur before or after recording the person's movements (step 715), depending on the chosen identification method. In one scenario, step 705 is performed using an RFID transponder 16 and before the person is recorded using a motion sensor (step 715), where the RFID transponder 16 is associated with the person, for example, by a code stored in the RFID transponder. Alternatively, a barcode associated with the person could be used instead of the RFID transponder 16. If the person is recorded using a motion sensor (step 715) before the person is identified (step 705), for example...The identification of the person is carried out using RGB data (images) and comparison with stored images of the person.
[0066] After the person is detected using a motion sensor (step 715), an observation point model is generated (step 720) and spatial coordinates are assigned to the observation points (step 725). In some aspects, this step can be optional, for example, if the evaluation of movements is only to be performed in the person's sagittal plane. In this case, coordinates within the sagittal plane can be used instead of spatial coordinates. The recording of the person's movements and / or poses can take place over time up to and including step 775, in an aspect with multiple interruptions.
[0067] Based on the observation points, the person can be tracked, which in turn can be used to more easily re-identify the person because the observation points allow the facial area (e.g., the head area) to be narrowed down for re-identification. As a result of this rule check, re-identification of the captured person can optionally occur (step 710). In this sense, the re-identification of the captured person (step 710) optionally runs concurrently during the further process of capturing the person with a motion detection sensor.
[0068] Following the assignment of (spatial) coordinates to the observation values (step 725) or the optional monitoring of the generation of observation points by rules (step 730), which triggers the re-identification of the recorded person (step 710) as a kind of parallel process, for example, the evaluation of the recorded movements with regard to movement deviations (step 750) takes place using determined observation and / or evaluation points. This can be preceded by pose determination (step 735) and / or evaluation point determination (step 740). Depending on the evaluation, either step 735 can be performed first, then step 740, and then step 750; step 740 can be omitted; or both steps 735 and 740 can be omitted, and an evaluation takes place without pose determination (step 735) and evaluation point determination (step 740).In one aspect, for the evaluation in step 750, an optional comparison with a monitoring profile is carried out (step 755).
[0069] As a result of step 750, the existence and, for example, the degree of movement deviations are detected. Step 760 then prioritizes the detected movement deviations, and the subsequent step 765 provides feedback, for example, for the highest-priority deviation. In an optional version, step 760 is omitted, and the feedback is provided for each detected movement deviation based on its degree. The degree can be defined, for example, by the deviation from a specific value, such as the angle between two limbs at a joint.
[0070] In the next step, 770, the recorded movements are evaluated using the determined observation and / or evaluation points with regard to the movement deviation that was prioritized most highly in step 760. Thus, if several movement deviations were detected in step 750, one of which was given the highest priority in step 760, then feedback is only provided for this deviation in step 765. Step 770 merely assesses whether this movement deviation then occurs, in order to trigger feedback output in step 775. However, further movement deviations may well be detected in step 770, for which no feedback is provided in step 775. These movement deviations from step 770, as well as those from step 750 that were not given high priority—in other words, all detected movement deviations—are evaluated together in step 780, as are the feedback outputs from 765 and 775.This evaluation can include, for example, a statistical summary of identified, and possibly prioritized, deviations from the target movement, as well as a statistical summary of the feedback. The [information] in... Fig. The representation shown in Figure 7 includes the rules and procedures behind each step, which are evident to a person skilled in the art from the prior art.
[0071] Fig. Step 8 takes up the scoring procedure from step 740 and presents it in more detail: It builds upon the pose determination in step 735 and identifies an initial pose (step 736), a final pose (step 737), and then determines a time interval for a repetitive movement (step 745) that spans the time between the initial and final poses. The minimum scoring point is then determined within this time interval as an extreme value or turning point (step 746). For example, if the time interval covers a step, the point at which a foot touches the ground can serve as the initial and final poses, and the scoring point can be the moment when the foot reaches its maximum height above the ground. This height can then be scored accordingly.In one aspect, this approach implies a delayed evaluation, where the evaluation point is only assigned after the determination of the repetitive movement has been completed.
[0072] Fig. 9 now displays steps 750-775 Fig. Step 7 presents this in more detail in a variant that takes the temporal sequence into greater consideration. In step 910, the movement sequence and / or at least one pose of a person in the first time interval 51 is recorded and evaluated, which can be identical to steps (715-)750, for example. This can involve, for instance, determining the person's steps from the evaluation of the movement sequence (step 920), summing the person's steps (step 925), and, if the sum of the person's steps reaches a threshold, triggering the end of time interval 51 (step 930). Within time interval 51, deviations in movement and / or pose are then determined (step 940), and these deviations are prioritized in step 945.This is followed by the output of feedback to the person regarding the highest priority deviation in movement and / or pose in a second time interval 52 (step 950), which is e.g. step 765 in . Fig. 7. Subsequently, in the third time interval 53, the movement sequence and / or at least one pose of a person is recorded and evaluated again (step 955), in one aspect identical to steps 715 + 770 in Fig. 7. Once again, the length of the time interval over which data is recorded and evaluated is defined by the number of steps taken by the person. This involves determining the person's steps from the evaluation of the movement sequence (step 920), summing the person's steps (step 925), and comparing the calculated step total with a threshold value. Upon reaching this threshold, the end of time interval 53 is marked (step 935). The threshold values can differ for time intervals 51 and 53. Feedback is provided to the person for a movement and / or pose deviation detected in the third time interval 53 in a fourth time interval 54. This movement and / or pose deviation is preferably the one with the highest priority from step 945 and preferably occurs within time interval 53 (step 960).The next step is the output of feedback in a fourth time interval 54 (step 965), e.g. identical to step 775 in . Fig. 7. This can then be followed, for example, by step 780, in which the statistics module 36 summarizes detected movement deviations and / or outputs feedback, e.g. via display 12.
[0073] Fig. 10, in turn, represents a form of movement analysis and evaluation that is based on the in Fig. Section 7 builds upon this and highlights a specific aspect, namely the location-based triggering of notifications to a person interacting with a service robot 1, which, for example, conducts exercises with the person involving motion capture and analysis. Some of the steps mentioned are identical or similar to those from Fig. 7 or Fig. 9. Thus, in step 1205, a person is identified (e.g., identical to step 705 in Fig. 7) This is followed by the association of the identified person with a monitoring profile (step 1210). This monitoring profile can contain instructions and rules regarding which movements of the person should be monitored, for how long, which deviations in movement should be detected, how these are prioritized, where the monitoring should take place, etc. Preferably, however, the monitoring profile contains references to corresponding rules that are stored in memory 2 of the service robot 1 (also referred to as the association of the monitoring profile with rules). This step is followed by the recording of the person's movements (step 1220), e.g., identical to step 715 from [reference missing]. Fig. 7. Observation points for the person are generated (step 1220, e.g. identical to step 720 in Fig. 7) as well as the evaluation of the person's movements based on the generated observation points (step 1230, identical in one aspect to step 750 in Fig. 7) In a subsequent step, position data is retrieved from the monitoring profile (step 1235). The service robot determines its spatial position on the map (step 1240), for example, using the odometry unit 13 and / or the environmental sensing sensor 6. The distance of the service robot 1 to the position data from the monitoring profile is then calculated (step 1245), or the position of the service robot 1 on its map is compared with the position stored in the monitoring profile (step 1250), whereby both steps 1245 and 1250 can also be identical. Subsequently, notifications are automatically issued if the service robot 1 falls below a minimum distance to the position from the monitoring profile or if it reaches the position from the monitoring profile (step 1255). In one aspect, the position estimation is a probabilistic estimate.Steps 1220 and 1225 can be performed in parallel with steps 1230-1255 (in whole or in part). In one implementation variant, the mobile service robot 1 does not record the person's movements, but rather their vital parameters, such as respiration, pulse rate, and heart rate, with the parameters to be recorded being stored, for example, in the monitoring profile. In this case, steps 1220 and 1230, which are associated with recording the person's movements, are omitted. Instead, steps involving the recording of vital data can be performed. Alternatively and / or additionally, vital data can be recorded instead of issuing instructions in step 1255.
[0074] In Fig. Section 11 describes a computer-implemented procedure for path planning of a mobile service robot 1, which moves along a path with a person. The actual procedure comprises the following steps, which can be extended or shortened in one aspect, e.g., to include person identification, for example, in the context of registration with the service robot 1, in which a monitoring profile can also be transferred. However, other extensions are also conceivable: In step 1310, a time duration, e.g., for an exercise, is read from a monitoring profile that is associated with the person to be monitored and recorded. In step 1110, the person is recorded, who has already been described in more detail elsewhere in this document. The service robot 1 moves along a path or route between a starting position and a turning point (step 1320).Meanwhile, the distance between Service Robot 1 and the person moving ahead of or behind Service Robot 1 is determined (step 1325), ensuring that a roughly constant distance is maintained between the Service Robot and the person (step 1330). Steps 1325 and 1330 are optional. Simultaneously, the average speed of the Service Robot and / or the person while traversing the path is determined (step 1340). If Service Robot 1 determines the person's average speed, this is done, for example, by determining the person's position on a map, calculating the distances the person travels on the map, and evaluating the time required for this.Service robot 1 determines the remaining time and distance after which the assistance to the person should end (step 1350). This is done, for example, by first calculating the remaining time based on the elapsed time since leaving the starting position and the current position of service robot 1, and then calculating the difference to the time read in step 1310. For this determined remaining time, the remaining distance is then calculated based on the determined average speed (step 1360). This can be defined, for example, as the difference between the open distance and integer multiples of the distance between a starting position and the turning position; and a new turning position is defined (step 1370), at which service robot 1 makes a final change of direction and moves to a predefined position (e.g.,...).the starting position), whereby the distance between the starting position and the new turning position is approximately half the remaining distance.
[0075] Within step 1325, the person's height can be determined if this information is not already part of or associated with the monitoring profile. For this purpose, the person can be detected, for example, using the motion detection sensor 5. The captured data can then be processed using the observation point model generation module 23, providing observation points for the person. Based on these points, the person's height can be determined by calculating the distance between observation points associated with the person's feet and those associated with the person's head, using the coordinates associated with those observation points. The average speed of the service robot 1 can be determined, for example, using the odometry unit 13 and / or the environmental sensing sensor 6, by recording the time over a distance traveled, which could be, for example,The average speed of the person can be determined, for example, using the motion detection sensor 5 and the observation point model generation module 23, which assigns coordinates to the person's observation points, and by determining the distance between two, for example, identical observation points and the time between their determination. In both cases, the speed corresponds to the distance interval divided by the time interval.
[0076] Fig. 12 describes a variant of the in Fig. The procedure described in section 11, which may be preceded by steps 1205 and 1210, involves, as described elsewhere, reading a time duration from a monitoring profile (step 1310), detecting a person (to be monitored) (step 1110), and tracking movement over a distance between a starting position and a turning point (step 1320). Optionally, the distance between the service robot 1 and the person (monitored) is determined in parallel (step 1325), and a roughly constant distance between the service robot 1 and the person is maintained (step 1330). This is followed by determining the elapsed time (step 1440), preferably since leaving the starting position, and calculating the time difference between the time read in step 1310 and the elapsed time from step 1440, which is represented as step 1460.The direction of movement of service robot 1 is then determined (step 1450). Subsequently, in step 1470, an action is triggered based on the following comparison: If the determined time difference in step 1460 is below a threshold, e.g., 30 seconds, and service robot 1 is moving towards the starting position (result of the calculation in step 1450), then service robot 1 remains at the starting position after arriving there (step 1480). Thus, no new turning position is set. However, if service robot 1 is on its way to the turning position when the determined time difference in step 1460 is below a threshold (result of the calculation in step 1450), service robot 1 sets a new turning position, upon reaching which it returns to the starting position (step 1490). Alternatively, a different position can be used as the starting position, where the exercise performed with the person is to be completed.The threshold can be determined, for example, based on the expected average speed of service robot 1 and the distance between the starting position and the turning point. Furthermore, the turning point determined in step 1490 can be set at a position that service robot 1 reaches in less than 30% of the time threshold used in step 1470. For this calculation, for example, the average speed can be determined. Fig. 11, for example, has already been shown.
[0077] The in Fig. 11 and Fig. The procedure described in point 12 can be combined with the aforementioned procedures or parts thereof, so that it essentially takes place during the time when the movements of a person are being recorded (step 1220) and / or when a person is being detected by at least one sensor (5, 7-9), as has already been briefly described, for example, for determining the person's height. Optionally, a monitoring profile can be retrieved from memory 2 beforehand. This monitoring profile can, in turn, be associated with position data from a turning position, but not with that of the new turning position to be determined.
[0078] Fig. Section 13 describes the operation of the safety motion controller 60. A mobile robot (e.g., 1) follows a path (step 1510). The safety motion controller is in a first state. In this state, the force generated by the current flow in the motor 61 of the mobile robot (e.g., 1) and the force acting on the position of the mobile robot (e.g., 1) in the horizontal plane is greater than the sum of the inertial forces acting on the mobile robot (e.g., 1) in the horizontal plane. There can be various reasons why the mobile robot (e.g., 1) transitions to a second state and decelerates (step 1535). During deceleration, the current flow in at least one motor 61 is regulated such that the mobile robot (e.g., 1) decelerates negatively until it reaches a speed of zero. One reason for this could be user interaction in step 1520. For example, the mobile robot (e.g.,1) The mobile robot (e.g., 1) maintains a constant distance from a person it is moving in front of or who is following it, and this person stops, causing the mobile robot (e.g., 1) to also decelerate and stop in step 1535, as described elsewhere in this document. Furthermore, the mobile robot (e.g., 1) may reach a target position (step 1525), such as a turning point or a starting position, as described elsewhere in this document, and therefore also decelerate (step 1535) and stop. Depending on the configuration of the safety motion controller 60, the deceleration is triggered either by the safety motion controller 60 itself or by a higher-level application of the mobile robot (e.g., 1). It is also possible that the mobile robot (e.g., 1) detects an obstacle that is within the detection range of its environmental sensor 6, for example, within a protective field.This results in the safety motion controller 60 decelerating the mobile robot (e.g., 1) (step 1535, second state). Once the mobile robot (e.g., 1) has come to a standstill after decelerating to zero, it is in the third state. Here, the set current flow in the at least one motor 61 is regulated such that the force generated by the at least one motor 61 and acting on the position of the mobile robot (e.g., 1) in the horizontal plane corresponds approximately to the sum of the rolling resistance and rotor inertia of the at least one motor 61, so that the mobile robot (e.g., 1) essentially remains in its position in the horizontal plane. After decelerating to zero and thus in the third state, a state of the safety motion controller 60 is triggered by the activation of a switch, such as the emergency stop 65.This results in the current flow in the at least one motor 61 compensating for the rotor inertia of the motor 61 (step 1550). This can be identical to the fact that, through the regulation of the current flow, the force from the current flow in the at least one motor 61 corresponds to the sum of the opposing forces arising from the inertia of the mobile robot (e.g., 1) (step 1560). In other words, here the force generated and acting on the position of the mobile robot (e.g., 1) in the horizontal plane can approximately correspond to the sum of the rolling resistance and the rotor inertia of the at least one motor 61, so that, through the regulation of the current flow in the at least one motor 61, the mobile robot (e.g., 1) essentially remains in its position in the horizontal plane.
[0079] Fig. Figure 14 shows the components associated with the safety motion controller 60. The safety motion controller 60 has an inertial sensor 62, which is preferably located inside the safety motion controller 60, but can also be located outside in one aspect, in which case it is connected to the safety motion controller 60 via a safety motion controller interface 67. Furthermore, the safety motion controller 60 has a safety motion controller memory 66. This memory can store values such as a maximum speed that the mobile robot (e.g., 1) is allowed to assume, for example, when moving between two positions. This can be, firstly, the maximum speed of the mobile robot (e.g., 1), hereinafter referred to as the first maximum speed. This can, for example, be determined by the size of a protective field that segments the detection range of an environmental sensing sensor 6.If an obstacle is located within this protective field, the maximum speed of the mobile robot (e.g., 1) is reduced to this second maximum speed. This second maximum speed can either be stored in the control memory 66 or in a memory accessed by the safety motion controller 60 via a safety motion controller interface 67. For example, this could be a memory of the environmental sensing sensor 6. The safety motion controller 60 accesses the motor 61 via a safety motion controller interface 67 to regulate its current flow, as well as a rotary angle sensor 64, which determines the revolutions of a drive wheel 63 of the mobile robot (e.g., 1). If the robot is not equipped with wheels, this feature is necessarily omitted for a person skilled in the art, and the speed is determined in another way, e.g.,by evaluating the environmental sensor data. In one aspect, the safety motion controller 60 has a motor controller 68 or accesses one via the safety motion controller interface 67. This motor controller 68 specifically regulates the current flow in at least one motor 61 via a motor controller interface 70 and also reads the rotary angle sensor 64.
[0080] Fig. Figure 15 illustrates the separation of the application level and safety control. Figure 60. Here, in Fig. 15 a) and Fig. 15 b) distinguishes between two scenarios in each case. In Fig. 15 a) The motor controller 68 is integrated into the safety motion controller 60. The safety motion controller 60 has access, via a safety motion controller interface 67, to at least one environmental sensing sensor 6, e.g., a 2D or 3D camera 8, a radar sensor 9, a laser scanner 14, or a protective contact strip 69. The latter is triggered upon direct contact of the service robot 1 with an obstacle. The safety motion controller 60 regulates, preferably via the motor controller 68, the current supply to the at least one motor 61 of the service robot 1, preferably via the motor controller interface 70, such that the motor stops immediately upon obstacle detection in the event of triggering the protective contact strip 69, or stops when the obstacle is within a defined area detected by the sensors (8, 9, 14).In one aspect, the obstacle is located within the protective field of one of the sensors, preferably within the protective field of a laser scanner 14. Instead of braking, the mobile service robot 1 can also swerve. Independently of this, the application level, which can influence the control of the motor 61 via an interface (in this case, the safety control interface 67), acts to perform tasks such as navigation using the navigation module 38 in combination with the path planning module 30. This also requires controlling specific positions and thus the motor's operation. Furthermore, other modules from the application level can trigger motor access directly or indirectly, in particular the distance control module 37 to maintain a distance between a user and the service robot 1. This has, for example,This means that a change in the user's speed, whether following or preceding the service robot 1, indirectly influences the speed of the service robot 1 via the safety motion controller 60 or the motor controller 68. Similarly, user interactions within the scope of motion analysis (e.g., via the motion acquisition data processing module 22, the observation point model generation module 23 (e.g., the Microsoft Kinect SDK), the observation point evaluation module 25, the evaluation point determination module 26, the pose determination module 27, the feedback generation module 34, and the output module 32) can individually or in combination, for example, depending on the associated user menu navigation, cause movements of the mobile service robot 1. This also applies, for example, to the person identification module 20. These and potentially other modules can be controlled via the safety motion controller 60 or the motor controller 68.The safety motion control interface 67 can influence the motor controller 68 to affect the speed and, indirectly, the direction of travel of the mobile service robot 1 via the at least one motor 61. The direction of travel is achieved, for example, by controlling at least two drive wheels 63 differently. However, all these control operations at the application level have in common that they occur independently of the control of the at least one motor 61 by the safety motion control 60, or indirectly by the safety motion control 60 via the motor controller 68, which is based on the detection of, for example, obstacles detected by at least one environmental sensor 6. Thus, the safety motion control can, for example,reduce the speed, in one aspect down to zero, if an obstacle is detected by the at least one environmental sensing sensor 6, although at the application level an application with at least one of the mentioned modules or one of the modules from . Fig. 15 sends other control signals directly or indirectly to the safety motion controller 60 or the motor controller 68 via the safety motion controller interface 67, which, in one aspect, could even imply an acceleration of the service robot 1. These control signals are therefore given lower priority or overwritten by the signals triggered by the safety motion controller 60 with regard to obstacle detection and are consequently not implemented. Fig. In contrast, Figure 15 b) describes a scenario in which the motor controller 68 is not integrated into the safety motion controller 60. Here, it has an interface (e.g., 67, 70) to the safety motion controller 60, as well as an interface (e.g., 70) to the application level and also to the at least one motor 61. The safety motion controller 60 again uses the at least one environmental sensing sensor 6, as already described. The application level, in turn, has access to the motor controller 68 via the motor controller interface 70 to control the at least one motor 61, in order to control it accordingly depending on the applications. With regard to obstacle detection, the process is also carried out as described in Figure 1. Fig. 15 a) that the obstacle detection and derived control commands on the motor controller preferentially override 68 control commands of the application level.
[0081] The following examples highlight specific aspects of the invention. The features mentioned in the examples can be combined by a person skilled in the art with the other features mentioned in the description. Example 1: Movement analysis of a person
[0082] The inventive sub-problem in this example is the efficient and robust evaluation of the movements of a captured person over time, in particular using methods from the field of motion capture or pose estimation, in order to give this captured person feedback on the movement sequence, for example.
[0083] SKM1. Computer-implemented method for recording and evaluating a person's movements, comprehensive • Identification of a person based on recognized patterns within captured sensor data, • Detection of the person using a motion detection sensor 5, • Generation of an observation point model for the recorded person using pattern evaluation and rules stored in memory 2, • Evaluation of the recorded movements based on observation points of the observation point model and using rules stored in memory 2.
[0084] SKM2. Computer-implemented method for recording and evaluating a person's movements, comprehensive • Detection of the person using a motion detection sensor 5, • Identification of a person based on recognized patterns within captured sensor data, • Generation of an observation point model for the recorded person using pattern evaluation and rules stored in memory 2, • Evaluation of the recorded movements based on observation points of the observation point model and using rules stored in memory 2.
[0085] SKM3: Computer-implemented procedure according to SKM1-SKM2, whereby a monitoring profile is maintained for the identified person, which is associated with rules stored in memory 2 for evaluating the movements of the identified person.
[0086] SKM4: Computer-implemented procedure according to SKM1-SKM3, wherein the rules associated with the identified person are associated with positions in a coordinate system of a map. SKM5: Computer-implemented procedure according to SKM1-SKM4, wherein the area in which the observation and / or evaluation points are located is associated with a predefined area in a coordinate system.
[0087] SKM6: Computer-implemented procedure according to SKM1-SKM5, wherein the rules associated with the identified person are provided or triggered via a wireless interface 4.
[0088] SKM7: Computer-implemented method according to SKM1-SKM6, wherein the monitoring profile associated with the identified person is made available via a wireless interface 4. SKM8: Computer-implemented method according to SKM1-SKM7, wherein the processing of the recorded movements over time includes the processing of discrete-time measurements.
[0089] SKM9: Computer-implemented procedure according to SKM1-SKM8, wherein a repetitive movement of the person is recorded over time using the motion detection sensor 5, starting with an initial pose, intermediate poses, and a final pose, each defined by at least a subset of observation points, and wherein the final pose serves as the starting pose for the next repetitive movement.
[0090] SKM10: Computer-implemented method according to SKM9, whereby an initial pose and / or a final pose is determined by comparison with classified poses stored in memory 2.
[0091] SKM11: Computer-implemented method according to SKM9, wherein the next repetitive movement is fundamentally identical or not identical with the preceding repetitive movement.
[0092] SKM12: Computer-implemented procedure according to SKM9, whereby one or more evaluation points are determined between the initial pose and the final pose by evaluating the time course of the person's poses within the repetitive movement, which allows an evaluation of the repetitive movement.
[0093] SKM13: Computer-implemented procedure according to SKM12, wherein a joint evaluation of at least two subsequent repetitive movements is carried out jointly with at least one evaluation point, which has been determined within each of the repetitive movements, by comparing measured values with evaluation rules stored in memory 2.
[0094] SKM14: Computer-implemented procedure according to SKM12-SKM13, wherein the evaluation of a repetitive movement is carried out by determining the distance between at least two observation points and comparing the determined distance with evaluation rules stored in memory 2.
[0095] SKM15: Computer-implemented procedure according to SKM12-SKM14, wherein the evaluation of a repetitive movement is carried out by determining the distances between at least two observation points and at least one evaluation point and comparing the determined distance with evaluation rules stored in memory 2.
[0096] SKM16: Computer-implemented procedure according to SKM4, wherein the evaluation rules stored in memory 2, which are associated with the identified person, are made available or triggered via a wireless interface 4.
[0097] SKM17. Computer-implemented method according to SKM1-SKM16, wherein the sensor data of the motion detection sensor 5 are made available to at least one other process node 40 via a process node 40 and a data channel 41.
[0098] SKM 18: Device for carrying out the procedure according to SKM1-SKM17.
[0099] SKM19: Device for carrying out the method according to SKM18, wherein it is a mobile service robot 1.
[0100] SKM20: System for recording and evaluating a person's movements, comprehensive • a computing unit 3 and a memory 2, • a person identification module 20 in memory 2 for identifying a person based on recognized patterns within captured sensor data, • a motion detection sensor 5 for detecting the movement of a person, • an observation point model generation module 23 in memory 2 for generating observation points for the recorded person by means of pattern evaluation by the processing unit 3 and rules stored in memory 2 and assignment of coordinates to the observation points of the observation point model by the processing unit 3, • an observation point evaluation module 25 in memory 2 with rules for evaluating at least one recorded movement based on observation points of the observation point model,
[0101] SKM21. System according to SKM20, further comprising a wireless interface 4, configured for the transmission of the monitoring profile, wherein a monitoring profile is maintained in memory 2 for the identified person, which is associated with rules for evaluating the movements of the identified person and / or with positions in a coordinate system of a map.
[0102] SKM22. System according to SKM20-SKM21, further comprising a pose determination module 27 in memory 2 with rules for detecting poses by comparison with stored poses based on at least one subset of observation points of the observation point model.
[0103] SKM23. System according to SKM20-SKM22, further comprising a scoring point determination module 26 in memory 2 with rules for determining a scoring point based on the evaluation of observation points between initial pose and final pose by evaluating the time course of the person's poses within the repetitive movement by the computing unit 3.
[0104] SKM24. System according to SKM20-SKM23, further comprising a person re-identification module 2 in memory 2 for re-identifying a person based on recognized patterns within recorded sensor data by the computing unit 3.
[0105] SKM25. System according to SKM20-SKM24, further comprising in memory 2 a map module 31, which provides coordinates that are associated with the recording of the person's movements, the processing of the recorded motion detection sensor data and / or the evaluation of the person's movements, each based on rules stored in memory 2.
[0106] SKM26. System according to SKM20-SKM25, wherein the motion detection sensor 5 provides generated data as process node 40 to at least one other process node via a data channel 41 or triggers a state of a state machine 42. Example 2: Feedback from a motion analysis and correction system
[0107] The inventive sub-problem in this example is the analysis of a person's movements and the generation of feedback in a motion analysis system that tracks a person, determines and evaluates their movements, and provides feedback to the person on these movements. A challenge that arises here is to "synchronize" a large number of detected movement deviations with different feedback.
[0108] FS1. Computer-implemented method for recording and evaluating a person's movements over time and generating feedback to the person, comprehensive a) Detection of a person using a motion detection sensor 5, b) Generation of an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory 2, c) Evaluation of the recorded movements with regard to defined movement deviations based on observation points of the observation point model and / or derived evaluation points and rules stored in memory 2 for these in a first time interval 51, d) Output of feedback to the person by means of an output unit 10 in a second time interval 52 following the first time interval 51 regarding the determined movement deviation.
[0109] FS2. Computer-implemented method according to FS1, further comprising a third time interval 53 in which no feedback is output.
[0110] FS3. Computer-implemented method according to FS1-FS2, further comprehensive • Completing steps a) - c) from FS1 in a fourth time interval 54, • Output of feedback in a fifth time interval 55 following the fourth time interval 54 regarding the movement deviation assessed in the fourth time interval 54.
[0111] FS4. Computer-implemented method according to FS2, wherein the time length of the third time interval is zero.
[0112] FS5. Computer-implemented procedure according to FS2, wherein the time length of the third time interval 53 is shorter than the sum of the lengths of the first time interval 51 and the second time interval 52. FS6. Computer-implemented procedure according to FS1-FS5, wherein the length of a time interval (51-55) is defined by the number of steps taken by the recorded person.
[0113] FS7. Computer-implemented procedure according to SF6, whereby the number of steps taken by the person is determined by means of an evaluation of the observation point evaluation module 25.
[0114] FS8. Computer-implemented procedure according to FS3, wherein in the fourth time interval 54 the movement deviation identified in the first time interval 51 and associated with feedback in the second time interval 52 is re-evaluated as a deviation type.
[0115] FS9. Computer-implemented method according to FS1, with a prioritization of determined motion deviations in the first time interval 51 and an output of feedback in the second time interval 52 on the motion deviation with the highest priority in the first time interval 51.
[0116] FS10. Computer-implemented method according to FS1-FS9, with an output of feedback in the fifth time interval 55, which is based on differently prioritized motion deviations than the feedback output in the second time interval 52.
[0117] FS11. Computer-implemented method according to FS1-FS10, with different feedback in time interval 52 and time interval 55 for detected and equally prioritized motion deviations.
[0118] FS12. Computer-implemented method according to FS1-FS11, comprising repeatedly traversing the time intervals (51) to (55) and, in at least two time intervals provided for feedback, outputting feedback on at least two differently prioritized and detected motion deviations.
[0119] FS13. Computer-implemented method according to FS1-FS12, further comprising a final time interval 56 after one or more time intervals following the time interval 55, for outputting feedback via the output unit 10, which is based on at least two differently prioritized and detected motion deviations.
[0120] FS14. Computer-implemented procedure according to FS1-FS13, wherein, prior to the generation of an observation point model, the recorded person is identified by recording personal characteristics of the person and comparing the recorded personal characteristics with characteristics stored in a memory 2, as well as re-identifying the person over time.
[0121] FS15. Computer-implemented procedure according to FS1-FS14, wherein the evaluation of the recorded movements is based on evaluation rules for the movement deviations associated with the identified person, stored in memory 2.
[0122] FS16. Computer-implemented procedure according to FS1-FS15, wherein the recording of the person's movements and / or the evaluation rules stored in memory 2, which are associated with the identified person, are associated with positions in a coordinate system of a map.
[0123] FS17: Computer-implemented procedure according to FS14-FS16, wherein a monitoring profile is maintained for the identified person, which is associated with rules stored in memory 2 for evaluating the movements of the identified person.
[0124] FS18. Computer-implemented method according to FS17, wherein the surveillance profile associated with the identified person is made available via a wireless interface 4.
[0125] FS19. Computer-implemented method according to FS17-FS18, wherein the monitoring profile is associated with at least two positions on a map and path planning takes place between the two positions.
[0126] FS20. Computer-implemented method according to FS1-FS19, wherein each time interval is defined via a state of a state machine 43.
[0127] FS21. Computer-implemented method according to FS1-FS20, wherein the data from the motion detection sensor 5 are made available to other process nodes 40 via a process node 40 and a data channel 41.
[0128] FS22. Computer-implemented method according to FS21, wherein data provision is carried out via data channel 41 using shared memory, remote procedure calls, and / or using data packets that have a TCP / IP or UDP header.
[0129] FS23. Computer-implemented method according to claims FS1-FS22, comprising providing captured movement data, person identification data, observation points, observation point evaluations, path planning data, map data and / or output data at least partially via a process node 40 and by means of a data channel 41.
[0130] FS24. Device for carrying out the procedure according to FS1-FS23.
[0131] FS25. Device for carrying out the method according to FS24, wherein the device is a mobile service robot 1.
[0132] FS26. System for recording and evaluating a person's movements over time and for generating comprehensive feedback. • a motion detection sensor 5 for detecting the movement of a person, • a computing unit 3 and a memory 2, • an observation point model generation module 23 in memory 2 for generating an observation point model from observation points of the person by the computing unit 3, • an observation point evaluation module 25 in memory 2 with rules for evaluating at least one recorded movement based on a monitored observation and / or evaluation point in the computing unit 3, • an output module (32) and an output unit 10 for outputting feedback based on a feedback generation module 34 located in memory 2, • wherein the observation point evaluation module 23 is configured to evaluate the detected movements in a first time interval 51 and the feedback generation module 34 initiates the output of feedback on the detected movement deviation via output module 32 through the output unit 10 in a second time interval 52.
[0133] FS27. System according to SF26, wherein during a time interval (e.g. 52 or 55) the feedback is triggered by calculation results of a process node 40 by means of a state machine 43.
[0134] FS28. System according to SF26-SF27, wherein the length of a time interval is defined by the number of steps taken by the recorded person, which is determined by means of the observation point evaluation module 25 and / or a pose determination module 27.
[0135] FS29. System according to FS26-FS28, with a prioritization of detected motion deviations in the feedback generation module 34.
[0136] SF30. System according to SF26-SF29, wherein the observation point evaluation module 23 is configured to re-evaluate the movement deviation identified in the first time interval 51 and associated with feedback in the second time interval 52 as a deviation type in a fourth time interval 54 and to output feedback in a fifth time interval 55 following the fourth time interval 54 to the movement deviation evaluated in the fourth time interval 54.
[0137] SF31. System according to SF26-SF30, wherein the feedback generation module 34 a) triggers at least two feedback signals regarding differently prioritized movement deviations, b) Feedback on the detected and highest prioritized movement deviations from the first time interval 51 is triggered in the second time interval 52; c) in the fifth time interval 55 triggers a feedback output for feedback that is based on differently prioritized movement deviations than in the second time interval 52; d) triggers different feedback in time interval 52 and time interval 55 for detected and equally prioritized movement deviations; and / or e) triggers feedback in a final time interval 56 after one or more time intervals following the time interval 55, which is based on at least two differently prioritized and detected movement deviations and which is determined by means of a statistics module 38, and wherein a triggering in scenarios a)-e) results in a feedback output by means of the output module 32 and the output unit 10.
[0138] SF32. System according to SF26-SF31, further comprising a person identification module 20 for identifying the person before generating the observation point model and a person re-identification module 21 for re-identifying the person over time, wherein for the identified person an association of the movement assessment in the observation point assessment module 25 is carried out by means of rules in memory 2.
[0139] FS33. System according to FS26-FS32, further comprising a pose detection module 27 in memory 2 with rules for detecting poses, a wireless interface 4 for data exchange, and a map module 31 in memory 2, which provides coordinates that are associated with the recording of the person's movements, the processing of the recorded motion detection sensor data, and / or the evaluation of the person's movements, each based on rules stored in memory 2.
[0140] FS34. System according to FS26-FS33, wherein the data provision of the motion detection sensor 5 and / or at least one of the modules (23, 25, 27, 31, 32 and / or 34) are configured as process node 40.
[0141] FS35. System according to FS34, wherein data provision is carried out via data channel 41 using shared memory, remote procedure calls, and / or using data packets that have a TCP / IP or UDP header. Example 3: Navigation
[0142] The inventive sub-problem in this example is the efficient and robust evaluation of a person's movements over time, while saving computational effort. This is to be implemented using location-dependent rules for a mobile service robot 1, which performs the evaluations only at specific locations. In the following description of the solution, the service robot can have one or more computing units (3) and one or more memory locations 2, which are used to implement the solution from the perspective of someone skilled in the art.
[0143] NAV1. Computer-implemented method for controlling a mobile service robot 1, which monitors the movements (such as a movement exercise) of a person, comprehensive • Identification of the person at the mobile service robot 1 based on recognized patterns within the captured sensor data, • Association of the identified person with a stored surveillance profile, • Detection of the person's movements using a motion detection sensor 5 while the mobile service robot 1 travels a path, • Generation of observation points for the recorded person based on stored rules and assignment of coordinates to the observation points, • Evaluation of the recorded movements of the person based on the observation points, the stored monitoring profile and associated rules, • Retrieving position data as coordinates of a map associated with components of the monitoring profile, as well as • Automatic output of information via an output unit 10 of the mobile service robot 1 to the detected and identified person as soon as the mobile service robot 1 has reached a defined position or a minimum distance to a position associated with rules in memory 2 in the coordinate system of the map while traveling its path.
[0144] NAV2. Computer-implemented method according to NAV1, wherein the output of hints is triggered within a defined time interval after reaching the minimum distance to the associated position.
[0145] NAV3. Computer-implemented method according to NAV1-NAV2, wherein the output is a speech output via a loudspeaker 11, a display output via a display 12 and / or a signaling of a light element 18.
[0146] NAV4. Computer-implemented method according to NAV1-NAV3, wherein the output is generated by machine learning as speech synthesis using a text-to-speech system 33.
[0147] NAV5. Computer-implemented method according to NAV1-NAV4, wherein the person detection and sensor data generation for the creation of the identification profile is carried out by the motion detection sensor 5.
[0148] NAV6. Computer-implemented method according to NAV1-NAV5, wherein a monitoring profile with at least two positions on a map is associated for reaching by the mobile service robot 1 and path planning takes place between each of the individual positions.
[0149] NAV7. Computer-implemented method according to NAV1-NAV6, wherein monitoring includes as components the monitoring of movements by means of a motion detection sensor 5 and / or vital parameters by means of a vital data acquisition sensor 7 based on stored rules.
[0150] NAV8. Computer-implemented method according to NAV1-NAV7, wherein a monitoring profile is transmitted via an interface on the mobile service robot 1.
[0151] NAV9 Computer-implemented method according to NAV1-NAV8, wherein, in addition to the identified person, at least one other person is detected by the motion detection sensor 5 while completing a path, this sensor data of the at least one other person contains a face which is detected and then blinded.
[0152] NAV10. Computer-implemented method according to NAV1-NAV9, wherein, for the purpose of comparing the called position data of the map with the position of the service robot 1 on the map, the position of the service robot 1 is determined via an odometry unit 13 and / or by means of an environment detection sensor 6, each based on a first coordinate system, and the person is detected by a motion detection sensor 5 with a second coordinate system, wherein the evaluation of the movements is based on coordinates that are within a uniform coordinate system, based on the transformation of the coordinates from one of the two coordinate systems into the other coordinate system or on the transformation of the coordinates of both coordinate systems into a uniform coordinate system.
[0153] NAV11. Computer-implemented procedure according to NAV1-NAV10, wherein a repetitive movement of the recorded person is recorded over time using rules stored in memory 2, starting with an initial pose, intermediate poses, and a final pose, each defined by at least a subset of observation points, and wherein the final pose serves as the starting pose for the next repetitive movement.
[0154] NAV12. Computer-implemented procedure according to NAV1-NAV11, wherein the evaluation of a repetitive movement is carried out by determining the distance between at least two observation points and / or at an evaluation point, which was determined by evaluating the time course of the poses of the person within the repetitive movement, and by comparison with evaluation rules stored in memory 2.
[0155] NAV13. Computer-implemented procedure according to NAV1-NAV12, wherein the evaluation rules associated with the identified person are provided or triggered via a wireless interface 4.
[0156] NAV14. Computer-implemented procedure according to NAV1-NAV13, wherein the recording of the person's movements and / or the evaluation rules in the surveillance profile associated with the identified person are associated with positions in a coordinate system of a map where person recording is carried out for the purpose of evaluating recorded poses of the person.
[0157] NAV15. Computer-implemented procedure according to NAV1-NAV14, wherein a monitoring profile is maintained for the identified person, which is associated with rules stored in memory 2 for evaluating the movements of the identified person.
[0158] NAV16. Computer-implemented method according to NAV1-NAV15, wherein the monitoring profile associated with the identified person is made available via a wireless interface 4. NAV17. Computer-implemented method according to NAV1-NAV16, with the provision of captured movement data, person identification data, observation points, observation point evaluations, path planning data, map data and / or output data at least partially via a process node (40) and by means of a data channel (41).
[0159] NAV18. Device for carrying out the procedure according to NAV1-NAV17.
[0160] NAV19. Device for carrying out the method according to NAV18, wherein the device is a service robot 1.
[0161] NAV20 system comprehensive • a computing unit 3 and a memory 2, • a motion detection sensor 5 for detecting the movement of a person, • a person identification module 20 in memory 2 for identifying a person based on recognized patterns within recorded sensor data using the processing unit 3, • a monitoring profile of the person stored in memory 2, which is associated with or contains rules for evaluating the movements of the recorded person, • an observation point model generation module 23 in memory 2 for generating observation points for the recorded person by the computing unit 3 and rules stored in memory 2 and assignment of coordinates to the observation points of the observation point model by the computing unit 3, • an observation point evaluation module 25 in memory 2 with rules for evaluating at least one movement based on the monitoring profile from memory 2 using the computing unit 3, • a map module 31 in memory 2 with coordinates that are at least partially associated with the monitoring profile, • a path planning module 30 in memory 2 for planning the movements along a path of the mobile service robot 1 based on coordinates from the map module 31 using the computing unit 3, wherein the coordinates describe target positions, fixed and / or mobile obstacles, • an output module 32 in memory 2 with instructions for the recorded person to output the instructions via an output unit 10, • with rules stored in memory 2 for triggering an output to the recorded person by means of output module (32) and output unit (10), wherein the rules are associated with positions of the map stored in the map module (31) and automatically trigger the output when the service robot (1) reaches a defined position on the map.
[0162] NAV21. System according to NAV20, wherein the output is associated with the rules from the monitoring profile of the person located in memory (2).
[0163] NAV22. System according to NAV20, further comprising a wireless interface (4) configured for transmitting a monitoring profile of the person.
[0164] NAV23. System according to NAV20-NAV22, further comprising an anonymization module (35) for blinding data of another person's face captured by the motion detection sensor. NAV24. System according to NAV20, wherein the provision of data from the motion detection sensor 5 is carried out at least partially via a process node 40 and a data channel 41.
[0165] NAV25. System according to NAV20-NAV24, wherein the motion detection sensor 5 and / or one of the modules (20, 23, 25, 30, 31, and / or 32) are configured as process node 40. Example 4: Output of feedback over time
[0166] The inventive sub-problem in this example is the efficient output of feedback from a system for recording a person's movements. The implementation has already been partially addressed in Fig. 9 outlined.
[0167] FT1: Computer-implemented method for recording and evaluating a person's movements over time and generating feedback to the person, comprehensive • Detection of a person's movements using a motion detection sensor 5, • Generation of an observation point model of observation points for the recorded person, • Evaluation of the recorded movements with regard to defined movement deviations based on observation points of the observation point model and / or derived evaluation points and rules stored in memory 2 for these in a first time interval 51, which further comprises the following procedural steps: ◯ Determination of steps from the evaluation of the movement sequence during the first time interval 51, • Summing the steps and comparing the summed steps with a threshold value, ◯ Ending the first time interval 51 when the accumulated steps have reached the threshold, ◯ Determination of movement and / or pose deviations in the first time interval 51, • Output of feedback to the person in a second time interval 52 based on the identified movement and / or pose deviations.
[0168] FT2: Computer-implemented procedure according to FT1, wherein, after determining movement and / or pose deviations in the first time interval 51, a prioritization of the movement and / or pose deviations takes place and the output of feedback to the person on the highest prioritized movement and / or pose deviation in the second time interval 52.
[0169] FT3: Computer-implemented method based on FT1, more comprehensive • Detection of a person's movements using a motion detection sensor 5, • Generation of an observation point model of observation points for the recorded person in a third time interval 53, • Evaluation of the recorded movements with regard to defined movement deviations based on observation points of the observation point model and / or derived evaluation points and rules stored in memory 2 for these in a third time interval 53, which also includes the following procedural steps: ◯ Determination of steps from the assessment of the movement sequence during the third time interval 53, • Summing the steps and comparing the summed steps with a threshold value, ◯ Ending the third time interval 53 when the summed steps have reached the threshold.
[0170] FT4: Computer-implemented method based on FT1-3, further comprehensive • Issuance of feedback to the person relating to a movement and / or pose deviation detected in the third time interval 53 in a fourth time interval 54, wherein the movement and / or pose deviation is the highest priority deviation in time interval 51, • Output of feedback in a fourth time interval 54 based on the determined movement and / or pose deviations in the third time interval 53.
[0171] FT5. Computer-implemented method following FT1-FT4, which is executed more than once within a time window defined in a monitoring profile.
[0172] FT6. Computer-implemented method according to FT1-FT5, with a final time interval 55, which, after completion of the recording of the person's movements, includes the output of movement deviations recorded in previous time intervals and / or feedback issued in previous time intervals via an output unit 10.
[0173] FT7. Computer-implemented method according to FT6, wherein the motion deviations recorded in previous time intervals and / or the feedback output in previous time intervals are aggregated motion deviations and / or feedback.
[0174] FT8. Computer-implemented method according to FT1-FT7, wherein the motion deviations to be detected, the movements and / or poses to be detected and / or the duration of the detection of the motion deviations are stored in or associated with a monitoring profile, wherein the monitoring profile is made available via a wireless interface 4.
[0175] FT9. Computer-implemented method based on FT1-FT8, where the third time interval 53 is shorter than the first time interval 51.
[0176] FT10. Computer-implemented method according to FT1-FT9, wherein coordinates for carrying out at least one of the steps from FT1-FT8 are associated with a monitoring profile and an automated triggering of the detection of the person's movement takes place when a comparison of the coordinates stored directly or indirectly in the monitoring profile by means of at least one environmental sensing sensor 6 or by means of an odometry unit 13 with coordinates determined on a map results in these coordinates being reached.
[0177] FT11. Computer-implemented method according to FS5-FS10, wherein the monitoring profile is associated with at least two positions on a map and path planning takes place between the two positions.
[0178] FT12. Computer-implemented method according to FT1-FT11, wherein the provision of data from the motion detection sensor 5 is at least partially carried out via a process node 40 and a data channel 41.
[0179] FT13. Device for carrying out the computer-implemented method according to FT1-FT12, e.g. a mobile service robot 1. Example 5: Data processing
[0180] The inventive subtask in this example is the efficient and modular data processing of captured movement data of a person, for example on a mobile service robot 1 or a mobile device. Modularity ensures that, for example, various calculation steps are implemented by process nodes 40, which can easily be successively extended by adding further process nodes 40 and links between these new and existing process nodes 40. This saves bandwidth and storage space when updating the software, for example on the mobile service robot 1 via the internet (transmitted via the wireless interface 4).
[0181] DP1. Computer-implemented method for recording and evaluating a person's movements, comprehensive • Detection of a person using a motion detection sensor 5, • Generation of an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory 2, and assignment of coordinates to the observation points of the observation point model using an observation point model generation module 23, • Determination of poses of the recorded person using a pose determination module 27 based on the observation points from the observation point model and • Evaluation of the observation points using an observation point evaluation module 25, • wherein the motion detection sensor 5 provides data to at least one other process node 40 via at least one data channel 41 and / or receives data from at least one other process node 40.
[0182] DP2. Computer-implemented method for recording and evaluating a person's movements, comprehensive • Detection of a person using a motion detection sensor 5, • Generation of an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory 2, and assignment of coordinates to the observation points of the observation point model using an observation point model generation module 23, • Determination of poses using a pose determination module 27 based on the observation points from the observation point model and • Evaluation of the observation points using an observation point evaluation module 25, • wherein the pose detection module 27 and / or the observation point evaluation module 25 represent a process node 40 and provide data via at least one data channel 41 to at least one other process node 40 and / or receive data from at least one other process node 40.
[0183] DP3. Computer-implemented method according to DP1-DP2, wherein the pose detection module 27 and / or the observation point evaluation module 25, individually or in combination, constitute a process node 40 and provide data via at least one data channel 41 to at least one other process node 40 and / or receive data from at least one other process node 40. DP4. Computer-implemented method according to DP1-DP3, wherein the detection and / or evaluation of the person's movements are performed automatically when a specific position on a map is reached and the person is within the detection range of the motion detection sensor (5). DP5. Computer-implemented method according to DP1-DP4, further comprising outputting feedback to the detected person based on the evaluation of the observation points.
[0184] DP6. Computer-implemented method according to DP1-DP5, comprising, prior to the detection of the person by means of a motion detection sensor 5, an identification of the detected person based on stored patterns by a person identification module 20 and / or a person re-identification module 21 for the re-identification of the person during detection by the person detection sensor 5 by means of stored patterns.
[0185] DP7. Computer-implemented method according to DP6, wherein re-identification takes place at discrete time intervals.
[0186] DP8. Computer-implemented procedure according to DP1-DP7, wherein a monitoring profile is maintained for the recorded and identified person, which is associated with rules stored in memory 2 for evaluating the movements of the identified person by the observation point evaluation module 25.
[0187] DP9. Computer-implemented method according to DP1-DP8, wherein the observation point evaluation module 25 evaluates several observation points together.
[0188] DP10. Computer-implemented method according to DP1-DP8, wherein a process node 40 generates data and makes it available via at least one data channel 41.
[0189] DP11. Computer-implemented method according to DP1-DP10, wherein the data generated by process node 40 represents an observation point model based on observation points, one or more observation points, poses or on quantities derived from these.
[0190] DP12. Computer-implemented method according to DP1-DP11, wherein the data represents time signals and / or measurement series.
[0191] DP13. Computer-implemented method according to DP1-DP12, wherein a data channel 41 enables asynchronous data communication.
[0192] DP14. Computer-implemented method according to DP1-DP13, wherein at least one process node 40 enables asynchronous data processing.
[0193] DP15. Computer-implemented method according to DP1-DP14, wherein the data provided to a data channel (41) has a TCP / IP or UDP header.
[0194] DP16. Computer-implemented method according to DP1-DP15, wherein the provision and / or reception of data between at least two process nodes 40 is carried out by providing the data in a shared memory 42 or by means of remote procedure calls.
[0195] DP17. Computer-implemented method according to DP1-DP16, wherein asynchronous data communication represents the writing of data into the data channels 41 by a process node 40, while at least one other process node 40 simultaneously reads data from the data channel 41.
[0196] DP18. Computer-implemented method according to DP1-DP17, wherein data transmission from the motion detection sensor 5 to the observation point model generation module 23, from the observation point model generation module 23 to the pose detection module 27 and / or from the pose detection module 27 to the observation point evaluation module 25 is carried out by means of data that have a TCP / IP header or UDP header.
[0197] DP19. Computer-implemented method according to DP1-DP18, wherein the data obtained by detecting the person by the motion detection sensor 5, the observation point model generation module 23, the pose determination module 27, the observation point evaluation module 25 and / or combinations thereof call a state of a state machine 43.
[0198] DP20. Computer-implemented method according to DP1-DP19, wherein the recording and / or evaluation of movements of the person is associated with at least one position on a map.
[0199] DP21. Computer-implemented method according to DP19-DP20, wherein a state of a state machine (43) is called by at least one process node 40 based on coordinates, the coordinates being associated with a map of the map module 31.
[0200] DP22. Device for carrying out the procedure according to DP1-DP21.
[0201] DP23. Device for carrying out the method according to DP22, wherein it is a mobile service robot 1.
[0202] DP24. Device for carrying out the method according to DP23, wherein the detection and / or evaluation of movements of the person according to DP1 is carried out automatically when the mobile service robot 1 reaches the at least one position associated with the map and the person is in the detection range of the motion detection sensor 5.
[0203] DP25. System for recording and evaluating a person's movements, comprehensive • a motion detection sensor 5 for detecting the movements of a person, • a computing unit 3 and in memory 2 with ◯ an observation point model generation module 23 for generating an observation point model of observation points for the recorded person by means of pattern evaluation and rules stored in memory 2 and assignment of coordinates to the observation points of the observation point model, ◯ a pose determination module 27 for determining poses based on the observation points from the observation point model, as well as ◯ an observation point evaluation module 25 for evaluating the observation points, wherein The motion detection sensor 5 provides data via a process node 40 to at least one other process node 40 via at least one data channel 41. and / or receives data from at least one other process node 40.
[0204] DP26. System according to DP25, wherein the pose detection module 27 and / or the observation point evaluation module 25 individually or in combination represent a process node 40 and provide data via at least one data channel 41 to at least one other process node 40 and / or receive data from at least one other process node 40.
[0205] DP27. System according to DP25-DP26, wherein the detection and / or evaluation of movements of the person is carried out automatically by the motion detection sensor 25 and the observation point evaluation module 25 when the system reaches a position associated with a map from the map module 31 and the person is in the detection range of the motion detection sensor 5.
[0206] DP28. System according to DP27, wherein the position data of the system is provided by the odometry unit 13.
[0207] DP29. System according to DP25-DP28, further comprising a feedback generation module 34 for generating feedback based on the evaluation of the observation points by the observation point evaluation module 25 and an output unit 10 for outputting the generated feedback to the recorded person.
[0208] DP30. System according to DP25-DP29, with a person identification module 20 for identifying the person before detection by the motion detection sensor 5 using patterns stored in memory 2 and / or re-identifying the person during detection by the person detection sensor 5 using stored patterns by a person re-identification module 21.
[0209] DP31. System according to DP25-DP30, wherein the data provision of the at least one process node 40 is carried out by means of a data channel 41 through remote procedure calls or shared memory and / or the data has a TCP / IP or UDP header.
[0210] DP32. System according to DP25-DP32, wherein the data provided by a process node 40 via a data channel 41 represent time signals and / or measurement series.
[0211] DP33. System according to DP25-DP32, further comprising in memory 2 a state machine 43, of which at least one state is called as one or more process nodes 40 by data from the motion detection sensor 5, the observation point model generation module 23, the pose determination module 27, the observation point evaluation module 25 and / or the feedback generation module 34.
[0212] DP34. System according to DP25-DP33, wherein at least one state of the state machine 43 is called by at least one process node 40 based on the position data of the system and the position data are associated with a map of the map module 31. Example 6: Process node and state machine
[0213] The inventive sub-problem in this example is the efficient or complexity-reduced data processing for the analysis of recorded movement data of a person, preferably on a mobile service robot 1 or a mobile device. Ideally, the data processing should be modular to allow for easy expansion over time, ideally by providing it via a wireless interface 4 with internet access, and the modularity ensures that the data transfer volume can be limited.
[0214] PZ1. Computer-implemented method for recording and evaluating the movements of a person, wherein the evaluation of the movements of a person takes place within at least one process node 40, comprising • Detection of a person using a motion detection sensor 5, • Generation of an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory 2, and assignment of coordinates to the observation points of the observation point model using an observation point model generation module 23, • Evaluation of the person's movements based on at least a proportion of the generated observation points by rules using an observation point evaluation module 25, • wherein the observation point evaluation module 25 represents wholly or partly a process node 40, and is directly or indirectly connected to at least one other process node 40 for the exchange of data.
[0215] PZ2. Computer-implemented method according to PZ1, further comprising the output of hints or feedback on the evaluated movement of the person, wherein hints or feedback are triggered by a state of a state machine 43 by means of data from a process node 40, which are provided via a data channel 41.
[0216] PZ3. Computer-implemented method for recording and evaluating the movements of a person by a service robot 1, wherein the evaluation of the movements of a person takes place within at least one process node 40, comprising • Detection of a person using a motion detection sensor 5, • Generation of an observation point model of observation points for the recorded person using pattern evaluation and rules stored in memory 2, and assignment of coordinates to the observation points of the observation point model using an observation point model generation module 23, • Evaluation of the person's movements based on at least a proportion of the generated observation points by rules using an observation point evaluation module 25, • Feedback is generated by means of a feedback generation module 34 and its output is carried out via an output module 32 and an output unit 10, wherein the feedback generation module 34 and the output module 32 contain a state machine 43 within a process node 40, wherein the state machine 43 triggers at least one feedback.
[0217] PZ4. Computer-implemented method according to PZ1-PZ2, wherein the state called by the state machine 43 triggers an output via an output module 32 implemented in a further process node 40 when the service robot 1 reaches a position on a card stored in memory 2.
[0218] PZ5. Computer-implemented procedure according to PZ1-PZ4, wherein a monitoring profile is maintained for the recorded and identified person, which is associated with rules stored in memory 2 for evaluating the movements of the identified person by the observation point evaluation module 25 and / or coordinates of a map for recording the movements of the person.
[0219] PZ6. Computer-implemented method according to PZ1-PZ5, wherein data channel 41 enables asynchronous data communication.
[0220] PZ7. Computer-implemented method according to PZ1-PZ6, wherein at least one process node 40 enables asynchronous data processing.
[0221] PZ8. Computer-implemented method according to PZ1-PZ7, wherein the data provided to data channel 41 has a TCP / IP or UDP header.
[0222] PZ9. Computer-implemented method according to PZ1-PZ8, wherein the sending and / or receiving of data between at least two process nodes 40 is carried out by providing the data in a shared memory 42 or by means of remote procedure calls.
[0223] PZ10. Computer-implemented method according to PZ1-PZ9, wherein asynchronous data communication represents the time-shifted writing and reading of data into at least one data channel 41 by or from at least one process node 40.
[0224] PZ11. Device for carrying out the method according to PZ1-PZ10, wherein in one aspect the device is a service robot which, for example, has a wireless interface 4 for data transmission.
[0225] PZ12. System for recording and evaluating a person's movements, comprehensive • a computing unit 3 and a memory 2, • a motion detection sensor 5 for detecting the movements of a person, • an observation point model generation module 23 in memory 2 for generating an observation point model of observation points for the recorded person by means of pattern evaluation by the processing unit 3 and rules stored in memory 2 and assignment of coordinates to the observation points of the observation point model by the processing unit 3, • an observation point evaluation module 25 in memory 2 for evaluating a proportion of the generated observation points by means of the computing unit 3 by rules, wherein the rules are stored in at least one process node 40 and the at least one process node 40 is connected directly or indirectly to at least one other process node 40 via a data channel 41 for the exchange of data.
[0226] PZ13. System according to PZ12, further comprehensive • a process node 40, which includes an output module 32 for outputting notes or feedback on the evaluated movement of the person via an output unit 10, as well as • a state machine 43 in memory 2, which triggers the output module 32 in a state by data from a process node 40, which is provided via at least one data channel 41.
[0227] PZ14. System according to PZ12-PZ13, further comprehensive a feedback generation module 34 for generating feedback by means of an output module 32 via an output unit 10, wherein the feedback generation module 34 and the output module 32 contain a state machine 43 within a process node 40, and wherein the state machine 43 triggers at least one feedback.
[0228] PZ15. System according to PZ12-PZ14, further comprising a monitoring profile for the recorded and identified person stored in memory 2, which is associated with rules stored in memory 2 for evaluating the movements of the identified person by the observation point evaluation module 25 and / or coordinates of a map for recording the movements of the person and which can be transmitted via a wireless interface 4.
[0229] PZ16. System according to PZ12-PZ15, wherein the data channel 41 enables asynchronous data communication and the at least one process node 40 enables asynchronous data processing.
[0230] PZ17. System according to PZ12-PZ16, wherein the data provided to data channel 41 has a TCP / IP or UDP header or is provided via shared memory 42 or remote procedure calls. Example 7: Process node and state machine
[0231] The inventive sub-problem in this example is the efficient or complexity-reduced processing of recorded movement data of a person, for example, on a mobile service robot 1 or a mobile device. The aim is to provide users with targeted feedback based on the recorded movements. As described above, the software architecture should ideally be modular to allow for easy updates or expansions.
[0232] PX1: Computer-implemented method for recording and evaluating the movements of a person with at least one state machine 43, comprising • Recording an input via an input unit 19, • Triggering the detection of a person by means of a motion detection sensor 5, which as process node 40 provides data to other process nodes 40 via a data channel 41, by means of a state machine 43 based on the detection of the input, • Evaluation of the motion data recorded by the motion detection sensor 5 and made available via a data channel 41 in at least one further process node 40, • Evaluation of the motion data provided by the motion detection sensor 5 via a process node 40 within at least one further process node 40, which receives this data via a data channel 41, • Depending on the evaluation result of at least one of the latter process nodes 40, trigger an output module 32 to output feedback on an evaluated movement, whereby the triggering is carried out via a state machine 43.
[0233] PX2: Computer-implemented method according to PX1, wherein the state machine 32 is triggered by data provided via at least one data channel 41, which is generated by at least one process node 40.
[0234] PX3: Device for carrying out the procedure according to PX1-PX2.
[0235] PX4: System for recording and evaluating the movements of a person with at least one state machine 43 for triggering multiple process nodes 40, with • an input unit 19 for capturing an input and triggering a state machine 43, • a motion detection sensor 5, which as process node 40 provides data to other process nodes 40 via a data channel 41 and which is triggered by a state machine 43, • at least one further process node 40, which includes a motion detection data processing module 22 and which evaluates data provided by the motion detection sensor 5 via a data channel 41, • and an output module 32, which produces an output based on data from the motion detection data processing module 22 when the state machine 43 is triggered.
[0236] Example 8: Resource-efficient operating time planning for a mobile robot with distance calculation.
[0237] The inventive subtask in this example is the energy-resource-efficient task planning for a mobile service robot, which, for example, performs movement exercises with a person.
[0238] BZ1: Computer-implemented method for path planning of a mobile service robot 1, comprehensive • Retrieving a monitoring profile (e.g. for a person) from a storage location (e.g. 2), • Reading a time period for which the service robot 1 is to travel a route with the person and / or monitor the person, from or by means of the monitoring profile(s), whereby after this time period the traveling of a path with the person and / or the monitoring of the person is to end, • Movement over a distance on a path between a starting position and a turning position, wherein the service robot (1) performs a turn at the turning position, • Defining a new turning position at which the service robot 1 changes direction (and moves, for example, to a stored position).
[0239] BZ2. Computer-implemented procedure according to BZ 1, wherein before determining the new turning position • a determination of the average speed of the service robot 1 or the person while covering the distance, • a determination of the remaining distance after which, at the determined average speed, the journey along the route should be completed within the read-out time period, as well as • A determination of the remaining distance is carried out.
[0240] BZ3. Computer-implemented method according to BZ2, wherein the determination of a remaining distance is carried out as the difference between the open distance and integer multiples of the distance between a starting position and the turning position, and when a new turning position is determined, at which the service robot 1 changes direction and moves to a stored position, the distance between the starting position and the new turning position corresponds approximately to half the remaining distance.
[0241] BZ4. Computer-implemented method according to BZ2-BZ3, wherein the average speed is determined after 50% or more of the time stored in the monitoring profile, measured from the start of the journey with the person.
[0242] BZ5. Computer-implemented procedure according to BZ1, wherein before determining the new turning position • an assessment of the time already elapsed in completing the route and / or monitoring the person, • Determining the direction of movement of service robot 1, • a determination of the difference between the read time duration and the time duration already elapsed, and • An action is triggered when the time threshold is undershot.
[0243] BZ6. Computer-implemented method according to BZ5, wherein triggering an action when the service robot 1 is on its way to its starting position triggers the termination of the completion of the route or the monitoring of the person when the service robot 1 has reached the starting position again.
[0244] BZ7. Computer-implemented method according to BZ5, wherein triggering an action when the service robot 1 is on its way to the turning position triggers the setting of a new turning position that is closer to the starting position than the original turning position.
[0245] BZ8. Computer-implemented method according to BZ5, wherein the service robot 1 performs the turn at the turning position if the determined time difference between the read-out time duration and the time already elapsed exceeds the threshold value.
[0246] BZ9. Computer-implemented method according to BZ1-BZ8, wherein the person is detected by at least one sensor (5, 7-9) for monitoring purposes while the route is being traveled.
[0247] BZ10. Computer-implemented procedure according to BZ1, further comprehensive after recording the person who • Determining the distance of the service robot 1 to the person moving in front of or following the service robot 1 while the service robot 1 travels the route, • Maintaining a distance interval or approximately constant distance between the service robot 1 and the person.
[0248] BZ11. Computer-implemented method according to BZ10, wherein the distance interval or the approximately constant distance of the service robot 1 to the person is between 60 cm and 5.5 m.
[0249] BZ12. Computer-implemented method according to BZ1-BZ11, wherein the completion of a route between at least two waypoints is carried out, the coordinates of which are defined by means of a map in map module 31 and between which the service robot 1 determines at least one route using path planning module 30.
[0250] BZ13. Computer-implemented method according to BZ1-BZ12, wherein the service robot 1 shuttles between two waypoints within the time stored in the monitoring profile and only partially covers the distance between the two waypoints.
[0251] BZ14. Computer-implemented method according to BZ1-BZ13, wherein, before or during the completion of the route, position data is called up as coordinates of a map associated with components of the monitoring profile, and based on the called-up coordinates, outputs are triggered via the output unit 10 of the service robot based on a comparison of position data held in the monitoring profile and current position data of the service robot 1.
[0252] BZ15. Computer-implemented method according to BZ1-BZ14, wherein during the completion of the route the person is recorded by means of a motion detection sensor 5, an observation point model of observation points for the recorded person is generated by means of pattern evaluation and rules stored in memory 2, and the recorded movements are evaluated on the basis of observation points of the observation point model and by means of rules stored in memory 2.
[0253] BZ16. Computer-implemented procedure according to BZ15, wherein the rules for evaluating the recorded movements based on observation points of the observation point model include the determination and evaluation of poses by a pose determination module 26.
[0254] BZ17. Computer-implemented method according to BZ16, wherein a repetitive movement is evaluated by determining an initial pose, a final pose and an evaluation point between these two poses.
[0255] BZ18. Computer-implemented procedure according to BZ15-BZ17, wherein the evaluation of the recorded movements with regard to defined movement deviations is based on observation points of the observation point model and / or derived evaluation points and rules stored in memory 2 for these in a first time interval 51 and the output of feedback to the person by means of an output unit 10 in a second time interval 52 following the first time interval 51 regarding the determined movement deviation.
[0256] BZ19. Computer-implemented procedure according to BZ18, further comprising recording the person by means of a motion detection sensor 5, generating an observation point model of observation points for the recorded person by means of pattern evaluation and rules stored in memory 2, as well as evaluating the recorded movements based on observation points of the observation point model and by means of rules stored in memory 2 in a further time interval (e.g. 54), in which the movement deviation identified in the first time interval 51 and associated with feedback in the second time interval is evaluated again, and output of feedback in a further time interval (e.g. 55) following the said time interval (e.g. 54) on the movement deviation evaluated in the said time interval (e.g. 54).
[0257] BZ20. Computer-implemented method according to BZ18-BZ19, whereby the feedback output is based on a prioritization of detected movement deviations.
[0258] BZ21. Computer-implemented method according to BZ15-BZ20, wherein the evaluation of the observation points takes place in an observation point evaluation module 25, which wholly or partially represents a process node 40, which is directly or indirectly connected to another process node 40 via a data channel 41 and triggers at least one state machine 43 by data transmitted via the data channel 41.
[0259] BZ22. Computer-implemented method according to BZ1-BZ21, wherein, prior to completing the route, the person is identified on the mobile service robot 1 based on recognized patterns within the recorded sensor data, and the identified person is associated with a stored monitoring profile and / or the person is re-identified during the recording by the person detection sensor 5 using stored patterns.
[0260] BZ23. Computer-implemented method according to BZZ1-BZ22, wherein vital data of the person are recorded after identification of the person and / or during completion of the route. BZ24. Device for carrying out the method according to BZ1-BZ23.
[0261] BZ25. Service robot 1 with a computing unit 3, a sensor (5, 7-9) for monitoring purposes and a memory 2 containing a • Monitoring profile with a time period during which service robot 1 is to travel a route with the person and / or monitor the person, after which the travel along a path with the person is to end, • Path planning module 30, configured for ◯ Determination of the distance to be traveled by the service robot 1 between a starting position and a turning position, and ◯ a dynamic turning position determination that sets a new turning position closer to the starting position than the previously used turning position.
[0262] BZ26. Service robot 1 to BZ25, wherein the dynamic turning position determination based on the average speed of the service robot 1 and a remaining time sets a new turning position that is closer to the starting position than the previously used turning position.
[0263] BZ27. Service robot 1 according to BZ25-BZ26, wherein the dynamic turning position determination based on the direction of movement of the service robot 1 sets a new turning position that is closer to the starting position than the previously used turning position.
[0264] BZ28. Service robot 1 according to BZ25-BZ27, wherein service robot 1 according to BZ25-BZ26, wherein the dynamic turning position determination based on the time already elapsed and the duration from the monitoring profile sets a new turning position that is closer to the starting position than the previously used turning position.
[0265] BZ29. Service robot 1 according to BZ25-BZ28, further comprising a map module 31, which contains coordinates for • provides the position data of the starting position and the turning position, as well as for • the monitoring profile for triggering outputs via the output unit 10 of the service robot 1 based on a comparison of position data stored in the monitoring profile and current position data of the service robot 1.
[0266] BZ30. Service robot 1 according to BZ25-BZ29, further comprising a distance control module 37 to maintain a minimum distance between service robot 1 and the person being detected.
[0267] BZ31. Service robot 1 according to BZ25-BZ30, wherein one of the sensors is a motion detection sensor 5 for detecting the movements of a person.
[0268] BZ32. Service robot 1 according to BZ25-BZ31, further comprising an observation point model generation model 23 for generating observation points of the recorded person, an observation point evaluation module 25 for evaluating the movements of the recorded person, a pose determination module 27 for determining poses of the person.
[0269] BZ33. Service robot 1 according to BZ32, further comprising a feedback generation module 34 for triggering feedback based on prioritized movement deviations by means of an output module 32 and an output unit 10.
[0270] BZ34. Service robot 1 according to claim BZ25-BZ33, further comprising a • Person identification module 20 for identifying the person at the mobile service robot 1 based on stored patterns within recorded sensor data as well as • a person re-identification module 21 for re-identifying the person during detection by the person detection sensor 5 using stored patterns.
[0271] BZ35. Service robot according to BZ25-BZ34, with a state machine 43 that triggers outputs from an output unit 10 via a loudspeaker 11 and / or a display 12 when the service robot 1 has reached a turning position.
[0272] BZ36. Service robot according to BZ25-BZ35, wherein the motion detection sensor 5 is configured to provide data via a data channel 41 to other process nodes 40 by means of a process node 40 or to trigger a state machine 43 with this data. Example 9: Robot with adapted safety motion control
[0273] The inventive task is to enable a mobile robot, e.g., a mobile service robot 1, to be easily moved manually out of the way in situations where it might be obstructing the path in its area of operation. This service robot 1 could be a robot for accompanying or observing people, for performing at least one transport function, for capturing objects, etc.
[0274] SRF1. Safety motion controller 60, configured to directly or indirectly control at least one motor 61 of a mobile robot (e.g. 1), with a first, second, third and fourth state, wherein • the first state regulates the power supply of the at least one motor 61 in such a way that the force caused by the current flow in the motor 61 and acting on the position of the mobile robot (e.g. 1) in the horizontal plane is greater than the sum of the inertial forces of the mobile robot (e.g. 1) acting in the horizontal plane, and • in the second state, the set current flow in at least one motor 61 is regulated in such a way that a negative acceleration of the mobile robot (e.g. 1) occurs down to a speed of zero, • in the third state, the set current flow in the at least one motor 61 is regulated such that the force generated by the at least one motor 61 and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of the rolling resistance and rotor inertia of the at least one motor 61, so that the mobile robot (e.g. 1) essentially remains in its position in the horizontal plane, and • the fourth state is activated by triggering a switch (e.g. 65).
[0275] SRF2. Safety motion control 60 according to SRF1, wherein in the fourth state the current flow in the at least one motor 61 is regulated such that the force caused by the current flow in the at least one motor 61 and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of the counterforces acting in the horizontal plane caused by the inertia of the mobile robot (e.g. 1).
[0276] SRF3. Safety motion control 60 according to SRF1, wherein in the fourth state the current flow in at least one motor 61 is regulated such that the force caused by the current flow in at least one motor 61 substantially compensates for the rotor inertia of the at least one motor 61.
[0277] SRF4. Safety motion control 60 according to SRF1-SRF3, wherein the second state is triggered by the detection of an obstacle, by association with a defined position and / or by user interaction during the first state.
[0278] SRF5. Safety motion control 60 according to SRF1, wherein in the third state the set current flow in the at least one motor 61 is regulated such that the force generated by the motor 61 and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of rolling resistance, rotor inertia and at least one other force, so that the mobile robot (e.g. 1) essentially remains in its position in the horizontal plane.
[0279] SRF6. Safety motion control 60 according to SRF5, wherein the additional force is determined by means of an inertial sensor 62.
[0280] SRF7. Safety motion control 60 according to SRF5-SRF6, wherein the additional force acts on the mobile robot (e.g. 1) from the outside or results essentially from gravity because the mobile robot (e.g. 1) is on an inclined plane.
[0281] SRF8. Safety motion control 60 according to SRF1-SRF7, where the third state is reached when a speed of zero is reached.
[0282] SRF9. Safety motion control 60 according to SRF1-SRF8, wherein a speed or acceleration is determined by means of a rotation angle sensor 64 which is proportional to the rotational speed or acceleration of at least one drive wheel 63 of the mobile robot (e.g. 1).
[0283] SRF10. Safety motion control 60 according to SRF1-SRF9, wherein the forces acting on the robot (e.g. 1) are determined by means of rotations measured by the rotation angle sensor 64.
[0284] SRF 11. Safety motion control 60 according to SRF1-SRF10, wherein the forces or accelerations acting on the robot (e.g. 1) are determined by means of an inertial sensor 62.
[0285] SRF12. Safety motion control 60 according to SRF1-SRF11, with a control memory 66 which stores values for at least one maximum speed, wherein the speed of the robot (e.g. 1) is determined by means of a rotary angle sensor 64 and / or an environment detection sensor 6, and when the maximum speed is exceeded by the robot (e.g. 1) the current flow in the at least one motor 61 is limited.
[0286] SRF13. Safety motion control 60 according to SRF12, wherein the minimum maximum speed depends on the size of a protective field that defines a monitoring area of the environmental detection sensor 6.
[0287] SRF14. Safety motion control 60 according to SRF1-SRF13, with a memory (e.g. 66) or access to a memory that stores values for at least one maximum speed that the robot (e.g. 1) may exhibit when an obstacle is in a protective field of the environment detection sensor 6 and to which the safety motion control 60 brakes the robot (e.g. 1) accordingly by regulating the current flow in the motor 61.
[0288] SRF15. Mobile robot (e.g. 1) with a safety motion control according to SRF1-SRF14.
[0289] SRF16. Mobile robot (e.g. 1) according to SRF15, further comprising a motion detection sensor 5, a vital data detection sensor 7 and / or a radar sensor 9.
[0290] SRF17. Mobile robot (e.g. 1) according to SRF15-SRF16, further comprising a person identification module 20, a motion capture data processing module 22 and / or an observation point model generation module 23, an observation point evaluation module 25 and / or a feedback generation module 34.
[0291] SF18. Mobile robot (e.g. 1) according to SRF15-SRF17, wherein the sensor data of the motion detection sensor 5, the vital data detection sensor 7 and / or the radar sensor 9 are provided via a process node 40.
[0292] SRF19. Mobile robot (e.g. 1) according to SRF15-SRF18, with a feedback generation module 34, which is triggered by means of a state machine 43.
[0293] SRF20. Method for controlling a mobile robot (e.g. 1) by means of a safety motion controller 60, comprising • Completing a course in an environment with stationary and mobile obstacles, • Braking the mobile robot (e.g. 1) down to a speed of zero and thus bringing it to a standstill, • Triggering the safety motion control 60 by activating a switch (e.g. 65) after the mobile robot (e.g. 1) has slowed down to a speed of zero.
[0294] SRF21. Method according to SRF20, wherein the triggering of the safety motion control 60 directly or indirectly regulates the current flow in the at least one motor 61 such that the force caused by the current flow in the at least one motor 61 and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of the counterforces acting in the horizontal plane caused by the inertia of the mobile robot (e.g. 1).
[0295] SRF22. Method according to SRF20, wherein the triggering of the safety motion control 60 directly or indirectly regulates the current flow in the at least one motor 61 such that the force caused by the current flow in the at least one motor 61 substantially compensates for the rotor inertia.
[0296] SRF23. Method according to SRF21-SRF22, wherein the force is measured by force using an inertial sensor 62 or rotary angle sensor 64.
[0297] SRF24. Method according to SRF20-SRF23, wherein the braking is caused by detection of at least one mobile obstacle in the detection range of the environment detection sensor 6, by reaching a target position and / or user interaction with a person.
[0298] SRF25. Method according to SRF24, wherein the detection of the at least one mobile obstacle in the detection range of the environment detection sensor 6 is located in the protective field of the environment detection sensor 6.
[0299] SRF26. Method according to SRF20-SRF24, wherein the mobile robot (e.g. 1) completes a path in a first state of the safety motion control 60, decelerates in a second state, assumes a standstill position in the third state, and further assumes a fourth state after triggering a switch (e.g. 65).
[0300] SRF27. Safety motion control for carrying out the procedure according to SRF20-SRF26.
[0301] SRF28. Mobile robot with a safety motion control according to SRF27. Example 10: System decoupling for technical risk management
[0302] A technical challenge is to minimize the technical risks for a person interacting with a mobile service robot, while also keeping development effort, the number of hardware components, and the complexity of data processing security on the mobile service robot to a minimum. The technical solution here is to decouple the safety-critical systems from the application layer where user interaction primarily takes place. This results in significantly lower application security requirements, for example, eliminating redundant components for failover, less complex sensor data analysis, less complex system testing, etc.
[0303] SI1. Mobile service robot 1 with a computing unit 3 and a memory 2 as well as a safety motion control 60, wherein • the safety motion control 60 reduces the speed of the service robot 1 or influences the direction of movement of the mobile service robot 1 based on sensor data if at least one environmental sensing sensor 6 providing the sensor data detects an obstacle, and • the computing unit 3 accesses the safety motion control 60 or a motor controller 68 via at least one interface (67, 70), • where the access of the computing unit 3 to the safety motion control 60 or the motor controller 68 cannot override the influences of the safety motion control 60 based on obstacle detection on the speed or direction of movement of the mobile service robot 1.
[0304] SI2. Mobile service robot 1 according to SI1, wherein the speed reduction or change of direction of movement of the mobile service robot 1 is effected by regulating the current flow in the at least one motor 61 of the service robot 1.
[0305] SI3. Mobile service robot 1 according to SI2, wherein the speed reduction or change of direction of movement of the mobile service robot 1 is carried out by a motor controller 68.
[0306] SI4. Mobile service robot 1 according to SI1, wherein the sensor data is provided by an environment sensing sensor 6, which is a 2D or 3D camera 8, a radar sensor 9, a laser scanner 14 and / or a protective contact strip 69.
[0307] SI5. Mobile service robot 1 according to SI1, wherein the obstacle is located in a protective field of an environment detection sensor 6.
[0308] SI6. Mobile service robot 1 according to SI1, wherein the safety motion controller 60 meets the requirements of ISO 13849, IEC 62061 and / or IEC 61508.
[0309] SI7. Mobile service robot 1 according to SI1, wherein the safety motion control 60 has at least the performance level d of ISO 13849.
[0310] SI8. Mobile service robot 1 according to SI1, wherein the safety motion controller 60 has at least safety integrity level 2 of IEC 61508 or IEC 62061.
[0311] SI9. Mobile service robot 1 according to SI1, wherein the safety motion control 60 has been validated according to ISO 13849-2, IEC 62061 and / or IEC 61508.
[0312] SI10. Mobile service robot 1 according to SI1, with at least one application in memory 2, wherein the at least one application meets the requirements of software safety class A of IEC 62304. SI11. Mobile service robot 1 according to SI1, with at least one application in memory 2, wherein the at least one application meets at least partially the requirements of software safety class B of IEC 62304.
[0313] SI12. Mobile service robot 1 according to SI1, wherein the proportion of applications in memory 2 that meet the software safety class A of IEC 62304 and do not meet the requirements of the software safety class B or C of IEC 62304 is 100%.
[0314] SI13. Mobile service robot 1 according to SI10-SI12, wherein the at least one application in memory 2 is a navigation module 38 and / or a path planning module 30.
[0315] SI14. Mobile service robot 1 according to SI10-SI13, wherein at least one application includes an observation point evaluation module 25, a feedback generation module 34 and / or an output module 32.
[0316] SI15. Mobile service robot 1 according to SI10-SI14, wherein at least one application includes a person identification module 21 and / or a person re-identification module 21.
[0317] SI16. Mobile service robot 1 with a safety motion controller 60, wherein the safety motion controller 60 meets the requirements of ISO 13849, IEC 62061 and / or IEC 61508, and an application level, wherein the application level includes at least partially applications that meet the requirements of software safety class A and not software safety classes B and C of IEC 62304.
[0318] SI17. Mobile service robot 1 according to SI16, where all applications meet the software safety class A of IEC 62304.
[0319] SI18. Mobile service robot 1 according to SI16, wherein the safety motion control 60 primarily influences the current flow in the at least one motor 61 of the mobile service robot 1 by means of a motor controller 68 based on the evaluation of sensor data from an environment detection sensor 6 in such a way that the mobile service robot 1 avoids the obstacle and / or comes to a stop.
[0320] SI19. Mobile service robot 1 according to SI16-SI18, wherein the safety motion control 60 control or regulation commands of a computing unit 3, initiated by an application, are treated secondarily after control or regulation commands that are triggered on the basis of an evaluation of the data of an environment detection sensor 6.
[0321] SI20. Mobile service robot 1 according to SI16-SI19, wherein the safety motion controller 60 has at least the Performance Level d of ISO 13849 or the Safety Integrity Level 2 of IEC 61508 or IEC 62061.
[0322] SI21. Mobile service robot 1 according to SI16-SI20, wherein one application is a navigation module 38 and / or path planning module 30.
[0323] SI22. Mobile service robot 1 according to SI16-SI21, wherein an application comprises an observation point evaluation module 25, a feedback generation module 34 and / or an output module 32.
[0324] SI23. Mobile service robot 1 according to SI16-SI22, wherein at least one application includes a person identification module 21 and / or a person re-identification module 21. Reference sign 1 service robot 2 storage 3 Computing Unit 4 Wireless interface 5 motion detection sensors 6 Environmental sensing sensor 7 Vital signs sensor 8 2D or 3D camera 9 radar sensor 10 output units 11 speakers 12 Display 13 odometry units 14 laser scanners 15 Temperature sensor 16 RFID transponders 17 RFID readers 18 lighting elements 19 Input unit 20 Person identification module 21 Person Re-Identification Module 22 Motion Capture Data Processing Module 23 Observation Point Model Generation Module 24 observation point monitoring module 25 observation points evaluation module 26 Assessment Point Calculation Module 27 Posen Determination Module 28 Coordinate system transformation module 30 Path Planning Module 31 Card module 32 Output module 33 Text-to-Speech System 34 Feedback generation module 35 Anonymization module 36 Statistics module 37 Distance control module 38 Navigation module 40 process nodes 40z process nodes (dedicated with state machine) 40s process node (dedicated, providing sensor data) 41 Data channel 42 Shared memory 43 State machine 43p State machine (dedicated within process node) 51 first time interval 52 second time interval 53 third time interval 54 fourth time interval 55 fifth time interval 56 final time interval 60 Safety motion control 61 Engine 62 Inertial sensor 63 Drive wheel 64 Rotation angle sensor 65 Emergency stop 66 control memory 67 Safety motion control interface 68 motor controllers 69 Safety switch strip 70 Motor controller interface QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] WO 2020144175A1
[0002] WO 2021038109A1
[0002] WO 2019070388A2
[0002] WO 2019228977
[0002] WO 2014151700
[0002] WO 2021069674
[0002] Cited non-patent literature
[0000] ISO 13849, IEC 62061 and / or IEC 61508
[0308] IEC 62304
[0312]
Claims
[1] Safety motion controller (60) configured to directly or indirectly control at least one motor (61) of a mobile robot (e.g. 1), with a first, second, third and fourth state, wherein • the first state regulates the power supply of the at least one motor (61) such that the force caused by the current flow in the motor (61) and acting on the position of the mobile robot (e.g. 1) in the horizontal plane is greater than the sum of the inertial forces of the mobile robot (e.g. 1) acting in the horizontal plane, and • in the second state, the set current flow in at least one motor (61) is regulated such that a negative acceleration of the mobile robot (e.g. 1) occurs down to a speed of zero, • in the third state, the set current flow in the at least one motor (61) is regulated such that the force generated by the at least one motor (61) and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of the rolling resistance and rotor inertia of the at least one motor (61), so that the mobile robot (e.g. 1) essentially remains in its position in the horizontal plane. • the fourth state is activated by triggering a switch (e.g. 65). [2] Safety motion control (60) according to claim 1, wherein in the fourth state the current flow in the at least one motor (61) is regulated such that the force caused by the current flow in the at least one motor (61) and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of the counterforces acting in the horizontal plane caused by the inertia of the mobile robot (e.g. 1). [3] Safety motion control (60) according to claim 1, wherein in the fourth state the current flow in at least one motor (61) is regulated such that the force caused by the current flow in at least one motor (61) substantially compensates for the rotor inertia of the at least one motor (61). [4] Safety motion control (60) according to claim 1, wherein the second state is triggered by the detection of an obstacle, by association with a defined position and / or by user interaction during the first state. [5] Safety motion control (60) according to claim 1, wherein in the third state the set current flow in the at least one motor (61) is regulated such that the force generated by the motor (61) and acting on the position of the mobile robot (e.g. 1) in the horizontal plane corresponds approximately to the sum of rolling resistance, rotor inertia and at least one other force, so that the mobile robot (e.g. 1) essentially remains in its position in the horizontal plane. [6] Safety motion control (60) according to claim 5, wherein the additional force acts on the mobile robot (e.g. 1) from the outside or results substantially from gravity because the mobile robot (e.g. 1) is located on an inclined plane. [7] Safety motion control (60) according to claim 1, wherein the third state is reached when a speed of zero is reached. [8] Safety motion control (60) according to claims 1-7, wherein a speed or acceleration is determined by means of a rotation angle sensor (64) which is proportional to the rotational speed or acceleration of at least one drive wheel (63) of the mobile robot (e.g. 1). [9] Safety motion control (60) according to claims 1-8, wherein the forces acting on the robot are determined by means of rotations which the rotation angle sensor (64) measures. [10] Safety motion control (60) according to claims 1-9, wherein the forces or accelerations acting on the robot are determined by means of an inertial sensor (62). [11] Safety motion control (60) according to claims 1-10, comprising a control memory 66 which stores values for at least one maximum speed, wherein the speed of the robot (e.g. 1) is determined by means of a rotary angle sensor (64) and / or an environment sensing sensor (6), and when the maximum speed is exceeded by the robot (e.g. 1) the current flow in the at least one motor (61) is limited. [12] Safety motion control (60) according to claim 11, wherein the at least one maximum speed depends on the size of a protective field that defines a monitoring area of the environment detection sensor (6). [13] Safety motion control (60) according to claims 1-12, comprising a memory (e.g. 66) or access to a memory which stores values for at least one maximum speed that the robot (e.g. 1) may exhibit when an obstacle is in a protective field of the environment detection sensor 6 and to which the safety motion control (60) decelerates the robot (e.g. 1) accordingly by regulating the current flow in the motor (61). [14] Mobile robot (e.g. 1) with a safety motion control according to claims 1-13.
Citation Information
Patent Citations
Whole-body impedance for mobile robots
DE102014226936B3
Signal analysis for repetition detection and analysis
WO2014151700A1
Robot as personal trainer
WO2019070388A2
Monitoring the performance of physical exercises
WO2019228977A1
Method and system for capturing the sequence of movement of a person
WO2020144175A1