A robot wheelchair comfort control method and system integrating slam and human-like operation skills
Patent Information
- Application Number
- CN202311089414.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-28
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2043-08-28
AI Technical Summary
Existing autonomous navigation systems for robotic wheelchairs prioritize navigation safety and efficiency but neglect user comfort during use.
Combining laser SLAM technology with human-like driving skills, the global path is segmented using a beta process autoregressive hidden Markov model, and the sub-paths are matched and generalized using a dynamic motion primitive algorithm. Combined with Gaussian process regression, autonomous driving with human-like driving skills is achieved, and local obstacle avoidance is performed when encountering dynamic obstacles.
It improves user comfort and satisfaction during the autonomous navigation process of the robotic wheelchair, enhances the occupant's driving experience, and ensures the safety and efficiency of the navigation system.
Smart Images

Figure CN117032254B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robotic wheelchair control technology, and relates to a method and system for controlling the comfort of robotic wheelchairs that integrates SLAM and human-like operating skills. Background Technology
[0002] Autonomous navigation-based robotic wheelchairs have become a hot research topic, and various autonomous navigation systems for robotic wheelchairs have been developed using different methods such as vision, laser, and multi-sensor fusion. However, these methods mainly focus on the shortest path planning and obstacle avoidance capabilities of mobile robots, neglecting the user's comfort during use. Summary of the Invention
[0003] Objective: To overcome the shortcomings of existing technologies, this invention provides a method and system for controlling the comfort of a robotic wheelchair that integrates SLAM and human-like operational skills. This method can improve the user's driving comfort during the autonomous navigation of the robotic wheelchair while ensuring navigation safety and efficiency.
[0004] Technical solution: To solve the above technical problems, the technical solution adopted by the present invention is as follows:
[0005] In a first aspect, the present invention provides a method for controlling the comfort of a robotic wheelchair, comprising:
[0006] Step S1: Obtain environmental and location information around the robot wheelchair, and obtain a grid map of the surrounding environment using a laser SLAM algorithm;
[0007] Step S2: Based on the grid map, obtain the global path from the starting point of the robot wheelchair to the target point using a global path planning algorithm;
[0008] Step S3: Use the beta process autoregressive hidden Markov model algorithm to segment the global path and obtain the segmented sub-paths;
[0009] Step S4: Using the segmented sub-paths as templates, call the humanoid operation sub-skills based on dynamic motion primitive learning to obtain the best matching relationship between the humanoid operation sub-skills and the sub-paths, and determine the humanoid operation sub-skills corresponding to each sub-path.
[0010] Step S5: Use the dynamic motion primitive algorithm to generalize the start position, end position and duration of the humanoid operation sub-skills corresponding to each sub-path, and output the generalized humanoid operation sub-skill sequence.
[0011] Step S6: Integrate the generalized humanoid operation sub-skill sequence according to the global path, and use the Gaussian process regression method on the integrated humanoid operation skills to call humanoid operation skills at any position along the global path, thereby realizing the robot wheelchair to drive autonomously along the global path using humanoid operation skills.
[0012] In some embodiments, step S4, using the segmented sub-paths as templates, invokes humanoid operation sub-skills based on dynamic motion primitive learning to obtain the best matching relationship between humanoid operation sub-skills and sub-paths, and determines the humanoid operation sub-skills corresponding to each sub-path, including:
[0013] S41. Calculate the tangential angle β of the endpoint of the segmented sub-path, and obtain the wheelchair motion trajectory determination result based on β; wherein the determination result is left turn, right turn, or straight ahead;
[0014] S42. Calculate the distance op between the starting point and the ending point of the sub-path;
[0015] S43. Obtain the sub-skill corresponding to the judgment result from the humanoid operation sub-skill library, map the sub-skill to the velocity level, and calculate the linear velocity and angular velocity corresponding to the sub-skill; wherein the sub-skill is the left-turn skill, right-turn skill, or straight-line skill corresponding to left turn, right turn, and straight-line.
[0016] S44. If it is a straight-line skill, calculate the time required to complete the sub-path based on the linear velocity and the distance op between the end point and the starting point of the sub-path; if it is a left-turn skill or a right-turn skill, transfer the control of the robot wheelchair from the velocity level to the position level based on the linear velocity and angular velocity, obtain the wheelchair driving position coordinates, and then transfer to S45.
[0017] S45. Traverse all discrete points in the sub-path, calculate the turning angle between the starting point and the remaining points in the path. If the turning angle between the starting point and the remaining points in the path is less than β, then take the next point in the sub-path and repeat S45.
[0018] S46. When the turning angle is greater than or equal to β, calculate the distance op′ between the current point and the starting point in the sub-path;
[0019] S47. When the judgment result is left turn, if op > op', it means that the current point is inside the target arc. Then decrease the angular velocity w and increase the arc radius until op ≤ op' and exit the loop. If op < op', it means that the current point is outside the target arc. Then increase the angular velocity w and decrease the arc radius until op ≥ op' and exit the loop.
[0020] When the decision is to turn right, if 0p < op′, it means that the current point is inside the target arc. In this case, increase the angular velocity w and decrease the arc radius until op ≥ op′ and exit the loop. If op > op′, it means that the current point is outside the target arc. In this case, decrease the angular velocity w and increase the arc radius until op ≤ op′ and exit the loop.
[0021] Finally, the number of starting points and sampling points of humanoid operation sub-skills are obtained, achieving the best match between sub-paths and humanoid operation sub-skills.
[0022] Furthermore, in S41, the wheelchair motion trajectory determination result is obtained based on the tangential angle β of the sub-path endpoint, including:
[0023] Define counter-clockwise as the positive direction and clockwise as the negative direction.
[0024] If the tangential angle β is greater than 0°, it is determined to be a left turn;
[0025] If the tangential angle β is less than 0°, it is determined to be a right turn;
[0026] If the tangential angle β is equal to 0°, it is determined to be straight.
[0027] Furthermore, in S43, sub-skills are mapped to the velocity level, and the linear velocity and angular velocity corresponding to the sub-skills are calculated, including:
[0028]
[0029]
[0030]
[0031] Where x and y represent the coordinates of the human-computer interaction control commands mapped on the joystick control interface, a and b are predefined coefficients, and n L With n R These represent the rotational speeds of the left and right motors, respectively. L With v R R represents the linear velocity of the left and right wheels, respectively; R represents the turning radius of the wheelchair; L represents the distance between the wheels; and v and w represent the linear velocity and angular velocity of the robot wheelchair, respectively.
[0032] Furthermore, in S44, based on the linear velocity and angular velocity, the control of the robot wheelchair is transferred from the velocity level to the position level, obtaining the wheelchair driving position coordinates, including:
[0033] θ=θ+w*dt
[0034] x loc =x loc +v*cos(θ)*dt
[0035] y loc =y loc +v*sin(θ)*dt
[0036] Where w and v represent the angular velocity and linear velocity of the wheelchair driver, respectively, θ is the turning angle, and x... loc With y loc dt represents the X and Y coordinates of the wheelchair driving position, respectively, and dt represents the time element.
[0037] In some embodiments, step S5, generalizing the start position, end position, and duration of the humanoid operation sub-skill corresponding to each sub-path using a dynamic motion primitive algorithm, and outputting the generalized humanoid operation sub-skill sequence, includes:
[0038] The humanoid operation sub-skills corresponding to each sub-path are learned and represented using the dynamic motion primitive algorithm. The skills are reproduced without changing the start, end and duration of the sub-skills. The left rotor skill and the right rotor skill are divided into three stages: rotation, holding and re-rotation, which are learned and reproduced in sequence to obtain the generalized humanoid operation sub-skill sequence.
[0039] In some embodiments, the dynamic motion primitive algorithm includes:
[0040] The basic formula for the dynamic motion primitive algorithm is:
[0041]
[0042] Where f d For nonlinear forced term function, it can generate motion with arbitrarily complex trajectories, where y represents the coordinates of the human-machine interaction control command mapped on the joystick control interface. and Let α represent the first and second derivatives of y, respectively, g represent the target state and the final state when the system converges, and α represent the second and third derivatives of y, respectively. y and β y Represents a constant;
[0043] nonlinear function f d Represented as multiple nonlinear basis functions A linear combination of these, scaled by the phase variable x from a first-order system, is expressed as:
[0044]
[0045] in Let ω represent the basis functions, using Gaussian functions as the basis functions; N represents the number of basis functions, ω i The Gaussian function represents the weights of the basis functions, and by giving different numbers of basis functions and their corresponding weights, arbitrarily complex trajectories can be obtained; the Gaussian function is expressed as:
[0046]
[0047] Where c i σ represents the mean. i Indicates variance;
[0048] A first-order system satisfies:
[0049]
[0050] Where, α x τ represents a constant. In a first-order system, the phase variable x eventually decays from 1 to 0, indicating that the system converges to the target state.
[0051] In some embodiments, during the autonomous driving process of the robotic wheelchair using human-like maneuvering skills along a global path, the following is also included:
[0052] The robot uses a laser sensor to scan the environment around its wheelchair in real time, and uses a dynamic motion primitive algorithm to avoid local obstacles that appear in the global path.
[0053] The local obstacle avoidance is achieved using a dynamic motion primitive algorithm, specifically including:
[0054] Add a coupled obstacle avoidance term to the basic formula of dynamic motion primitives. Then, we get:
[0055]
[0056] Obstacle avoidance is achieved through a human-inspired obstacle avoidance mechanism. The formula for calculating the turning angle θ is:
[0057]
[0058] Where x represents the current position of the robot wheelchair, vector v represents the current velocity, and o represents the obstacle;
[0059] The evolution model of the steering angle θ is as follows:
[0060]
[0061] Where γ and β are positive constants, the coupled obstacle avoidance term is written as:
[0062]
[0063] Where R represents the minimum distance for obstacle avoidance;
[0064] Based on the above obstacle avoidance algorithms, when the laser sensor detects a distance d in front... O When an obstacle is encountered, let the weighting coefficient k be based on obstacle avoidance factors.o The calculation formula is:
[0065]
[0066] When the distance to the obstacle ahead is less than R, k o Set to 0, the robot wheelchair calculates its subsequent position using sub-skills and the wheelchair model, and uses a position-based dynamic motion primitive algorithm for obstacle avoidance. The calculated position trajectory is then recalculated into velocity to control the robot wheelchair. After obstacle avoidance is complete, k is set to 0. o Set it to 1, and then re-navigate based on the global path.
[0067] In a second aspect, the present invention provides a robotic wheelchair comfort control system, including a processor and a storage medium;
[0068] The storage medium is used to store instructions;
[0069] The processor is configured to operate according to the instructions to perform the steps of the method according to the first aspect.
[0070] Thirdly, the present invention provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in the first aspect.
[0071] Fourthly, the present invention provides a computing device, comprising:
[0072] One or more processors, one or more memories, and one or more programs, wherein the one or more programs are stored in the one or more memories and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods described in the first aspect.
[0073] Beneficial effects: The robotic wheelchair comfort control method and system that integrates SLAM and human-like operational skills provided by this invention has the following advantages:
[0074] 1. This invention combines laser SLAM technology with human-like driving skills learning for robotic wheelchairs. While ensuring the safety and efficiency of the navigation system, it enhances the user's comfort when autonomously controlling the robotic wheelchair, thereby improving the user's driving experience.
[0075] 2. Compared with traditional laser-based autonomous navigation control methods, this invention, after obtaining the global path, first uses the BP-AR-HMM algorithm to segment the global path, obtaining global sub-paths; then, it matches humanoid operation sub-skills in the driving skill library with the sub-paths to determine the humanoid operation sub-skills corresponding to each sub-path; next, based on the position and time parameters generated during the matching process between humanoid operation sub-skills and sub-paths, it uses a dynamic motion primitive algorithm to generalize the start position, end position, and duration of the humanoid operation head pose sub-skills, and outputs the generalized motion trajectory humanoid operation sub-skill sequence; finally, it integrates the generalized humanoid operation sub-skill sequence according to the global path, and uses the Gaussian process regression method on the integrated humanoid operation skills to call humanoid operation skills at any position along the global path, thereby realizing the autonomous driving of the robot wheelchair using humanoid operation skills along the global path.
[0076] 3. Considering the dynamic obstacles that may exist in the path, this invention uses a laser sensor to scan the surrounding environment information in real time, and then adds an obstacle avoidance coupling term to the dynamic motion primitive algorithm trained with human-like driving skills to realize local obstacle avoidance function with human-like operation, which further improves user satisfaction and acceptability. Attached Figure Description
[0077] Figure 1 This is a schematic diagram of the robot wheelchair comfort control method that integrates SLAM and human-like operation skills according to an embodiment of the present invention.
[0078] Figure 2 This is a schematic diagram of the structured scene generated by Gazebo in the embodiment;
[0079] Figure 3 This is a schematic diagram of the raster map generated by SLAM in the embodiment;
[0080] Figure 4 This is a schematic diagram of the global path generated by SLAM in the embodiment;
[0081] Figure 5 This is a schematic diagram illustrating the global path segmentation process in the embodiment.
[0082] Figure 6 is a schematic diagram of the path segmentation process in the embodiment, where (a) represents the straight segmentation process, (b) represents the left turn segmentation process, and (c) represents the right turn segmentation process.
[0083] Figure 7 This is a schematic diagram of the circular trajectory in the embodiment;
[0084] Figure 8 This is a schematic diagram of the linear velocity and angular velocity of the generalized sub-skill in the embodiment;
[0085] Figure 9This is a schematic diagram of sub-paths and corresponding sub-skills in an embodiment. Detailed Implementation
[0086] The present invention will be further described below with reference to the accompanying drawings and embodiments. The following embodiments are only used to more clearly illustrate the technical solutions of the present invention, and should not be used to limit the scope of protection of the present invention.
[0087] In the description of this invention, "several" means one or more, "multiple" means two or more, "greater than," "less than," and "exceeding" are understood to exclude the stated number, while "above," "below," and "within" are understood to include the stated number. The use of "first" and "second" in the description is merely for distinguishing technical features and should not be construed as indicating or implying relative importance, or implicitly indicating the number of indicated technical features, or implicitly indicating the order of the indicated technical features.
[0088] In the description of this invention, the terms "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0089] Example 1
[0090] A method for controlling the comfort of a robotic wheelchair by fusing SLAM with human-like maneuvering skills, comprising:
[0091] Step S1: Obtain environmental and location information around the robot wheelchair, and obtain a grid map of the surrounding environment using a laser SLAM algorithm;
[0092] Step S2: Based on the grid map, obtain the global path from the starting point of the robot wheelchair to the target point using a global path planning algorithm;
[0093] Step S3: Use the beta process autoregressive hidden Markov model algorithm to segment the global path and obtain the segmented sub-paths;
[0094] Step S4: Using the segmented sub-paths as templates, call the humanoid operation sub-skills based on dynamic motion primitive learning to obtain the best matching relationship between the humanoid operation sub-skills and the sub-paths, and determine the humanoid operation sub-skills corresponding to each sub-path.
[0095] Step S5: Use the dynamic motion primitive algorithm to generalize the start position, end position and duration of the humanoid operation sub-skills corresponding to each sub-path, and output the generalized humanoid operation sub-skill sequence.
[0096] Step S6: Integrate the generalized humanoid operation sub-skill sequence according to the global path, and use the Gaussian process regression method on the integrated humanoid operation skills to call humanoid operation skills at any position along the global path, thereby realizing the robot wheelchair to drive autonomously along the global path using humanoid operation skills.
[0097] In some embodiments, during the process of the robotic wheelchair autonomously driving along a global path using human-like maneuvering skills, step S7 is further included:
[0098] By scanning the environment around the robot wheelchair in real time with a laser sensor, local obstacle avoidance is achieved using a dynamic motion primitive algorithm for dynamic obstacles that appear in the global path.
[0099] In some embodiments, step S4 uses the segmented sub-paths as templates to invoke humanoid operation sub-skills based on dynamic motion primitive learning, obtains the best matching relationship between humanoid operation sub-skills and sub-paths, and determines the humanoid operation sub-skills corresponding to each sub-path, including:
[0100] S41. Calculate the tangential angle β of the endpoint of the segmented sub-path, and obtain the wheelchair motion trajectory determination result based on β; wherein the determination result is left turn, right turn, or straight ahead;
[0101] S42. Calculate the distance op between the starting point and the ending point of the sub-path;
[0102] S43. Obtain the sub-skill corresponding to the judgment result from the humanoid operation sub-skill library, map the sub-skill to the velocity level, and calculate the linear velocity and angular velocity corresponding to the sub-skill; wherein the sub-skill is the left-turn skill, right-turn skill, or straight-line skill corresponding to left turn, right turn, and straight-line.
[0103] S44. If it is a straight-line skill, calculate the time required to complete the sub-path based on the linear velocity and the distance op between the end point and the starting point of the sub-path; if it is a left-turn skill or a right-turn skill, transfer the control of the robot wheelchair from the velocity level to the position level based on the linear velocity and angular velocity, obtain the wheelchair driving position coordinates, and then transfer to S45.
[0104] S45. Traverse all discrete points in the sub-path, calculate the turning angle between the starting point and the remaining points in the path. If the turning angle between the starting point and the remaining points in the path is less than β, then take the next point in the sub-path and repeat S45.
[0105] S46. When the turning angle is greater than or equal to β, calculate the distance op′ between the current point and the starting point in the sub-path;
[0106] S47. When the judgment result is left turn, if op > op', it means that the current point is inside the target arc. Then decrease the angular velocity w and increase the arc radius until op ≤ op' and exit the loop. If op < op', it means that the current point is outside the target arc. Then increase the angular velocity w and decrease the arc radius until op ≥ op' and exit the loop.
[0107] When the decision is to turn right, if op < op′, it means that the current point is inside the target arc. In this case, increase the angular velocity w and decrease the arc radius until op ≥ op′ and exit the loop. If op > op′, it means that the current point is outside the target arc. In this case, decrease the angular velocity w and increase the arc radius until op ≤ op′ and exit the loop.
[0108] Finally, the number of starting points and sampling points of humanoid operation sub-skills are obtained, achieving the best match between sub-paths and humanoid operation sub-skills.
[0109] Furthermore, in S41, the wheelchair motion trajectory determination result is obtained based on the tangential angle β of the sub-path endpoint, including:
[0110] Define counter-clockwise as the positive direction and clockwise as the negative direction.
[0111] If the tangential angle β is greater than 0°, it is determined to be a left turn;
[0112] If the tangential angle β is less than 0°, it is determined to be a right turn;
[0113] If the tangential angle β is equal to 0°, then it is determined to be straight.
[0114] Furthermore, in S43, sub-skills are mapped to the velocity level, and the linear velocity and angular velocity corresponding to the sub-skills are calculated, including:
[0115]
[0116]
[0117]
[0118] Where x and y represent the coordinates of the human-computer interaction control commands mapped on the joystick control interface, a and b are predefined coefficients, and n L With n R These represent the rotational speeds of the left and right motors, respectively. L With v RR represents the linear velocity of the left and right wheels, respectively; R represents the turning radius of the wheelchair; L represents the distance between the wheels; and v and w represent the linear velocity and angular velocity of the robot wheelchair, respectively.
[0119] Furthermore, in S44, based on the linear velocity and angular velocity, the control of the robot wheelchair is transferred from the velocity level to the position level, obtaining the wheelchair driving position coordinates, including:
[0120] θ=θ+w*dt
[0121] x loc =x loc +v*cos(θ)*dt
[0122] y loc =y loc +v*sin(θ)*dt
[0123] Where w and v represent the angular velocity and linear velocity of the wheelchair driver, respectively, θ is the turning angle, and x... loc With y loc dt represents the X and Y coordinates of the wheelchair driving position, respectively, and dt represents the time element.
[0124] In some embodiments, step S5, generalizing the start position, end position, and duration of the humanoid operation sub-skill corresponding to each sub-path using a dynamic motion primitive algorithm, and outputting the generalized humanoid operation sub-skill sequence, includes:
[0125] The humanoid operation sub-skills corresponding to each sub-path are learned and represented using the dynamic motion primitive algorithm. The skills are reproduced without changing the start, end and duration of the sub-skills. The left rotor skill and the right rotor skill are divided into three stages: rotation, holding and re-rotation, which are learned and reproduced in sequence to obtain the generalized humanoid operation sub-skill sequence.
[0126] In some embodiments, the dynamic motion primitive algorithm includes:
[0127] The basic formula for the dynamic motion primitive algorithm is:
[0128]
[0129] Where f d For nonlinear forced term function, it can generate motion with arbitrarily complex trajectories, where y represents the coordinates of the human-machine interaction control command mapped on the joystick control interface. and Let α represent the first and second derivatives of y, respectively, g represent the target state and the final state when the system converges, and α represent the second and third derivatives of y, respectively. y and β y Represents a constant;
[0130] nonlinear function f d Represented as multiple nonlinear basis functions A linear combination of these, scaled by the phase variable x from a first-order system, is expressed as:
[0131]
[0132] in Let ω represent the basis functions, using Gaussian functions as the basis functions; N represents the number of basis functions, ω i The Gaussian function represents the weights of the basis functions, and by giving different numbers of basis functions and their corresponding weights, arbitrarily complex trajectories can be obtained; the Gaussian function is expressed as:
[0133]
[0134] Where c i σ represents the mean. i Indicates variance;
[0135] A first-order system satisfies:
[0136]
[0137] Where, α x τ represents a constant. In a first-order system, the phase variable x eventually decays from 1 to 0, indicating that the system converges to the target state.
[0138] In some embodiments, during the autonomous driving process of the robotic wheelchair using human-like maneuvering skills along a global path, the following is also included:
[0139] The robot uses a laser sensor to scan the environment around its wheelchair in real time, and uses a dynamic motion primitive algorithm to avoid local obstacles that appear in the global path.
[0140] The local obstacle avoidance is achieved using a dynamic motion primitive algorithm, specifically including:
[0141] Add a coupled obstacle avoidance term to the basic formula of dynamic motion primitives. Then, we get:
[0142]
[0143] Obstacle avoidance is achieved through a human-inspired obstacle avoidance mechanism. The formula for calculating the turning angle θ is:
[0144]
[0145] Where x represents the current position of the robot wheelchair, vector v represents the current velocity, and o represents the obstacle;
[0146] The evolution model of the steering angle θ is as follows:
[0147]
[0148] Where γ and β are positive constants, the coupled obstacle avoidance term is written as:
[0149]
[0150] Where R represents the minimum distance for obstacle avoidance;
[0151] Based on the above obstacle avoidance algorithms, when the laser sensor detects a distance d in front... O When an obstacle is encountered, let the weighting coefficient k be based on obstacle avoidance factors. o The calculation formula is:
[0152]
[0153] When the distance to the obstacle ahead is less than R, k o Set to 0, the robot wheelchair calculates its subsequent position using sub-skills and the wheelchair model, and uses a position-based dynamic motion primitive algorithm for obstacle avoidance. The calculated position trajectory is then recalculated into velocity to control the robot wheelchair. After obstacle avoidance is complete, k is set to 0. o Set it to 1, and then re-navigate based on the global path.
[0154] Specific application example: This example proposes a method for controlling the comfort of a robotic wheelchair based on SLAM and human-like operational skills learning in structured scenarios, such as... Figure 1 As shown. The experimental scenario of this invention is as follows. Figure 2 As shown, the experimental task is to achieve human-like autonomous navigation of a robotic wheelchair in a structured scene. The experiment selected... Figure 2 Point B in the diagram serves as the target point for navigation, with the goal of achieving human-like driving of the robot wheelchair from the current point to the target point.
[0155] The main implementation scheme is as follows: First, the user operates the robotic wheelchair through the human-computer interaction module and the joystick control interface module. The robotic wheelchair learns the user's skills through demonstration learning, generating a driving skill library (this patent has been published, CN116430988A); second, structured scenes are scanned using laser SLAM technology to obtain a grid map based on the structured scene, such as... Figure 3 As shown; next, based on the obtained driving skill base and grid map, the global path planning algorithm, namely the A* algorithm, is called to obtain the global path from the current point of the robot wheelchair to the target point. The global path is as follows: Figure 4 As shown.
[0156] Secondly, a beta process-based autoregressive hidden Markov model algorithm is used to segment the global path, resulting in three driving paths: straight, left turn, and right turn. The segmented results are as follows: Figure 5 As shown, the global path is divided into 10 sub-paths, and different paths correspond to different driving actions.
[0157] Next, the segmented sub-paths are used as templates to match humanoid operation sub-skills in the skill library. The specific matching flowchart is shown in Figure 6. First, the path is selected based on the turning trajectory segment in the task reference trajectory, such as... Figure 5 The dark gray segment first determines whether to activate the left or right turn skill by the direction of the turning angle between trajectory points. The specific judgment method is shown in Figure 6, where the relative position coordinates P of the end point and the starting point of the turning reference trajectory are selected. c With relative rotation angle θ c Simultaneously, using the average linear velocity and angular velocity during the turn-oriented humanoid operation sub-skill maintenance phase as preset values, and assuming sufficient time, the following can be abstracted from the robot wheelchair model in step S43 and the velocity-to-position conversion formula in step S44: Figure 7 The circular trajectory shown is a search for the relative rotation angle θ by traversing the circular trajectory from the starting point O. c The closest value of the rotation angle θ c ′, and take the corresponding position coordinates P. c ′ and the number of sampling points N c If the position coordinates P' c ′ in P c If the interior of the circle is greater than P′O, then decrease the angular velocity value and increase the circular trajectory to make the position coordinate P c Approaching P c The reverse is also true. This judgment is performed iteratively, when P... c Find the closest value to P c When the point is reached, it can be determined by the current number of sampling points N. c The selected linear velocity v and angular velocity w are used to inversely calculate the head pose parameters and time parameters required for the generalization of the dynamic motion primitive algorithm.
[0158] Next, a dynamic motion primitive algorithm is used to generalize the starting point and duration of the head pose sub-skill, outputting a generalized motion trajectory sequence. Considering that the circular trajectory is determined by the ratio between linear velocity and angular velocity, the relative value of the linear velocity can be changed when the angular velocity is too large or too small. For the straight trajectory segment, the average linear velocity of the straight sub-skill is calculated, and the duration t is inferred based on the length of the straight reference trajectory. The straight segment is generalized using the original velocity. After generalization, the position and yaw angle of the end point of the straight skill trajectory are obtained based on the model. The end point of the reference straight trajectory segment is approximated by analogy with the turning method, and the generalization parameters are adjusted.
[0159] Next, the generalized humanoid manipulation sub-skill sequences are integrated along a global path, and a Gaussian process regression method is applied to the integrated humanoid manipulation skills. Specifically, this involves using Gaussian process regression on the integrated humanoid manipulation skills to invoke humanoid manipulation skills at any position along the global path, such as... Figure 8 As shown, the global linear velocity and angular velocity of the robot wheelchair are obtained, thereby enabling the robot wheelchair to autonomously drive along a global path using human-like operating skills.
[0160] Finally, as Figure 9 As shown, considering the possibility of dynamic obstacles during navigation, the robot wheelchair uses a dynamic motion primitive algorithm to achieve dynamic obstacle avoidance. However, simply using the dynamic motion primitive algorithm for obstacle avoidance results in sparse and uneven distribution of position points. When the position trajectory after obstacle avoidance is recalculated into speed commands through the robot wheelchair's motion model, significant fluctuations occur in angular velocity, causing considerable discomfort for the operator. Therefore, this invention first reduces the calculation step size of the dynamic motion primitive algorithm to obtain denser position points. Then, a sliding window averaging method is used to average the generated positions. Upon reaching a switching point, the robot wheelchair calculates the next 150 position points and uses position points 100-200 for dynamic motion primitive trajectory obstacle avoidance. After the calculation, these points are combined with the first 100 points, and a window size of 100 is selected for calculation to obtain more evenly distributed obstacle avoidance position points. Then, the operation sub-skills and speeds are obtained through inverse kinematics. Figure 9 As shown, human-like control of the robotic wheelchair is achieved.
[0161] Example 2
[0162] Secondly, based on Embodiment 1, this embodiment provides a robotic wheelchair comfort control system, including a processor and a storage medium;
[0163] The storage medium is used to store instructions;
[0164] The processor is configured to operate according to the instructions to perform the steps of the method according to Embodiment 1.
[0165] In some embodiments, a robotic wheelchair comfort control system that integrates SLAM and human-like maneuvering skills includes:
[0166] Example 3
[0167] Thirdly, based on Embodiment 1, this embodiment provides a storage medium on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the method described in Embodiment 1.
[0168] Example 4
[0169] Fourthly, based on Embodiment 1, the present invention provides a computing device, comprising:
[0170] One or more processors, one or more memories, and one or more programs, wherein the one or more programs are stored in the one or more memories and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods described in Embodiment 1.
[0171] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0172] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0173] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0174] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0175] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A method for controlling the comfort of a robotic wheelchair, characterized in that, comprising: Step S1: acquiring surrounding environment information and position information of the robotic wheelchair, and obtaining a grid map of the surrounding environment through a laser SLAM algorithm; Step S2: based on the grid map, obtaining a global path from the starting point to the target point of the robotic wheelchair by using a global path planning algorithm; Step S3: segmenting the global path by using a beta process autoregressive hidden Markov model algorithm to obtain segmented sub-paths; Step S4: taking the segmented sub-paths as templates, invoking human-like operation sub-skills learned based on dynamic movement primitives to obtain the optimal matching relationship between the human-like operation sub-skills and the sub-paths, and determining the human-like operation sub-skill corresponding to each sub-path; Step S5: generalizing the starting position, ending position and duration of the human-like operation sub-skills corresponding to each sub-path by using a dynamic movement primitives algorithm, and outputting a generalized human-like operation sub-skill sequence; Step S6: integrating the generalized human-like operation sub-skill sequence according to the global path, and using a Gaussian process regression method for the integrated human-like operation skills to invoke the human-like operation skills at any position along the global path, so as to realize the autonomous driving of the robotic wheelchair along the global path by applying the human-like operation skills.
2. The robotic wheelchair comfort control method according to claim 1, characterized in that, Step S4: taking the segmented sub-paths as templates, invoking human-like operation sub-skills learned based on dynamic movement primitives to obtain the optimal matching relationship between the human-like operation sub-skills and the sub-paths, and determining the human-like operation sub-skill corresponding to each sub-path, comprising: S41: calculating the tangential angle β of the end point of the segmented sub-path, and obtaining a wheelchair motion trajectory determination result according to β; wherein the determination result is left turn, right turn or straight going; S42: calculating the distance op between the start point and the end point of the sub-path; S43: acquiring the sub-skill corresponding to the determination result from the human-like operation sub-skill library, mapping the sub-skill to the velocity level, and calculating the linear velocity and angular velocity corresponding to the sub-skill; wherein the sub-skill is a left turn skill, a right turn skill or a straight going skill corresponding to left turn, right turn and straight going; S44: if it is the straight going skill, calculating the time required to complete the sub-path according to the linear velocity and the distance op between the end point and the start point of the sub-path; if it is the left turn skill or the right turn skill, converting the control of the robotic wheelchair from the velocity level to the position level according to the linear velocity and the angular velocity to obtain the wheelchair driving position coordinates, and proceeding to S45; S45: traversing all discrete points in the sub-path, calculating the turning angle between the start point and the remaining points in the path, and if the turning angle between the start point and the remaining points in the path is less than β, taking out the next point in the sub-path, and cyclically executing S45; S46: when the turning angle is greater than or equal to β, calculating the distance op' between the current point in the sub-path and the start point; S47: when the determination result is a left turn, if op>op', which indicates that the current point is inside the target arc, reducing the angular velocity w and increasing the arc radius until op≤op' to exit the loop; if op<op', which indicates that the current point is outside the target arc, increasing the angular velocity w and reducing the arc radius until op≥op' to exit the loop; When the determination result is right turn, if op<op', it indicates that the current point is on the inner side of the target arc, then increase the angular velocity w and reduce the arc radius until op≥op' to exit the loop; if op>op', it indicates that the current point is on the outer side of the target arc, then reduce the angular velocity w and increase the arc radius until op≤op' to exit the loop; Finally, the number of starting points and sampling points of the human-like operation sub-skill is obtained, so as to realize the optimal matching between the sub-path and the human-like operation sub-skill.
3. The robotic wheelchair comfort control method according to claim 2, characterized in that, The determination result of the wheelchair motion trajectory is obtained according to the tangential angle β of the end point of the sub-path, including: Set the counterclockwise direction as the positive direction and the clockwise direction as the negative direction, If the tangential angle β is greater than 0°, it is determined as a left turn; If the tangential angle β is less than 0°, it is determined as a right turn; If the tangential angle β is equal to 0°, it is determined as going straight.
4. The robotic wheelchair comfort control method according to claim 2, characterized in that, Map the sub-skills to the velocity level, and calculate the linear velocity and angular velocity corresponding to the sub-skills, including: Where x and y represent the coordinates of the human-computer interaction control commands mapped on the joystick control interface, a and b are predefined coefficients, and n L With n R These represent the rotational speeds of the left and right motors, respectively. L With v R R represents the linear velocity of the left and right wheels, respectively; R represents the turning radius of the wheelchair; L represents the distance between the wheels; and v and w represent the linear velocity and angular velocity of the robot wheelchair, respectively.
5. The robotic wheelchair comfort control method according to claim 2, characterized in that, In S44, according to the linear velocity and angular velocity, the control of the robotic wheelchair is transferred from the velocity level to the position level, and the wheelchair driving position coordinates are obtained, including: θ=θ+w*dt x loc =x loc +v*cos(θ)*dt y loc y loc +v*sin(θ)*dt Where w and v represent the angular velocity and linear velocity of the wheelchair driver, respectively, θ is the turning angle, and x loc With y loc dt represents the X and Y coordinates of the wheelchair driving position, respectively, and dt represents the time element.
6. The robotic wheelchair comfort control method according to claim 1, characterized in that, Step S5, using the dynamic movement primitive algorithm to generalize the start position, end position and duration of the human-like operation sub-skill corresponding to each sub-path, and output the generalized human-like operation sub-skill sequence, including: The dynamic movement primitive algorithm is used to learn and characterize the human-like operation sub-skills corresponding to each sub-path, and the skills are reproduced without changing the start, end and duration of the sub-skills. The left-turn sub-skill and the right-turn sub-skill are divided into three stages of turning, holding and re-turning for sequential learning and reproduction, so as to obtain the generalized human-like operation sub-skill sequence.
7. The robotic wheelchair comfort control method according to claim 1, characterized in that, The dynamic movement primitive algorithm includes: The basic formula of the dynamic movement primitive algorithm is: Where f d is a nonlinear forced term function capable of generating motions with arbitrarily complex trajectories, where y represents the coordinates of the human-machine interface control commands mapped onto the joystick control interface. and Let α represent the first and second derivatives of y, respectively, g represent the target state and the final state when the system converges, and α represent the second and third derivatives of y, respectively. y and β y Represents a constant; nonlinear function f d Represented as multiple nonlinear basis functions A linear combination of these, scaled by the phase variable x from a first-order system, is expressed as: in Let ω represent the basis functions, using Gaussian functions as the basis functions; N represents the number of basis functions, ω i The Gaussian function represents the weights of the basis functions, and by giving different numbers of basis functions and their corresponding weights, arbitrarily complex trajectories can be obtained; the Gaussian function is expressed as: Where c i σ represents the mean. i Indicates variance; The first-order system satisfies: Where, α x τ represents a constant. In a first-order system, the phase variable x eventually decays from 1 to 0, indicating that the system converges to the target state.
8. The robotic wheelchair comfort control method according to claim 7, characterized in that, During the autonomous driving process of the robotic wheelchair along the global path using human-like operation skills, the process further includes: Scanning the surrounding environment of the robotic wheelchair in real time through a laser sensor, and using the dynamic movement primitive algorithm to achieve local obstacle avoidance for dynamic obstacles appearing in the global path; The specific implementation of local obstacle avoidance using the dynamic movement primitive algorithm includes: Add a coupled obstacle avoidance term to the basic formula of dynamic motion primitives. Then, we get: Obstacle avoidance is performed through a human-inspired obstacle avoidance function, and the calculation formula of the steering angle θ is: Wherein, x represents the current position of the robotic wheelchair, the vector v represents the current velocity, and o represents the obstacle; The evolution model of the steering angle θ is as follows: Wherein, γ and β are positive constants, and the coupled obstacle avoidance term is written as: Wherein, R represents the minimum distance for obstacle avoidance; Based on the above obstacle avoidance algorithms, when the laser sensor detects a distance d in front... O When an obstacle is encountered, let the weighting coefficient k be based on obstacle avoidance factors. o The calculation formula is: When the distance to the obstacle ahead is less than R, k o Set to 0, the robot wheelchair calculates its subsequent position using sub-skills and the wheelchair model, and uses a position-based dynamic motion primitive algorithm for obstacle avoidance. The calculated position trajectory is then recalculated into velocity to control the robot wheelchair. After obstacle avoidance is complete, k is set to 0. o Set it to 1, and then re-navigate based on the global path.
9. A robotic wheelchair comfort control system, characterized in that, Comprising a processor and a storage medium; The storage medium is configured to store instructions; The processor is configured to operate according to the instructions to execute the steps of the method according to any one of claims 1 to 8.
10. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Mobile robot autonomous navigation method based on fusion algorithm
CN113759904A
Unmanned equipment control method and device, storage medium and electronic equipment
CN116300842A
