Robot trajectory determination method, device, robot, medium and program product
By constructing an evaluation model and determining the reference trajectory, the problem of autonomous planning of leg and arm composite robots is solved, and the coordination of the whole body of the robot and the ability to complete the target tasks is improved.
Patent Information
- Application Number
- CN202411516996.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2044-10-28
AI Technical Summary
The autonomous planning of leg-arm composite robots is difficult due to its high nonlinearity, high degree of freedom, hybrid continuous system and discrete system characteristics.
By obtaining the status information of the state variables, control variables, and the ends and target objects of the motion branch chain during the robot's expected completion of the target task, an evaluation model is constructed and a reference trajectory that meets the preset constraints are determined to instruct the robot to complete the target task.
This method improves the coordination of the robot's whole body, breaks the current situation of leg and arm separation control, and improves the ability to control the robot to complete target tasks based on the reference trajectory.
Smart Images

Figure CN119260720B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of robotics, and in particular, to a method and apparatus for determining a robot trajectory, a robot, a medium, and a program product. Background Art
[0002] Leg-arm composite robots can adapt to relatively complex terrains and working environments, and can replace humans to complete multi-contact and long-sequence operation tasks, so they are widely used in various scenarios such as home service, industrial inspection, rescue and fire fighting.
[0003] The movement of leg-arm composite robots often has characteristics such as high non-linearity, high degrees of freedom, hybrid continuous systems, and discrete systems. Therefore, the autonomous planning of leg-arm composite robots is of high difficulty. Summary of the Invention
[0004] To overcome the problems in the related art, the present disclosure provides a method and apparatus for determining a robot trajectory, a robot, a medium, and a program product.
[0005] According to a first aspect of an embodiment of the present disclosure, a method for determining a robot trajectory is provided. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion chains with the robot body. The method includes:
[0006] Obtain state variables, control variables, and state information of the ends of all the motion chains and a target object during the process in which the robot is expected to complete a target task. The state information is used to represent whether the ends of the motion chains are in contact with the target object;
[0007] Construct an evaluation model according to the state variables, the control variables, and the state information;
[0008] Determine a reference trajectory that meets preset constraints according to the evaluation model. The reference trajectory is used to instruct the robot to complete the target task.
[0009] Optionally, the process includes multiple target segments, and at least one of the state information corresponding to all the motion chains of adjacent target segments is different. The constructing an evaluation model according to the state variables, the control variables, and the state information includes:
[0010] Determine the state variables, the control variables, and the state information corresponding to each target segment;
[0011] Construct an evaluation model corresponding to each target segment according to the state variables, the control variables, and the state information corresponding to each target segment;
[0012] According to the evaluation model, determining a reference trajectory that satisfies a preset constraint includes:
[0013] Determining a target sub-trajectory that satisfies the preset constraint according to the evaluation model corresponding to each target segment;
[0014] Determining the reference trajectory according to all the target sub-trajectories.
[0015] Optionally, the method further includes:
[0016] Determining a first moment corresponding to the behavior of determining the state information of the first target motion branch chain in this switch;
[0017] Determining a second moment corresponding to the behavior of determining the state information of the second target motion branch chain in the previous switch, where the first target motion branch chain and the second target motion branch chain are any one of all the motion branch chains;
[0018] Determining a target segment according to the first moment and the second moment.
[0019] Optionally, the contact types at the end of the motion branch chain include a point contact end that cannot be grasped and a surface contact end that can be grasped. The control variables corresponding to the point contact end that cannot be grasped include the contact force, and the control variables corresponding to the surface contact end that can be grasped include the contact force and the contact moment.
[0020] Optionally, the contact types of the target object include a point contact target that can be grasped and a surface contact target that cannot be grasped. The control variables corresponding to the point contact target that can be grasped include the contact force, and the control variables corresponding to the surface contact target that cannot be grasped include the contact force and the contact moment.
[0021] Optionally, the reference trajectory is determined by an offline calculation method.
[0022] Optionally, the control variables include at least one of the joint torque of the robot, the speed of the joint, and the contact force at the end of the motion branch chain;
[0023] The state variables include at least one of the pose of the robot's center of mass, the speed of the center of mass, the pose of the joint, the speed of the joint, the pose of the target object, the speed of the target object, the body momentum of the robot, the end displacement, and the speed of the end.
[0024] According to the second aspect of the embodiments of the present disclosure, a robot trajectory determination device is provided. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion branch chains with the robot body. The device includes:
[0025] An acquisition module, configured to acquire state variables, control variables during the process of the robot's expected completion of a target task, and state information of the end of all the motion branches and the target object, where the state information is used to characterize whether the end of the motion branch contacts the target object;
[0026] A construction module, configured to construct an evaluation model according to the state variables, the control variables, and the state information;
[0027] A first determination module, configured to determine a reference trajectory that meets preset constraints according to the evaluation model, where the reference trajectory is used to instruct the robot to complete the target task
[0028] According to a third aspect of the embodiments of the present disclosure, a robot is provided. The robot includes a robot body, robot feet, and a robotic arm. The robot feet and the robotic arm respectively form motion branches with the robot body. The robot further includes:
[0029] A processor;
[0030] A memory for storing instructions executable by the processor;
[0031] Wherein, the processor is configured to:
[0032] Acquire state variables, control variables during the process of the robot's expected completion of a target task, and state information of the end of all the motion branches and the target object, where the state information is used to characterize whether the end of the motion branch contacts the target object;
[0033] Construct an evaluation model according to the state variables, the control variables, and the state information;
[0034] Determine a reference trajectory that meets preset constraints according to the evaluation model, where the reference trajectory is used to instruct the robot to complete the target task.
[0035] According to a fourth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored, and when the program instructions are executed by a processor, the steps of the robot trajectory determination method provided in the first aspect of the present disclosure are implemented.
[0036] According to a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the robot trajectory determination method provided in the first aspect of the present disclosure are implemented.
[0037] The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: The robot foot and the robotic arm are equivalent to the same kinematic chain connected to the robot body, thereby breaking the current situation of separate control of the legs and arms; on this basis, an evaluation model related to all kinematic chains is constructed and solved to obtain a reference trajectory, so as to improve the overall body coordination of the robot when controlling the robot to complete the target task according to the reference trajectory.
[0038] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. Brief Description of the Drawings
[0039] The accompanying drawings here are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure.
[0040] Figure 1 is a flowchart of a method for determining a robot trajectory shown according to an exemplary embodiment.
[0041] Figure 2 is a flowchart of a method for determining a robot trajectory shown according to an exemplary embodiment.
[0042] Figure 3 is a block diagram of a device for determining a robot trajectory shown according to an exemplary embodiment.
[0043] Figure 4 is a block diagram of a robot shown according to an exemplary embodiment. Detailed Embodiments
[0044] Here, the exemplary embodiments will be described in detail, and the examples are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0045] It should be noted that all actions of obtaining signals, information, or data in the present disclosure are carried out on the premise of complying with the corresponding data protection regulations and policies of the country where it is located and obtaining the authorization given by the owner of the corresponding device.
[0046] Figure 1FIG. 0 is a flowchart of a method for determining a robot trajectory according to an exemplary embodiment of the present disclosure. The method for determining a robot trajectory can be applied to an electronic device or a robot, and the electronic device can be implemented in various forms. For example, the electronic devices described in the present disclosure can include mobile phones, tablet computers, laptop computers, desktop computers, handheld computers, personal digital assistants (PDAs), portable media players (PMPs), navigation devices, wearable devices, smart bracelets, etc. If the method for determining a robot trajectory is applied to an electronic device, the electronic device can send the obtained reference trajectory to the robot.
[0047] The robot described in the present disclosure includes a leg-arm composite robot. As the name implies, a leg-arm composite robot is a multi-modal mobile operation robot that combines leg and arm mechanisms. Among them, the legs can also be referred to as the robot feet. Further, the leg-arm composite robot can be a multi-legged robot such as a biped robot, a quadruped robot, and a hexapod robot. The arm can also be referred to as a robotic arm. Further, the leg-arm composite robot can be a double-arm robot or a single-arm robot, etc.
[0048] In the present disclosure, the robot can include a robot body, robot feet, and robotic arms. Each robot foot and each robotic arm respectively form a kinematic chain with the robot body. Further, in the following embodiments, the present disclosure will be explained and illustrated by taking the robot including a robot body, four robot feet, and one robotic arm as an example.
[0049] Referring to Figure 1 , the method for determining a robot trajectory can include the following steps:
[0050] In step S11, obtain state variables, control variables, and state information of the ends of all kinematic chains of the robot during the expected completion of the target task. The state information is used to characterize whether the ends of the kinematic chains are in contact with the target object;
[0051] In step S12, construct an evaluation model according to the state variables, control variables, and state information;
[0052] In step S13, determine a reference trajectory that meets the preset constraints according to the evaluation model. The reference trajectory is used to control the robot to complete the target task.
[0053] In the above - mentioned manner, the robot feet and the robotic arm are equivalent to the same kinematic chains connected to the robot body, thus breaking the current situation of separate control of the legs and the arm. On this basis, an evaluation model related to all kinematic chains is constructed, and the evaluation model is solved to obtain a reference trajectory, so as to improve the overall body coordination of the robot when controlling the robot to complete the target task according to the reference trajectory.
[0054] It should be noted that each robot foot and each robotic arm respectively form a kinematic chain with the robot body. For example, taking a robot including a robot body, four robot feet and a robotic arm as an example, there are a total of 5 kinematic chains. The 5 kinematic chains are respectively the kinematic chains formed by each robot foot and the robot body, and the kinematic chain formed by the robotic arm and the robot body. In the present disclosure, each kinematic chain may include joints and ends. Among them, the movement of the joints can change the state of the robot. When the kinematic chain includes a robot foot, the end may refer to the tip of the robot foot. When the kinematic chain includes a robotic arm, the end may refer to the end of the robotic arm.
[0055] In the present disclosure, the target object is all the targets that the robot can contact during the process of completing the target task. For example, taking the target task of automatically opening a door as an example, the doorknob, the door panel surface, and the ground are all regarded as the targets that the robot can contact during the process of automatically opening the door.
[0056] In the present disclosure, from the above - mentioned content, it can be seen that the state information is used to characterize whether the end of the kinematic chain contacts the target object, that is, the state information of the end of the kinematic chain and the target object includes contact or non - contact.
[0057] In the present disclosure, the state variable is the state that the robot is expected to reach. By controlling the control variables, the corresponding state variables can be achieved. As an example, the control variables may include the torque of the joints, the speed of the joints, and the contact force at the end, etc.
[0058] The state variables may include the pose and velocity of the robot's center of mass, the pose and velocity of the joints, the pose and velocity of some target objects, the body momentum of the robot, and the displacement and velocity at the end, etc. Among them, the velocity may include at least one of the linear velocity and the angular velocity.
[0059] In the present disclosure, the evaluation model includes a model for measuring the optimal control variables. As an example, the evaluation model may be a model for measuring the time to complete the target task, and the control variables with the shortest time are the optimal ones.
[0060] In the present disclosure, the preset constraints may be the constraints of the robot's overall body dynamics model, the physical characteristics constraints of the robot itself, and the environmental constraints. The physical characteristics constraints of the robot itself are, for example, the joint angle limit constraints and the joint torque limit constraints, etc.
[0061] In the present disclosure, a reference trajectory satisfying a preset constraint can be determined based on a preset algorithm. The preset algorithm can be, for example, a sampling-based or optimization-based algorithm. Sampling-based or optimization-based algorithms are two main methods for solving the trajectory planning problem. They each have different characteristics and application scenarios.
[0062] As an example, the sampling-based algorithm can be, for example, RRT (Rapidly-exploring Random Tree), which constructs a tree structure by randomly sampling points and connecting these points to find a path from the starting state to the target state. Corresponding to the present disclosure, the path here is the path to complete the target task, and the evaluation model can be a model for measuring the path cost.
[0063] As an example, the optimization-based algorithm can be, for example, DWA (dynamic window approach), which evaluates different trajectory candidates by defining an optimization objective function and selects the optimal trajectory. Corresponding to the present disclosure, the objective function is the evaluation model.
[0064] It should be noted that when solving the reference trajectory, it is necessary to satisfy both the preset constraint and the optimal solution of the evaluation model.
[0065] In the present disclosure, after obtaining the reference trajectory, when the robot actually executes the target task, the reference trajectory can be used as reference data, and combined with the current state estimation of the robot to achieve motion control of the robot, so that the robot completes the execution of the target task. Among them, the current state estimation can include pose estimation and speed estimation of the robot, as well as joint angle and speed estimation, etc.
[0066] In the present disclosure, the reference trajectory satisfying the preset constraint can be determined by an offline calculation method, which can ensure the accuracy of the trajectory.
[0067] In a possible embodiment, the above process of predicting the completion of the target task may include multiple target segments. In particular, when the target task is a long-sequence task, the long-sequence task can be understood as a task that needs to be completed in multiple steps, and each step can be understood as a subtask, and the combination of multiple subtasks forms the target task.
[0068] As an example, when dividing the target segments, it can be divided according to whether the robot has performed an action of switching state information, that is to say, at least one of the state information corresponding to all the motion branches of adjacent target segments is different. For example, in the previous target segment, the first robot foot is in a lifted state, that is, the first robot foot is not in contact with the ground; in the next target segment, the first robot foot is in a landed state, that is, the first robot foot is in contact with the ground. The previous target segment and the next target segment are adjacent target segments. In the previous target segment and the next target segment, the state information of the motion branch corresponding to the first robot foot is different.
[0069] Figure 2 is another flowchart of a method for determining a robot trajectory according to an exemplary embodiment of the present disclosure. Referring to Figure 2 , when dividing multiple target segments, the above step of constructing an evaluation model according to state variables, control variables, and state information may include:
[0070] In step S21, determine the state variables, control variables, and state information corresponding to each target segment;
[0071] In step S22, construct an evaluation model corresponding to each target segment according to the state variables, control variables, and state information corresponding to each target segment.
[0072] In the present disclosure, as can be seen from the above content, the target segments can be determined according to the detected actions that cause changes in state information. For example, the target segments can be determined in the following way: determine the first moment corresponding to the action of switching the state information of the first target motion branch this time; determine the second moment corresponding to the action of switching the state information of the second target motion branch last time, where the first target motion branch and the second target motion branch are any one of all the motion branches; determine the target segments according to the first moment and the second moment.
[0073] It can be understood that in two adjacent actions of switching state information, the first target motion branch and the second target motion branch can be the same motion branch or different motion branches.
[0074] In the present disclosure, an action refers to an action made by the robot to change the state information, such as a foot-lifting action.
[0075] In the present disclosure, the evaluation model of each target segment can be represented by the following formula:
[0076] ;
[0077] In the above formula, is the evaluation model corresponding to the k-th target segment, The behavior of state information switching The state information corresponding to the k-th target segment The state variable corresponding to the t-th moment The control variable corresponding to the t-th moment, where the t-th moment is the moment in the k-th target segment. According to the first moment and the second moment of the target segment, the t-th moment in the target segment can be determined. It can be understood that the t-th moment is each moment from the first moment to the second moment.
[0078] In the present disclosure, the control variable includes at least one of the joint torque of the robot, the speed of the joint, and the contact force at the end of the moving limb; the state variable includes at least one of the pose of the robot's center of mass, the speed of the center of mass, the pose of the joint, the speed of the joint, the pose of the target object, the speed of the target object, the body momentum of the robot, the end displacement, and the speed at the end.
[0079] Continue to refer to Figure 2 , when solving the reference trajectory by segments, the steps of determining the reference trajectory that meets the preset constraints according to the evaluation model may include:
[0080] In step S23, according to the evaluation model corresponding to each target segment, determine the target sub-trajectory that meets the preset constraints;
[0081] In step S24, determine the reference trajectory according to all the target sub-trajectories.
[0082] It should be noted that when solving the target sub-trajectory and the reference trajectory in the above embodiment, a preset algorithm can be used. This preset algorithm is similar to the above preset algorithm, and the solution method can refer to the above related embodiments, which will not be elaborated herein.
[0083] It should be noted that each target segment corresponds to a target sub-trajectory, and all the target sub-trajectories are spliced in chronological order to obtain the reference trajectory.
[0084] It can be understood that in the scenario where the target task is a long-sequence task, due to the accumulation of time, errors will gradually accumulate. Therefore, considering solving the optimal solution of each target sub-trajectory by segments can reduce the error of the reference trajectory, and further improve the applicability of the diverse environment for robot control based on the reference trajectory.
[0085] In a possible way, the contact type at the end of the moving limb may include a point contact end that cannot be grasped and a surface contact end that can be grasped. The control variable corresponding to the point contact end that cannot be grasped includes the contact force, and the control variables corresponding to the surface contact end that can be grasped include the contact force and the contact moment.
[0086] It should be noted that whether the end of the motion branch chain can grasp describes whether the end of the motion branch chain can grasp the target object.
[0087] It should be noted that for different contact types at the end of the motion branch chain, the controlled variables are different. For example, if there is a gripper at the end of the robotic arm, the end of the corresponding motion branch chain can be defined as a surface contact end that can be grasped; if there is no gripper at the end of the robotic arm, the end of the corresponding motion branch chain can be defined as a point contact end that cannot be grasped; the end of the motion branch chain corresponding to the robot foot can be defined as a point contact end that cannot be grasped.
[0088] Among possible ways, the contact types of the target object include a point contact target that can be grasped and a surface contact target that cannot be grasped. The controlled variables corresponding to the point contact target that can be grasped include the contact force, and the controlled variables corresponding to the surface contact target that cannot be grasped include the contact force and the contact moment.
[0089] It should be noted that similar to the contact type at the end of the motion branch chain, for different contact types of the target object, the corresponding controlled variables are also different. For example, taking the target task of automatically opening a door as an example, the doorknob is a point contact target that can be grasped, and correspondingly, its controlled variables include the contact force and do not include the contact moment, while the door panel surface is a surface contact target that cannot be grasped, and its controlled variables include the contact force and the contact moment.
[0090] In the present disclosure, both the contact force and the contact moment can be three-dimensional.
[0091] By the above method, different contact types of the motion branch chain and the target object are defined, so as to obtain different controlled variables, that is, the controlled variables are rationally configured to improve the accurate solution of the reference trajectory.
[0092] In the present disclosure, the controlled variables of the target object can also include the position information and the size information, and the position information can be understood as the positioning of the target object.
[0093] Figure 3 It is a block diagram of a robot trajectory determination device shown according to an exemplary embodiment. The robot includes a robot body, robot feet and a robotic arm. The robot feet and the robotic arm respectively form motion branch chains with the robot body. Refer to Figure 3 , the robot trajectory determination device 300 includes an acquisition module 301, a construction module 302 and a first determination module 303.
[0094] The acquisition module 301 is configured to acquire the state variables, controlled variables during the process that the robot is expected to complete the target task, and the state information of the ends of all the motion branch chains and the target object, where the state information is used to characterize whether the ends of the motion branch chains are in contact with the target object;
[0095] The building block 302 is configured to build an evaluation model according to the state variable, the control variable, and the state information;
[0096] The first determination module 303 is configured to determine a reference trajectory that satisfies a preset constraint according to the evaluation model, where the reference trajectory is used to instruct the robot to complete the target task.
[0097] Optionally, the process includes a plurality of target segments, and at least one of the state information corresponding to all the motion branches of adjacent target segments is different. The building block 302 includes:
[0098] A first determination sub-module, configured to determine the state variable, the control variable, and the state information corresponding to each target segment;
[0099] A building sub-module, configured to build an evaluation model corresponding to each target segment according to the state variable, the control variable, and the state information corresponding to each target segment;
[0100] The first determination module 303 includes:
[0101] A second determination sub-module, configured to determine a target sub-trajectory that satisfies the preset constraint according to the evaluation model corresponding to each target segment;
[0102] A third determination sub-module, configured to determine the reference trajectory according to all the target sub-trajectories.
[0103] Optionally, the robot trajectory determination device 300 further includes:
[0104] A second determination module, configured to determine a first moment corresponding to the behavior of switching the state information of the first target motion branch this time;
[0105] A third determination module, configured to determine a second moment corresponding to the behavior of switching the state information of the second target motion branch last time, where the first target motion branch and the second target motion branch are any one of all the motion branches;
[0106] A fourth determination module, configured to determine a target segment according to the first moment and the second moment.
[0107] Optionally, the contact types at the end of the motion branch include a point contact end that cannot be grasped and a surface contact end that can be grasped. The control variable corresponding to the point contact end that cannot be grasped includes a contact force, and the control variables corresponding to the surface contact end that can be grasped include the contact force and a contact moment.
[0108] Optionally, the contact types of the target object include point contact targets that can be grasped and surface contact targets that cannot be grasped. The control variables corresponding to the point contact targets that can be grasped include the contact force, and the control variables corresponding to the surface contact targets that cannot be grasped include the contact force and the contact moment.
[0109] Optionally, the reference trajectory is determined by an offline calculation method.
[0110] Optionally, the control variables include at least one of the joint torques of the robot, the speeds of the joints, and the contact forces at the ends of the kinematic chains.
[0111] The state variables include at least one of the pose of the robot's center of mass, the speed of the center of mass, the poses of the joints, the speeds of the joints, the pose of the target object, the speed of the target object, the body momentum of the robot, the end displacement, and the speed at the end.
[0112] Regarding the robot trajectory determination device 300 in the above embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the method, and will not be elaborated here.
[0113] The present disclosure also provides a computer-readable storage medium, on which computer program instructions are stored. When the program instructions are executed by a processor, the steps of the robot trajectory determination method provided by the present disclosure are implemented.
[0114] Figure 4 is a block diagram of a robot shown according to an exemplary embodiment. Referring to Figure 4 , the robot 400 may include one or more of the following components: a processing component 402, a memory 404, a power supply component 406, a multimedia component 408, an audio component 410, an input / output interface 412, a sensor component 414, and a communication component 416.
[0115] The processing component 402 generally controls the overall operation of the robot 400, such as operations associated with display, data communication, camera operation, and recording operation. The processing component 402 may include one or more processors 420 to execute instructions to complete all or part of the steps of the above-mentioned robot trajectory determination method. In addition, the processing component 402 may include one or more modules to facilitate the interaction between the processing component 402 and other components. For example, the processing component 402 may include a multimedia module to facilitate the interaction between the multimedia component 408 and the processing component 402.
[0116] The memory 404 is configured to store various types of data to support the operation of the robot 400. Examples of such data include instructions for any application or method operating on the robot 400, contact data, phone book data, messages, pictures, videos, and the like. The memory 404 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk, or an optical disk.
[0117] The power supply component 406 provides power to various components of the robot 400. The power supply component 406 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the robot 400.
[0118] The multimedia component 408 includes a screen that provides an output interface between the robot 400 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can not only sense the boundaries of the touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, the multimedia component 408 includes a front camera and / or a rear camera. When the robot 400 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera can receive external multimedia data. Each of the front camera and the rear camera can be a fixed optical lens system or have a focal length and optical zoom capabilities.
[0119] The audio component 410 is configured to output and / or input audio signals. For example, the audio component 410 includes a microphone (MIC) that is configured to receive external audio signals when the robot 400 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in the memory 404 or transmitted via the communication component 416. In some embodiments, the audio component 410 further includes a speaker for outputting audio signals.
[0120] The input / output interface 412 provides an interface between the processing component 402 and a peripheral interface module, and the peripheral interface module can be a keyboard, a click wheel, buttons, etc. These buttons can include, but are not limited to: a home button, a volume button, a start button, and a lock button.
[0121] The sensor assembly 414 includes one or more sensors for providing a status assessment of various aspects of the robot 400. For example, the sensor assembly 414 can detect the on / off state of the robot 400, the relative positioning of components, such as the display and keypad of the robot 400. The sensor assembly 414 can also detect a change in the position of the robot 400 or a component of the robot 400, the presence or absence of user contact with the robot 400, the orientation or acceleration / deceleration of the robot 400, and the temperature change of the robot 400. The sensor assembly 414 can include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 414 can also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 414 can also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0122] The communication component 416 is configured to facilitate communication between the robot 400 and other devices in a wired or wireless manner. The robot 400 can access a wireless network based on communication standards, such as WiFi, 2G, or 3G, or a combination thereof. In an exemplary embodiment, the communication component 416 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 416 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0123] In an exemplary embodiment, the robot 400 can be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for performing the above-described robot trajectory determination method.
[0124] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions, such as the memory 404 including instructions, is also provided. The above instructions can be executed by the processor 420 for robot trajectory determination to complete the above-described robot trajectory determination method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0125] In another exemplary embodiment, a computer program product is also provided. The computer program product includes a computer program executable by a programmable device, and the computer program has a code portion for performing the above-described robot trajectory determination method when executed by the programmable device.
[0126] Those skilled in the art can also understand that the various illustrative logical blocks and steps listed in the embodiments of the present application can be implemented by electronic hardware, computer software, or a combination of both. Whether such a function is implemented by hardware or software depends on the specific application and the design requirements of the entire system. For each specific application, those skilled in the art can use various methods to implement the described function, but such implementation should not be construed as exceeding the scope protected by the embodiments of the present application.
[0127] In the above detailed description, reference is made to the accompanying drawings, in which specific aspects in which the present disclosure can be practiced are shown by way of illustration. In this regard, directional or positional relationship terms such as "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. can be used with reference to the orientation of the described figures. Since the components of the described devices can be positioned in a plurality of different orientations, the directional terms can be used for illustrative purposes and are not restrictive. It should be understood that other aspects can be utilized and structural or logical changes can be made without departing from the concepts of the present disclosure. Therefore, the following detailed description should not be taken in a limiting sense.
[0128] It should be understood that, unless otherwise specifically stated, the features of some embodiments of the various aspects of the present disclosure described herein can be combined with each other. As used herein, the term "and / or" includes any one of the related listed items and any combination of any two or more of them; similarly, "at least one of..." includes any one of the related listed items and any combination of any two or more of them.
[0129] It should be understood that, unless otherwise clearly specified and defined, the terms "joined", "attached", "installed", "connected", "linked", "connected", "fixed", etc. used in the embodiments of the present disclosure should be understood in a broad sense. For example, it may be a fixed connection, a detachable connection, or integrated; it may be a mechanical connection, an electrical connection, or communicable with each other; it may be directly connected, or indirectly connected through an intermediate medium, and may be the communication inside two elements or the interaction relationship between two elements, unless otherwise clearly defined. For those of ordinary skill in the art, the specific meanings of the above terms in this article can be understood according to specific circumstances.
[0130] In addition, the term "above" used in connection with a component, element, or layer of material formed "above" or located "above" a surface may be used herein to mean that the component, element, or layer of material is "indirectly" positioned (e.g., placed, formed, deposited, etc.) on the surface such that one or more additional components, elements, or layers are disposed between the surface and the component, element, or layer of material. However, the term "above" used in connection with a component, element, or layer of material formed "above" or located "above" a surface may alternatively have a specific meaning: the component, element, or layer of material is "directly" positioned (e.g., placed, formed, deposited, etc.) on the surface, e.g., in direct contact with the surface.
[0131] Although terms such as "first", "second", and "third" may be used herein to describe various components, parts, regions, layers, or sections, these components, parts, regions, layers, or sections are not limited to these terms. On the contrary, these terms are only used to distinguish one component, part, region, layer, or section from another. Thus, the first component, part, region, layer, or section mentioned in the examples described herein may also be referred to as the second component, part, region, layer, or section without departing from the teachings of the various examples. Additionally, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include at least one of the features. In the description herein, "a plurality" means at least two, such as two, three, etc., unless otherwise specifically and clearly defined.
[0132] It should be understood that, as used herein, spatial relative terms, such as "above", "upper", "below", and "lower", are used to describe the relationship of one element shown in the figures to another element. In addition to the orientation depicted in the figures, such spatial relative terms are also intended to encompass different orientations of the device during use or operation. For example, if the device in the figures is flipped, an element described as "above" or "upper" relative to another element will then be "below" or "lower" relative to that other element. Thus, depending on the spatial orientation of the device, the term "above" encompasses both the above and below orientations. The device may have other orientations (e.g., rotated 90 degrees or in other orientations), and the spatial relative terms used herein should be interpreted accordingly.
[0133] In addition, the word "exemplary" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as advantageous over other aspects or designs. Rather, the use of the word exemplary is intended to present concepts in a concrete manner. As used herein, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X applies A or B" is intended to mean any of the natural inclusive permutations. That is, if X applies A; X applies B; or X applies both A and B, then "X applies A or B" is satisfied in any of the foregoing instances. Additionally, unless otherwise specified or clear from the context that it is referring to the singular form, the articles "a" and "an" as used in this application and the appended claims are generally understood to mean "one or more".
[0134] Likewise, although the present disclosure has been shown and described with respect to one or more implementations, equivalent variations and modifications will occur to those skilled in the art upon reading and understanding the specification and drawings. The present disclosure includes all such modifications and variations and is limited only by the scope of the claims. Specifically with respect to the various functions performed by the components described above (e.g., elements, resources, etc.), unless otherwise indicated, the terms used to describe such components are intended to correspond to any component (functionally equivalent) that performs the specific function of the described component, even if not structurally equivalent to the disclosed structure. Additionally, although a particular feature of the present disclosure may have been disclosed with respect to only one of several implementations, such a feature may, as may be desired and advantageous for any given or particular application, be combined with one or more other features of other implementations. Further, with respect to the use of "comprising", "possessing", "having", "include", or variants thereof in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the term "including".
[0135] Other embodiments of the present disclosure will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include known common general knowledge or conventional technical means in the technical field not disclosed herein. The specification and examples are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the appended claims.
[0136] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.
Claims
1. A robot trajectory determination method, characterized in that: The robot comprises a robot body, a robot foot and a robot arm, wherein the robot foot and the robot arm respectively form a motion branch chain with the robot body, and the method comprises: Acquire state variables, control variables and state information of the ends of all the motion branches and the target object in the process of the robot expected to complete the target task, wherein the state information is used to characterize whether the ends of the motion branches are in contact with the target object, the state variables are states that the robot is expected to achieve, and the control variables may include at least one of the following: the torque of the joint, the speed of the joint and the contact force of the end; constructing an evaluation model according to the state variables, the control variables and the state information; According to the evaluation model, a reference trajectory that meets preset constraints is determined, and the reference trajectory is used to instruct the robot to complete the target task.
2. The method according to claim 1, characterized in that The process includes a plurality of target segments, at least one of the state information corresponding to all the motion branches of adjacent target segments is different, and constructing an evaluation model based on the state variables, the control variables and the state information, including: Determine the state variable, the control variable and the state information corresponding to each target segment; Constructing an evaluation model corresponding to each of the target segments according to the state variables, the control variables and the state information corresponding to each of the target segments; The step of determining a reference trajectory satisfying a preset constraint according to the evaluation model includes: Determining a target sub-trajectory satisfying the preset constraints according to an evaluation model corresponding to each of the target segments; The reference trajectory is determined according to all the target sub-trajectories.
3. The method according to claim 1, characterized in that: The method further comprises: Determine a first moment corresponding to the behavior of switching the state information of the first target motion branch this time; Determining a second time corresponding to the last behavior of switching the state information of the second target motion branch, wherein the first target motion branch and the second target motion branch are any one of all the motion branches; A target segment is determined according to the first moment and the second moment, wherein the target segment is a time period between the first moment and the second moment.
4. The method according to claim 1, characterized in that The contact types of the ends of the motion branch chain include a point contact end that cannot be grasped and a surface contact end that can be grasped. The control variables corresponding to the point contact end that cannot be grasped include contact force, and the control variables corresponding to the surface contact end that can be grasped include contact force and contact torque.
5. The method according to claim 4, characterized in that The contact types of the target object include a graspable point contact target and an ungrapable surface contact target. The control variables corresponding to the graspable point contact target include the contact force, and the control variables corresponding to the ungrapable surface contact target include the contact force and the contact torque.
6. The method according to any one of claims 1 to 3, characterized in that: The reference trajectory is determined by an offline calculation method.
7. The method according to claim 1, characterized in that The control variable includes at least one of the joint torque of the robot, the velocity of the joint, and the contact force at the end of the kinematic branch chain; The state variables include at least one of the position of the center of mass of the robot, the speed of the center of mass, the position of the joints, the speed of the joints, the position of the target object, the speed of the target object, the body momentum of the robot, the displacement of the end, and the speed of the end.
8. A robot trajectory determination device, characterized in that: The robot comprises a robot body, a robot foot and a robot arm, wherein the robot foot and the robot arm respectively form a motion branch chain with the robot body, and the device comprises: an acquisition module, configured to acquire state variables, control variables, and state information of the ends of all the motion branches and the target object in the process of the robot being expected to complete the target task, wherein the state information is used to characterize whether the ends of the motion branches are in contact with the target object, the state variables are states that the robot is expected to achieve, and the control variables may include at least one of the following: a torque of a joint, a velocity of a joint, and a contact force of an end; A construction module, configured to construct an evaluation model according to the state variables, the control variables and the state information; The first determination module is configured to determine a reference trajectory that meets preset constraints according to the evaluation model, and the reference trajectory is used to instruct the robot to complete the target task.
9. A robot, characterized in that: The robot comprises a robot body, a robot foot and a robot arm, wherein the robot foot and the robot arm respectively form a motion branch chain with the robot body, and the robot further comprises: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to: Acquire state variables, control variables and state information of the ends of all the motion branches and the target object in the process of the robot expected to complete the target task, wherein the state information is used to characterize whether the ends of the motion branches are in contact with the target object, the state variables are states that the robot is expected to achieve, and the control variables may include at least one of the following: the torque of the joint, the speed of the joint and the contact force of the end; constructing an evaluation model according to the state variables, the control variables and the state information; According to the evaluation model, a reference trajectory that meets preset constraints is determined, and the reference trajectory is used to instruct the robot to complete the target task.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 7 are implemented.
11. A computer program product, characterized in that The invention comprises a computer program which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Light-load joint type parallel robot control method based on kinetic model
CN110909438A
Systems and methods of coordinated body motion of robotic devices
US20230234229A1