Robot assistant and its control method
By introducing rotatable foldable seats and intelligent control systems into the robot assistant, the shortcomings of existing robot assistants in physical interaction are solved, achieving better user experience and load reduction effects.
Patent Information
- Application Number
- CN202211422648.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-11-19
- Filing Date
- 2022-11-14
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2042-11-14
AI Technical Summary
Existing robot assistants are insufficient in physical interaction, difficult to provide better human-computer interaction, and cannot effectively reduce the leg load and fatigue of users when walking.
A robot assistant is designed that includes a rotatable foldable seat that enables automatic or manual rotation of the seat through an actuator and control system, combining light sensors and current sensing to ensure that the seat automatically or manually rotates to the appropriate position when needed.
It realizes that the robot assistant rotates the foldable seat to the desired position according to the situation in automatic or manual control mode, which improves the user's physical interaction experience and reduces the load and fatigue during walking.
Smart Images

Figure CN115816475B_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to robots, and particularly to an intelligent robot assistant that can provide walking assistance, walking training, and physical training. Background Art
[0002] Over the years, due to the impact of aging, the graying society, and the shortage of manpower, the demand for robotics in the service industry has been increasing. Therefore, robot assistants have attracted great attention in recent years.
[0003] For example, a robot assistant can be designed to help support a part of the user's weight to reduce the load on the user's legs when walking, thereby reducing fatigue and physical exertion. For example, a large amount of research on assistive robots can be found, including applications for upper limb, lower limb, and whole body assistance or training.
[0004] These robot assistants generally include wheels for movement and a vertical body with a handle for the user to grasp. Some robot assistants may include a seat for the user to sit on. However, these robot assistants are humanoid and they focus on virtual or psychological interaction with people without paying too much attention to physical interaction, so it is difficult to provide better human-machine interaction.
[0005] Therefore, there is a need to provide a robot assistant to overcome the above problems. Summary of the Invention
[0006] The object of the present invention is to provide a robot assistant, aiming to solve the above existing problems.
[0007] The present invention is implemented as follows. A robot assistant includes: a base; a main body positioned on the base; a foldable seat rotatably connected to the main body; an actuator configured to rotate the foldable seat relative to the main body; a control system for receiving command instructions, the actuator being electrically connected to the control system; wherein, in response to the command instructions, the control system is configured to control the actuator to rotate the foldable seat to a folded position or an unfolded position; wherein, the control system is further configured to detect whether there is an external force from the user acting on the foldable seat, and release the actuator to allow manual rotation of the foldable seat.
[0008] Further, the foldable seat includes a hollow seat body, and the actuator is disposed within the seat body
[0009] Further, the robot assistant further includes two supports fixed on the base and a first connecting shaft connected to one of the two supports, wherein the actuator includes a rotational output shaft, and the first connecting shaft is coaxially connected to the rotational output shaft.
[0010] Further, the robotic assistant further includes two supports fixed to the base, a second connecting shaft and a torsion spring connected to one of the two supports, wherein the foldable seat is rotatable relative to the second connecting shaft, the torsion spring is sleeved on the second connecting shaft, and the two ends of the torsion spring respectively abut against the foldable seat and the second connecting shaft.
[0011] Further, the foldable seat includes a seat body, and the seat body includes a base and a seat cover. The base defines a storage space on the lower side and includes a door rotatably connected to the base, and the door is configured to keep the storage space closed.
[0012] Further, the robotic assistant further includes a light sensor disposed in the base, wherein the light sensor is electrically connected to the control system, and the control system is configured to control the actuator to rotate the foldable seat to the deployed position in response to the light sensor detecting the presence of a user within a preset time period.
[0013] The present invention also provides a robotic assistant, including: a base; a foldable seat rotatable relative to the base; an actuator configured to rotate the foldable seat relative to the base; one or more processors; a memory; and one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, the one or more programs including: instructions for receiving a command indicating rotation of the foldable seat; instructions for sending a position command to the actuator to rotate the foldable seat to a desired position based on the command indicating rotation of the foldable seat; instructions for detecting whether an external force is applied to the foldable seat; and instructions for releasing the actuator to allow the foldable seat to be manually rotated in response to detecting the external force.
[0014] Further, the instructions for detecting whether an external force is applied to the foldable seat include: instructions for measuring the current of the actuator; and instructions for determining that an external force has been applied to the foldable seat in response to the current of the actuator being greater than a preset value within a preset time period.
[0015] The present invention also provides a method for controlling a robotic assistant, the method including: providing a base; providing a foldable seat rotatable relative to the base; providing an actuator configured to rotate the foldable seat relative to the base; receiving a command indicating rotation of the foldable seat; sending a position command to the actuator to rotate the foldable seat to a desired position according to the command indicating rotation of the foldable seat; detecting whether an external force is applied to the foldable seat; and releasing the actuator to allow the foldable seat to be manually rotated in response to detecting the external force.
[0016] Further, after releasing the actuator to allow the foldable seat to be manually rotated in response to detecting an external force, it further includes: measuring the current of the actuator; determining the position of the foldable seat; and performing compliant control on the foldable seat in response to the foldable seat being in a folded position or a deployed position to compensate for the external force determined based on the current of the actuator.
[0017] The technical effect of the present invention compared with the prior art is that the robot assistant can work in an automatic control mode and a manual control mode to rotate the foldable seat to a desired position according to different situations. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the drawings required for use in the embodiments of the present invention or the description of the prior art. Obviously, the following described drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0019] Figure 1 is a schematic perspective view of a robot assistant according to an embodiment.
[0020] Figure 2 is a schematic perspective view of the robot assistant, with some components omitted for clarity.
[0021] Figure 3a Similar to Figure 2 , but viewed from a different angle.
[0022] Figure 3b Similar to FIG. 3, but shows the display in an extended position.
[0023] Figure 4 is Figure 3a an enlarged view of part A of
[0024] Figure 5 is Figure 3a an enlarged view of part B of
[0025] Figure 6 is a schematic diagram showing the display in two different positions.
[0026] Figure 7 is a schematic block diagram of a robot assistant according to an embodiment.
[0027] Figure 8 is a schematic flowchart of a method for controlling a robot assistant according to an embodiment.
[0028] Figure 9Schematic flowchart of a method for controlling a robotic assistant according to an embodiment.
[0029] Figure 10 Shows two exemplary images continuously captured by a camera of a robotic assistant according to an embodiment.
[0030] Figure 11 Schematic flowchart of a method for controlling a robotic assistant according to an embodiment.
[0031] Figure 12 Shows an exemplary image showing key points of a user's face according to an embodiment.
[0032] Figure 13 Schematic diagram of a simplified model of a robotic assistant according to an embodiment.
[0033] Figure 14a Is a diagram showing the relationship between a user's face and a face image in an image plane when the user stands at a predetermined position from the center of the camera.
[0034] Figure 14b Is a diagram showing the relationship between a user's face and a face image in an image plane when the user stands at a random position.
[0035] Figure 15 Schematic block diagram of a robotic assistant according to an embodiment.
[0036] Figure 16 Flowchart of a method for controlling a display in automatic control mode and manual control mode according to an embodiment.
[0037] Figure 17 Shows a robotic assistant according to an embodiment, where the foldable seat is in the folded position.
[0038] Figure 18 Similar to Figure 17 , where the foldable seat is in the unfolded position.
[0039] Figure 19 Schematic perspective view of a foldable seat according to an embodiment.
[0040] Figure 20 Is a top view of the foldable seat, with the seat cover omitted for clarity.
[0041] Figure 21 Is an exploded view of a component including an actuator and a support.
[0042] Figure 22 Similar to Figure 21 , but viewed from a different angle.
[0043] Figure 23 It is a perspective view of an assembly including another support member and a component connected to the cover support member.
[0044] Figure 24 It is a perspective view of a foldable seat with the door in the open position.
[0045] Figure 25 It is a flowchart of a method for controlling a foldable seat according to an embodiment.
[0046] Figure 26 It is a schematic diagram of a dynamic model of a foldable seat according to an embodiment.
[0047] Figure 27 It is a schematic diagram of an admittance control scheme.
[0048] Figure 28 It is a schematic diagram for performing compliance control according to an embodiment. Detailed Description of the Invention
[0049] Embodiments of the present invention will be described in detail below. Examples of the embodiments are shown in the accompanying drawings, where the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to explain the present invention, and should not be construed as limiting the present invention.
[0050] In the description of the present invention, it should be understood that the orientation or positional relationship indicated by terms such as "length", "width", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as limiting the present invention.
[0051] In addition, the terms "first" and "second" are only used for descriptive purposes and should not be construed as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present invention, "a plurality" means two or more unless otherwise specifically defined.
[0052] In the present invention, unless otherwise clearly defined and limited, terms such as "installed", "connected", "linked", "fixed", etc. shall 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 or an electrical connection; it may be directly connected or indirectly connected through an intermediate medium, and it may be the communication inside two components or the interaction relationship between two components. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0053] In order to make the objectives, technical solutions and advantages of the present invention more clear and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.
[0054] Figure 1 A perspective view of the robotic assistant 100 is shown. In one embodiment, the robotic assistant 100 can be designed to help support a portion of a user's weight to relieve the load on the user's legs when the user (e.g., a caregiver or patient) is walking. The robotic assistant 100 can provide support / guidance to people during walking so that they can maintain balance and walk safely. In one embodiment, the robotic assistant 100 can be used in places such as medical facilities, senior care facilities, assisted living facilities, etc. to assist the elderly when they are walking. However, the robotic assistant 100 can be used in other places. For example, the robotic assistant 100 can be used in a hospital to provide walking assistance, physical training and fall prevention to those who have temporarily lost the ability to walk due to an accident or illness.
[0055] Refer to Figure 2 、 3a and 3b, in one embodiment, the robotic assistant 100 can include a base 10, a lifting mechanism 20 located on the base 10, a display 30 rotatably mounted on the lifting mechanism 20, a camera 40 located on the display 30, and a control system 50 (see Figure 7 ), and the control system 50 receives command instructions from a main computer and a graphical user interface (GUI) displayed on the display 30 to allow a user (e.g., a healthcare professional and a caregiver) to directly control the robotic assistant 100. In response to the command instructions, the control system 50 controls the movement of the lifting mechanism 20 and the rotation of the display 30, and / or other mechanical or software aspects of the robotic assistant 100.
[0056] In one embodiment, the base 10 may provide a mobility mechanism for the robotic assistant 100 to move from one location to another. In one embodiment, the base 10 includes a body, two differential drive wheel mechanisms, and one or more other wheels connected to the body. The wheel mechanisms allow the base 10 to move along a desired path, while the one or more other wheels achieve the balance and stability of the base 10. The one or more other wheels may be casters or omnidirectional drive wheels.
[0057] In one embodiment, the lifting mechanism 20 is located on top of the base 10. By actuating the lifting mechanism 20, the display 30 can move up and down in the vertical direction. When the display 30 is in the lowest retracted position, the lifting mechanism 20 gives the robotic assistant 100 a limited height, which is beneficial to the stability of the robotic assistant 100 during movement and travel. The lifting mechanism 20 can be actuated to adjust the robotic assistant 100 to different heights, so that the robotic assistant 100 can flexibly adapt to users of different heights. A further description of the lifting mechanism 20 is provided below.
[0058] In one embodiment, the robotic assistant 100 may include sensors that enable the robotic assistant 100 to sense the environment in which the robotic assistant 100 operates. In one embodiment, the sensors may include ranging sensors that do not require physical contact with the object being detected. They allow the robotic assistant 100 to sense obstacles without actually touching it. The ranging sensors may include infrared (IR) sensors, ultrasonic sensors, one or more light detection and ranging (LiDAR) sensors, near field communication (NFC), and RFID sensors / readers. In one embodiment, the sensors may include inertial measurement unit (IMU) sensors, each of which includes at least one accelerometer and at least one gyroscope. The one or more LiDAR sensors are used to create a map of the environment. In combination with the IMU sensors, the lidar sensors are used to determine the real-time position of the robotic assistant 100 in the environmental map. Data from the ranging sensors are used to detect obstacles during the movement of the robotic assistant 100, such as bumps, overhanging objects, spills, and other hazards, and the robotic assistant 100 can alert the user to bypass the detected obstacles. These sensors may be located along the base 10 or other locations of the robotic assistant 100.
[0059] The control system 50 is electrically connected to the base 10, the lifting mechanism 20, and the sensors, and is configured to receive command instructions to control the robotic assistant 100. The command instructions can be received from the control system 50 in response to the movement / action of the robotic assistant 100, or the control system 50 can receive command instructions wirelessly or via a wired connection or via the GUI on the display 30 from a host computer. The control system 50 can also receive command instructions directly from the user. For example, the robotic assistant 100 can detect whether the handle of the robotic assistant 100 is being held by the user. In some modes, the control system 50 receives command instructions after the user holds the handle. The control system 50 responds to the command instructions, controls the movement of the base 10, and controls the lifting mechanism 20 to drive the vertical movement of the display 30. A further description of the control system 50 is provided below.
[0060] In one embodiment, the base 10 can be a differential drive platform. The base 10 can include two independently driven wheel mechanisms and a caster mechanism. The two wheel mechanisms are spaced apart from each other on opposite sides of the base 10, and their axes of rotation are aligned with each other and extend in the width direction of the base 10. The caster mechanism can include an omnidirectional wheel and is disposed adjacent to one end of the base 10 opposite to the wheel mechanism. It should be noted that the number and arrangement of the wheel mechanism and the caster mechanism can be changed according to actual needs. For example, in an alternative embodiment, two wheel mechanisms and two caster mechanisms can be respectively disposed at the four corners of the base 10.
[0061] Reference Figure 3b , in one embodiment, the lifting mechanism 20 can include an actuator 21 mounted on the base 10, a main body 23 vertically disposed on the base 10, and a slider 25 slidably received in the main body 23. The actuator 21 is used to drive the slider 25 to move up and down in the vertical direction. The display 30 can thus move between a lowest retracted position (see Figure 1 - 3a ) and a determined extended position (see Figure 3b ).
[0062] In another embodiment, the lifting mechanism 20 can include a lifting mechanism disposed within the main body 23 and the slider 25. The actuator 21 can be a linear motor for driving the lifting mechanism to extend or retract in the vertical direction. The actuator 21 is used to apply a thrust or a pull force to the lifting mechanism to drive the lifting mechanism to extend or retract in the vertical direction, thereby driving the slider 25 to move up and down in the vertical direction. In one embodiment, the lifting mechanism can include a lead screw coupled to the output shaft of the motor, and a threaded collar coupled to the lead screw and slidable along the lead screw. Through the engagement of the threaded collar with the lead screw, the rotational motion from the actuator 21 is converted into a translational motion. Then the lifting mechanism can drive the display 30 to move up and down.
[0063] In yet another embodiment, the lifting mechanism can be a scissor lifting mechanism. Specifically, the lifting mechanism can include one or more pairs of support members that are rotatably connected to each other, and each pair of support members forms a cross-shaped "X" pattern. The arrangement of these pairs of support members is well-known and will not be described herein. It should be noted that the lead screw, the threaded collar, and the scissor lifting mechanism are only examples of the lifting mechanism. The lifting mechanism can adopt other configurations according to actual needs.
[0064] In one embodiment, the robotic assistant 100 can further include a first housing 201 mounted on top of the base 10 (see Figure 1 ). The lifting mechanism 20 is disposed within the first housing 201.
[0065] Referring to Figure 2 and Figure 3a , in one embodiment, the robotic assistant 100 can further include a display bracket 301 located on top of the lifting mechanism 20 and a motor 302 fixed to the display bracket 301. The display 30 is indirectly mounted on the lifting mechanism 20 through the display bracket 301. The motor 302 is used to drive the display 30 to rotate relative to the display bracket 301. In one embodiment, the display bracket 301 is a hollow frame composed of multiple plate members, including a bottom plate 3011 and two vertical plates 3012 and 3013. The bottom plate 3011 is fixed to the top of the sliding member 25 of the lifting mechanism 20. The two vertical plates 3012 and 3013 are disposed on opposite sides of the bottom plate 3011. The display 30 is rotatably connected to the upper ends of the vertical plates 3012 and 3013. In one embodiment, the display 30 can define a U-shaped groove 31, and the upper ends of the two vertical plates 3012 and 3013 are received within the groove 31 and are rotatably connected to the inner side surfaces of the groove 31.
[0066] In one embodiment, the motor 302 is disposed in the space between the vertical plates 3012 and 3013 and is fixed to the vertical plate 3012. In this case, the rotating motor shaft of the motor 302 passes through the hole defined in the vertical plate 3012 and is fixed to the display 30. The display 30 can thus rotate together with the motor shaft.
[0067] Referring to Figure 4 and Figure 5, in one embodiment, the robotic assistant 100 may further include a rotary damper 303 connected to the display bracket 301. The rotary damper 303 is configured to control the rotation speed of the display 30. The rotary damper 303 is fixed to the vertical plate 3013. In one embodiment, the display 30 is connected to the vertical plate 3013 through a connecting member 304 and the rotary damper 303. The rotary damper 303 may define a through hole 3031. In one embodiment, the through hole 3031 is provided on the rotor of the rotary damper 303 and is a square hole. The connecting member 304 includes a main body 3041 and a shaft 3042. One end of the main body 3041 is fixed to the display 30, and the other end is provided with the shaft 3042. The size and shape of the shaft 3042 are determined according to the square through hole 3031 of the rotary damper 303. The main body 3041 passes through the through hole 3014 on the vertical plate 3013, and the shaft 3042 passes through the square through hole 3031 of the rotary damper 303, so that the rotation can be transmitted from the display 30 to the rotary damper 303. Specifically, when the connecting member 304 rotates together with the display 30, the rotor of the rotary damper 303 is thus driven to rotate. There are various types of dampers to choose from. For example, the rotary damper 303 can utilize the principle of fluid resistance to inhibit motion. In this example, the rotary damper 303 may include a main body, a rotor, a cover, and oil filled in the space defined by the main body, the rotor, and the cover. The viscosity of the oil is used to provide braking force to slow down the rotational movement of the display 30, so as to ensure that the rotation of the display 30 is smooth and gentle. Figure 4 These are merely illustrative examples. Other types of dampers can be used to control the speed of the display 30 according to actual needs.
[0068] Reference Figure 4, in one embodiment, the robotic assistant 100 may further include a limit switch 305, which is fixedly connected to the display bracket 301. The limit switch 305 is configured to be activated in response to the display 30 rotating to a predetermined position. The control system 50 is configured to stop the rotation of the display 30 in response to the activation of the limit switch 305. In one embodiment, the limit switch 305 is an optical limit switch and is arranged near the rotary damper 303. A block 306 is fixed to the end of the shaft 3042 of the connecting member 304. The block 306 can thus rotate with the display 30. The limit switch 305 may be an infrared slotted optical switch and may include an infrared source and a filtered infrared phototransistor detector, the infrared source and the filtered infrared phototransistor detector being mounted opposite each other and having a small open gap therebetween. The limit switch 305 can detect the presence of an object blocking light in the gap. When the end of the block 306 moves into the gap of the limit switch 305, the limit switch 305 is activated, and then the control system 50 sends a signal to the motor 302 to stop the rotation of the display 30. It should be noted that the limit switch 305 can be other types of switches, such as mechanical limit switches. In one embodiment, the predetermined position refers to the original position as shown in Figure 1 and 2 . When the display 30 is in the initial position, the end of the block 306 is received in the gap of the limit switch 305.
[0069] Referring again to Figure 2 and 3a , in one embodiment, the robotic assistant 100 may further include two handles 60, which are fixedly connected to the lifting mechanism 20. The two handles 60 are configured to fit just into the user's hands to provide two grips. The user can hold the two handles 60 when walking / standing, which enables the robotic assistant 100 to provide an upward supporting force to the user, thereby helping the user maintain balance when walking / standing. In one embodiment, the two handles 60 are connected to the lifting mechanism 20 by a substantially U-shaped U-bar 61. The robotic assistant 100 may further include a second housing 62 disposed above the first housing 201 (see Figure 1 ). The second housing 62 houses the U-bar 61 and is fixed to the U-bar 61.
[0070] In one embodiment, the displays 30 may be touch-sensitive display devices and each provides an input interface and an output interface between the robotic assistant 100 and the user. The displays 30 can display visual outputs to the user. The visual outputs may include graphics, text, icons, videos, and any combination thereof. In one embodiment, when the displays 30 are in the position as shown in Figure 1When in the original position shown, the display 30 faces the front of the robotic assistant 100 to display general information or to allow a user who is not actively using the walking function to have telepresence. When the display 30 rotates to the rear-facing position, the display 30 can display walking / training-related information.
[0071] In one embodiment, the camera 40 can be an RGB camera and is disposed in the bezel of the display 30. Referring to Figure 6 , when the display 30 is in the original position, the camera 40 faces forward, and the camera 40 can rotate with the display 30 to a desired position to face backward. The movement range of the display 30 / camera 40 can be set to 165 degrees. However, the movement range of the display 30 / camera 40 can be changed according to actual needs.
[0072] Referring to Figure 7 , in one embodiment, the control system 50 can include a processor 51 and a memory 52 that stores computer-readable instructions. The processor 51 runs or executes various software programs and / or instruction sets stored in the memory 52 to perform various functions of the robotic assistant 100 and process data. The processor 51 can be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic device, discrete gate, transistor logic devices, discrete hardware components, or a combination of some or all of these components. The general-purpose processor can be a microprocessor or any conventional processor, etc. The memory 52 can store software programs and / or computer-readable instruction sets and can include high-speed random access memory and can include non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
[0073] In one embodiment, the robotic assistant 100 can include a plurality of sensors 70, including a 3D camera 72, a LiDAR sensor 73, a plurality of IR sensors 74, a plurality of ultrasonic sensors 75, and a plurality of IMU sensors 76. The 3D camera 72 can be disposed on the first housing 201. The IR sensors 74 and the ultrasonic sensors 75 can be disposed on the first housing 201. The IMU sensors 76 can be disposed on the base 10. The sensors 72 to 76 are configured to output data to the control system 50 such that the control system 50 can perform positioning, motion planning, trajectory tracking control, and obstacle avoidance for the robotic assistant 100. In one embodiment, an electrocardiogram (ECG) sensor 77 can be embedded in the handle to measure the heartbeat of a user holding the handle 60. It should be noted that the robotic assistant 100 can have more sensors than shown.
[0074] In one embodiment, the robotic assistant 100 further includes a power system 81 that powers all the critical components of the robotic assistant 100. The power system 81 is mounted on the base 10 and may include a battery management system (BMS), one or more power sources (e.g., batteries, alternating current (AC)), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., light-emitting diode (LED)), and any other components related to the generation, management, and distribution of power. The power system 81 may also include a self-charging unit that can engage with a docking charging station at a fixed location to allow charging of the robotic assistant 100. The battery management system manages rechargeable batteries, such as protecting the battery from operating outside the safe operating area, monitoring its status, calculating auxiliary data, reporting the data, controlling its environment, authenticating it, and / or balancing it.
[0075] In one embodiment, the robotic assistant 100 may also include a speaker 82 and a microphone 83 that provide an audio interface between the user and the robotic assistant 100. The microphone 83 receives audio data, converts the audio data into an electrical signal, and transmits the electrical signal as a command to the control system 50. The speaker 82 converts the electrical signal into sound waves audible to humans. The speaker 82 and the microphone 83 enable voice interaction between the user and the robotic assistant 100. The speaker 82 may play music or other audio content for the user for entertainment purposes. The robotic assistant 100 may also include a wireless communication interface 84, such as WIFI and Bluetooth modules. The robotic assistant 100 may also include an NFC subsystem 85. The NFC subsystem 85 may include an NFC chip and an antenna for communicating with another device / tag, which allows the NFC subsystem 85 to have an NFC reading function. The NFC subsystem 85 can be used for authorization purposes. That is, the NFC subsystem 85 can be used as a security mechanism for determining user privileges or access levels related to system resources.
[0076] It should be noted that Figure 7 only one example of the robotic assistant 100 is shown, and the robotic assistant 100 may have more or fewer components than shown, two or more components may be combined, or it may have different component configurations or arrangements. For example, the robotic assistant 100 may include a front light strip and a rear light strip to illuminate the path for the user when the environment is dark. The robotic assistant 100 may include a storage unit for storing items so that the robotic assistant 100 can deliver the items to a desired location. Figure 7 the various components shown in Figure 7 the various components shown can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0077] Figure 8FIG. is a flowchart of a method for controlling a robotic assistant 100 according to an embodiment, which includes the following steps. It should be noted that Figure 8 The order of the steps shown is not restrictive and can be changed according to actual needs.
[0078] Step S101: Receive a command instruction. The processor 51 of the control system 50 receives a command instruction. For example, the processor 51 can receive a command instruction from a user (e.g., a caregiver seeking assistance), which requests the robotic assistant 100 to retrieve an object from one location and deliver the object to another location.
[0079] Step S201: Move the base 10 in response to a first command instruction. The processor 51 can analyze each command instruction and move the base 10 to a determined location in response to the first command instruction. The first command instruction can include a description of the location that the robotic assistant 100 needs to reach. For example, when a user (e.g., a caregiver seeking assistance) requests the robotic assistant 100 to retrieve and deliver an object, the first command instruction can include a description of the starting location of the stored object and the target location where the object needs to be delivered. The processor 51 can execute software programs and / or instruction sets stored in the memory 52 to perform positioning, motion planning, and trajectory tracking, such that the base 10 can determine its real-time position in a known map during movement along the planned path. If there are dynamic obstacles on the planned path, the processor 51 can plan a new path to avoid the obstacles. In other words, the base 10 can be controlled to move along a specified path, and if there are obstacles on the path, the path will be adjusted. The base 10 can autonomously move to the starting location first and then move to the target location. In addition, the base 10 can be controlled by commands on the screen or control inputs inferred from a handle, and the handle can be connected to a weighing sensor. This allows the user to directly control the movement of the base 10.
[0080] Step S301: Control the lifting mechanism 20 to move the display 30 and the handle 60 up and down in response to a second command instruction. The processor 51 can analyze each command instruction and control the lifting mechanism 20 to move the display 30 and the handle 60 up and down in response to the second command instruction. For example, the processor 51 can receive a command instruction from a user (e.g., a caregiver seeking assistance) and control the robotic assistant 100 to autonomously move between determined locations. In this case, the processor 51 controls the lifting mechanism 20 to move the display 30 and the handle 60 down to the lowest retracted position (see Figure 1), so that the robot assistant 100 can have a limited height, which is beneficial to the stability during movement. The processor 51 can receive command instructions from a user (e.g., a caregiver seeking care), who requests the robot assistant 100 to provide assistance while the user is walking. Then the processor 51 can determine the height of the user and move the display 30 and the handle 60 to the extended position according to the height of the user. In this case, the extended position is not a fixed position and may vary according to the height of the user. With this configuration, the robot assistant 100 can have the flexibility to adapt to different users of different heights, which allows different users to walk and push the robot assistant 100 in a substantially upright posture.
[0081] Step S401: Rotate the display 30 in response to the third command instruction. The processor 51 can analyze each command instruction and rotate the display 30 according to the third command instruction. For example, the processor 51 can receive command instructions from a user (e.g., a caregiver seeking care) and control the robot assistant 100 to autonomously move between the determined positions. In this case, the processor 51 rotates the display 30 to its original position as shown, so that the camera 40 faces forward and can detect objects in front of the robot assistant 100, enabling the robot assistant 100 to sense the environment. The processor 51 can receive command instructions from a user (e.g., a caregiver seeking care) who requests the robot assistant 100 to provide assistance while the user is walking. The processor 51 rotates the display 30 to a position where the camera 40 faces backward and can detect the facial expression or other biometric features of the user. As a result, the robot assistant 100 can monitor the fatigue of the user. Figure 1 shown, so that the camera 40 faces forward and can detect objects in front of the robot assistant 100, enabling the robot assistant 100 to sense the environment. The processor 51 can receive command instructions from a user (e.g., a caregiver seeking care) who requests the robot assistant 100 to provide assistance while the user is walking. The processor 51 rotates the display 30 to a position where the camera 40 faces backward and can detect the facial expression or other biometric features of the user. As a result, the robot assistant 100 can monitor the fatigue of the user.
[0082] In one embodiment, the robot assistant 100 can work in different modes. For example, the robot assistant 100 can work in the first mode or the autonomous mode. In this mode, the control system 50 can perform positioning, motion planning, trajectory tracking control, and obstacle avoidance based on the data output by the sensors 72 to 76, which allows the robot assistant 100 to autonomously move between the starting position and the target position to achieve the assigned task. The robot assistant 100 can work in the second mode or the sleep mode. In this mode, the robot assistant 100 enters a low-power state and maintains this state. When the robot assistant 100 in the first mode does not receive user input within a preset time period (e.g., 10 minutes) or the robot assistant 100 is charged, the robot assistant 100 switches to the second mode. After receiving a command from the user (e.g., a voice command, a touch on the display 30, etc.), the robot assistant 100 can switch back to the first mode.
[0083] The robot assistant 100 can work in a third mode or a standing assistance mode. In this mode, the robot assistant 100 serves as a stable structure where the user can grab the handle 60 and stand up from a sitting position. After the robot assistant 100 in the first mode approaches the sitting user, the robot assistant 100 can switch to the third mode. When there is no physical task, the robot assistant 100 in the third mode can switch to the first mode. The robot assistant 100 can work in a fourth mode or a walking assistance mode. In this mode, the robot assistant 100 is ready to be pushed by the user and helps support a part of the user's body weight when the user walks. After the robot assistant 100 in the first mode approaches the standing user, the robot assistant 100 can switch to the fourth mode. When there is no physical task, the robot assistant 100 in the fourth mode can switch to the first mode.
[0084] The robot assistant 100 can work in a fifth mode or a training mode. In this mode, the robot assistant 100 is ready to be pushed by the user and helps support a part of the user's body weight when the user walks. After the robot assistant 100 in the first mode approaches the standing user, the robot assistant 100 can switch to the fifth mode. When there is no physical task, the robot assistant 100 in the fifth mode can switch to the first mode. The difference between the training mode and the walking assistance mode is that the robot assistant 100 in the training mode can apply additional resistance to the user, so that he / she has to make additional efforts to push the robot assistant 100 forward or back and forth, thereby increasing muscle strength and coordination ability given sufficient training items. In one embodiment, the base 10 can also include a brake. When the robot assistant 100 switches to the training mode, the processor 51 controls the brake to press against the moving wheels of the base 10 to generate friction. In this case, the user needs to apply more thrust to the robot assistant 100, thereby increasing muscle strength and coordination ability under sufficient training items. It should be noted that the robot assistant 100 can have more working modes than those discussed above.
[0085] In one embodiment, in the training mode, the robot assistant 100 can provide assistance / guidance for the user to perform squats. Here, squats refer to a strength training where the practitioner lowers the hips from a standing position and then stands up. Figure 9 An exemplary flowchart showing a method for controlling the robot assistant when the user performs squats is shown. The method can include the following steps.
[0086] Step S1001: Based on the image captured by the camera 40, detect the movement of the user's face in the vertical direction.
[0087] If the user wishes to obtain assistance / guidance from the robot assistant 100 during squats, he / she needs to stand near and behind the robot assistant 100. After receiving the user's squat exercise command, the processor 51 controls the display 30 to rotate so that the camera 40 can face backward to capture an environmental image behind the robot assistant 100. The processor 51 can detect the vertical movement of the user's face based on the environmental image behind the robot assistant 100. The processor 51 can compare two or more consecutively captured images.
[0088] In one embodiment, the processor 51 compares two consecutively captured images. Specifically, Figure 10 Image 1 in represents the previously captured image, and Image 2 represents the currently captured image. The processor 51 can identify the user's face in Image 1 and Image 2 and determine the positions of the faces in Image 1 and Figure 2 . In one embodiment, the position of the face refers to the center of the bounding box of the face in Images 1 and 2. By comparing the face positions in Images 1 and 2, the processor 51 can determine that the user's face has moved downward.
[0089] Step S1002: In response to detecting the vertical movement of the user's face, rotate the display 30 and activate the lifting mechanism 20 to move the display 30 up and down to allow the camera 40 to face the user's face during the vertical movement of the user's face.
[0090] In one embodiment, when the user's face moves downward, the processor 51 controls the lifting mechanism 20 to move the display 30 downward by a predetermined distance, and when the user's face moves upward, controls the lifting mechanism 20 to move the display 30 upward by a predetermined distance. The processor 51 then rotates the display 30 until the camera 40 faces the user's face. In this way, the camera 40 can keep facing the user's face, which allows the user's face to continuously appear in the middle of the display 30 to obtain a better display operation experience.
[0091] Reference Figure 11 , in one embodiment, rotating the display 30 may include the following steps. Step S2001: Determine the key points of the user's face in the current image captured by the camera 40.
[0092] Reference Figure 12 , in one embodiment, the key points can be the center between the user's eyes, the center of the user's mouth, the tip of the user's nose, etc. In this embodiment, the key point is the center P between the user's eyes. The processor 51 can first determine the centers of the user's eyes and then determine the midpoint of the line segment formed by connecting the two centers of the user's eyes. Then the midpoint is determined as the key point.
[0093] In one embodiment,Figure 12 Points A, B, C, and D therein represent the four vertices of the bounding box, and the position of the key point P can be calculated according to the following formula: and where P x represents the x - coordinate of the key point P, and A x , B x , C x , and D x represent the x - coordinates of vertices A, B, C, and D. P y represents the y - coordinate of the key point P, and A y , B y , C y , and D y represent the y - coordinates of vertices A, B, C, and D. In one embodiment, when , it is determined that the user's face is located in the middle of the display 30, where H represents Figure 12 the height of the image shown in Figure 12 The coordinate system in
[0094] Step S2002: Determine the angle between the line passing through the key point P and the camera center and the optical axis of the camera 40.
[0095] Figure 13 is a schematic diagram showing a simplified model of the robot assistant 100, where the camera 40 faces backward. The simplified model of the robot assistant 100 has a vertical translation degree of freedom (DOF) and a rotational degree of freedom. A coordinate system x3y3z3 is established with the camera center as the origin C. The z - axis of the coordinate system x3y3z3 extends along the optical axis of the camera 40, and this optical axis is a line starting from the focus and perpendicular to the image plane. In one embodiment, the pinhole camera model is used to model the camera 40. As Figure 14a and 14b shown, in this model, conceptually, all light passes through a small pinhole and illuminates the image plane below it. The image formed on the image plane follows the laws of projective geometry. The pinhole of the pinhole camera model is defined as the "camera center" above. Therefore, Figure 13 the angle θ obj between the z - axis in obj and the line segment CP is the angle between the line passing through the key point P and the camera center and the optical axis of the camera 40. The angle θ
[0096] Calculate the angle θ obj The principle is as described below. Figure 14a is a diagram showing the relationship between the user's face and the image of the user's face in the image plane when the user stands at a predetermined position from the camera center C.Figure 14b is a diagram showing the relationship between a user's face and an image of the user's face in the image plane when the user stands at a random current position. In Figure 14a and 14b , the user's face is represented by line segment AD, which is perpendicular to the main axis passing through the camera center C and perpendicular to the image plane. The projection point of line segment AD on the main axis is represented by M 0 and M 1 . Point M 0 and M 1 are mapped / projected to N 0 and N 1 in the image plane. Endpoints A and D are mapped / projected to A Figure 14a and D 0 in the image plane of 0 , and are mapped / projected to A Figure 14b and D 1 in the image plane of 1 . Figure 14a and 14b The key point P in is mapped / projected to Q Figure 14a , 14b Q in the image plane of 0 and Q 1 in. According to the triangle similarity theorem, and where f focal_length represents the distance between the camera center and the image plane. From these two equations, the following equation can be obtained: According to the triangle similarity theorem, Since and the following formula can be obtained: AD and M 0 C can be measured in advance, A 0 D 0 is determined by counting the number of pixels between points A 0 and D 0 , N 1 Q 1 is determined by counting the number of pixels between points N 1 and Q 1 . In this way, the pitch angle θ 1 obj of the user's face at a random current position behind the robot assistant 100 can be determined.
[0097] Step S2003: Determine the moving direction of the user's face in the vertical direction. In one embodiment, the processor 51 can determine the moving direction of the user's face in the vertical direction by comparing two or more consecutively captured images, which has been combined with Figure 10discussion has been carried out.
[0098] Step S2004: Activate the lifting mechanism and move the display up or down according to the moving direction of the user's face in the vertical direction. Specifically, the lifting mechanism 20 is controlled to move the display 30 downward by a predetermined distance when the user's face moves downward, and is controlled to move the display 30 upward by a predetermined distance when the user's face moves upward.
[0099] Step S2005: Rotate the display 30 based on the moving direction of the user's face in the vertical direction and the angle between the line passing through the key point P and the camera center and the optical axis of the camera 40. In one embodiment, the processor 51 rotates the display 30 while controlling the lifting mechanism 20 to move the display 30 up or down by a predetermined distance until the camera 40 faces the user's face.
[0100] Reference Figure 15 , in one embodiment, the control system 50 may include a visual servo system, and the visual servo system includes a proportional integral derivative (PID) controller. The PID controller may receive the difference between the target position of the key point P and the current position of the key point P. The target position here is the position where the key point P is located in the middle of the display 30, that is, (see Figure 12 ). The PID controller may include a proportional controller that applies an appropriate proportional change to the difference between the target position of the key point P and the current position of the key point P. The PID controller may include an integral controller that checks the offset between the position of the key point P over time and the target position of the key point P and then corrects the controller output if necessary. The PID controller may include a derivative controller that monitors the rate of change of the position of the key point P and changes the controller output accordingly when an abnormal change occurs.
[0101] The control system 50 may include a torso control system that receives the controller output from the PID controller of the visual servo system. The pitch angle θ of the user's face at the current position standing behind the robot assistant 100 1 obj is also input into the torso control system. The torso control system may include a PID speed controller for controlling the lifting mechanism 20. After determining the moving direction of the user's face, the PID speed controller controls the lifting mechanism 20 to move the display 30 up or down by a determined distance, which results in the pitch angle θ 1 obj to decrease θ 1” obj . The torso control system may include a PID position controller for controlling the rotation of the display 30 to make the pitch angle θ 1 obj to decrease θ 1'obj 。θ 1' obj and θ 1” obj satisfy the following equation: θ 1' obj + θ 1” obj = θ 1 obj Therefore, after the display 30 is moved upward or downward by a determined distance and rotated by an angle θ 1' obj the pitch angle θ 1 obj equals 0, which means that the key point P has moved from the current position to the target location.
[0102] The control system 50 may include a dual - mode controller that can receive the output from a PID position controller to rotate the display 30. The dual - mode controller can also release the motor 302 so that the display 30 can be manually rotated by the user. Figure 16 is a flowchart of a method for controlling the display 30 in automatic control mode and manual control mode. The method may include the following steps.
[0103] Step S3001: Receive an angle signal from the PID position controller.
[0104] The dual - mode controller receives the angle signal from the PID position controller to rotate the display 30 by an angle θ 1' obj .
[0105] Step S3002: Measure the current of the motor 302 used to rotate the display 30.
[0106] When no external force is applied to the display 30, the current of the motor 302 will be less than the minimum threshold. When the user applies an external force to the display 30 to manually rotate the display 30, the current of the motor 302 will be greater than the maximum threshold. By measuring and monitoring the current of the motor 302, it can be determined whether the user has applied an external force to the display 30.
[0107] Step S3003: Determine whether the current is greater than the threshold within a preset time.
[0108] For example, if the current is greater than the maximum threshold for 2 seconds, it is determined that the user has applied an external force to the display 30. If so, the process proceeds to step S3004; otherwise, the process proceeds to step S3005.
[0109] Step S3004: Release the motor 302 for manual operation.
[0110] After detecting an external force from the user, the processor 51 will release the motor 302. For example, the motor 302 can be separated from the display 30, thereby releasing the display 30 and allowing the user to manually rotate the display 30.
[0111] Step S3005: Continue to send a position command to the motor 302.
[0112] If no external force is applied to the display 30, the processor 51 will continue to send a position command to the motor 302 so that the display 30 can be rotated to the desired position according to the angle signal from the PID position controller.
[0113] Step S3006: Measure the current of the motor 302 used to rotate the display 30.
[0114] After releasing the motor 302, the current of the motor 302 will be measured and monitored, so that it can be determined whether an external force is still applied to the display 30.
[0115] Step S3007: Determine whether the current is less than a threshold value within a preset time period.
[0116] When the current is less than the minimum threshold for a preset time period (e.g., 2 seconds), it is determined that the external force applied to the display 30 has stopped; otherwise, it is determined that the external force is still applied to the display 30. If the current is less than the minimum threshold within the preset time period, the process returns to step S3002. If the current is not less than the minimum threshold for the preset time period, the process returns to step S3006.
[0117] Figure 16 The method shown allows the display 30 to automatically rotate to the position where the camera 40 faces the user's face, and allows the user to manually rotate the display 30 to the desired position. After the external force stops, the display 30 will switch from the manual control mode to the automatic control mode.
[0118] It should be understood that the above disclosure details several embodiments of the robot assistant 100 that can provide walking assistance and fall prevention. As described above, the robot assistant 100 can be used in a living or medical setting. However, the present disclosure is not limited thereto. In other exemplary use scenarios, the robot assistant 100 can be used in a hospital.
[0119] With the above configuration, the robotic assistant 100 can promote an active lifestyle for the elderly. The robotic assistant 100 can get them to do more exercise to maintain their mobility. Moving around also provides the elderly with more opportunities to interact with other people (especially in elderly care facilities or assisted living facilities), thus reducing their sense of isolation. When the user doing squats stands correctly behind the robotic assistant 100, the camera can be controlled to always face the user's face, which allows the user's face to appear in the center of the display 30. The robotic assistant 100 can provide guidance / assistance by displaying information (such as the number of squats) on the display 30.
[0120] Reference Figure 17 and 18 , in one embodiment, the robotic assistant 100 may further include a foldable seat 90 rotatably connected to the first housing 201 (also referred to as the main body 201), and an actuator 80 (see Figure 21 ), which is configured to rotate the foldable seat 90 relative to the main body 201. The seat 90 can rotate between a folded position (see Figure 17 ) and an unfolded position (see Figure 18 ). The seat 90 in the unfolded position allows a user to sit thereon and rest.
[0121] The processor 51 can analyze each command instruction and rotate the seat 90 to the folded or unfolded position. The processor 51 can receive command instructions from a user (e.g., a caregiver seeking) to rotate the seat 90 to the unfolded position so that the user can sit on the seat 90. In addition, when certain conditions are met, the processor 51 can rotate the seat 90. For example, when the processor 51 determines that the user is fatigued based on the output of the camera 71, the processor 51 can rotate the seat 90 to the unfolded position so that the user can sit on the seat 90. The processor 51 can receive touches on the touch-sensitive display 30 and voice commands through the microphone 83 and rotate the seat 90 accordingly.
[0122] Reference Figure 19 and 20 , in one embodiment, the seat 90 may include a hollow seat body 91, and the actuator 80 is disposed within the seat body 91. The seat body 91 may include a seat base 921 and a seat cover 922 connected to the seat base 921. The actuator 80 is disposed within the space defined by the seat base 921 and the seat cover 922.
[0123] In one embodiment, the robotic assistant 100 may include two supports 202 and 203 fixed to a base 10. For example, the base 10 may include an upper cover 101, and the two supports 202 and 203 are mounted on the upper cover 101. The two supports 202 and 203 are substantially perpendicular and spaced apart from each other. The two supports 202 and 203 are received in a first housing 201, and a seat 90 is disposed between the supports 202 and 203 and rotatably connected to the supports 202 and 203.
[0124] Reference Figure 20 - 22 , in one embodiment, the robotic assistant 100 may include a first connecting shaft 93 connected to the support 202. The actuator 80 includes a rotary output shaft 801, and the first connecting shaft 93 is coaxially connected to the rotary output shaft 801. In this embodiment, a through hole may be formed in the upper end of the support 202, and the first connecting shaft 93 passes through the through hole. Specifically, the first connecting shaft 93 may include a rod portion 931 and a head portion 932, and the head portion 932 is formed at one end of the rod portion 931 and has a diameter larger than that of the rod portion 931. The head portion 932 abuts against the support 202 and may be fixed to the support 202 by a fastener such as a screw. Therefore, the first connecting shaft 93 is stationary relative to the support 202. In this embodiment, the first connecting shaft 93 is substantially horizontal.
[0125] In one embodiment, the actuator 80 includes an actuator body 802, and the rotary output shaft 801 projects from the surface of the actuator body 802. The actuator body 802 is fixed to the seat cover 922. Since the first connecting shaft 93 is stationary relative to the support 202 and the first connecting shaft 93 is coaxially connected to the rotary output shaft 801, when the actuator 80 operates, the seat 90 can rotate relative to the first connecting shaft 93 and the output shaft 801 together with the actuator body 802.
[0126] In one embodiment, the actuator 80 can be fixed to the seat cover 922 by a first connecting member 941 and a second connecting member 942. The first connecting member 941 can include a vertical piece 9411 defining a through hole and a horizontal piece 9412 fixed to the seat cover 922. The first connecting shaft 93 passes through the through hole at the upper end of the support member 202, the through hole on the seat base 921, and the through hole on the vertical piece 9411. The second connecting member 942 can include a main body 9421 and a plurality of legs 9422 protruding from the first side of the main body 9421. The legs 9422 are spaced apart from each other and fixed to the vertical piece 9411. The actuator body 802 is fixed to the second side of the main body 9421 opposite to the first side. In one embodiment, the main body 9421 can be defined with a through hole. The end of the rotary output shaft 801 passes through the through hole of the main body 9421 and is connected to the first connecting shaft 93. In one embodiment, the end of the rotary output shaft 801 can include a first disk 803, and the first connecting shaft 93 can include a second disk 933 at its end. The first disk 803 and the second disk 933 can be connected to each other by a fastener such as a screw. The first connecting shaft 93 is thus coaxially connected to the rotary output shaft 801.
[0127] Reference Figure 23 , in one embodiment, the robotic assistant 100 can include a second connecting shaft 95 connecting the second support member 203. In this embodiment, a through hole can be formed at the upper end of the support member 203, and the second connecting shaft 95 passes through the through hole. Specifically, the second connecting shaft 95 can include a rod portion 951 and a head portion 952, and the head portion 952 is formed at one end of the rod portion 951 and has a diameter larger than that of the rod portion 951. The head portion 952 abuts against the support member 203 and can be fixed to the support member 203 by a fastener such as a screw. The second connecting shaft 95 is thus stationary relative to the support member 203. In this embodiment, the second connecting shaft 95 is substantially horizontal.
[0128] The seat 90 is supported by the second connecting shaft 95 and can rotate relative to the second connecting shaft 95. In one embodiment, the seat 90 is rotatably connected to the second connecting shaft 95 by a third connecting member 943. Specifically, the third connecting member 943 can include a vertical piece 9431 defining a through hole and a horizontal piece 9432 fixed to the seat cover 922. The second connecting shaft 95 passes through the through hole at the upper end of the support member 203, the through hole on the seat base 921, and the through hole on the vertical piece 9431. The second connecting shaft 95 and the first connecting shaft 93 extend along the same rotation axis, and the seat 90 rotates around this rotation axis.
[0129] In one embodiment, the robotic assistant 100 may further include a torsion spring 96 disposed around the second connecting shaft 95. The torsion spring 96 has two free ends that respectively abut against the foldable seat 90 and the second connecting shaft 95. The torsion spring 96 is preloaded such that the additional spring force generated when the seat 90 is folded can counteract the force applied to the seat 90 (e.g., the thrust from the user). In one embodiment, the spring seat 944 is fixed to the distal end of the second connecting shaft 95, and the torsion spring 96 is disposed between the spring seat 944 and the vertical piece 9431. One leg 961 of the torsion spring 96 abuts against the horizontal piece 9432, while the other leg 962 is fitted in a groove 9441 defined in the spring seat 944, thereby fixing the torsion spring 96.
[0130] In one embodiment, the robotic assistant 100 may further include an elastic member disposed between the third connecting member 943 and the second connecting shaft 95. Specifically, the third connecting member 943 may include a protrusion 9433 that protrudes from the horizontal piece 9432 and extends away from the vertical piece 9431. In this embodiment, the elastic member is a spring pin 945 that is received in a hole of the spring seat 944. The upper end of the elastic member abuts against the protrusion 9433. The elastic member applies a thrust to the foldable seat 90, thereby applying a torque to the foldable seat during the rotation of the foldable seat 90 from the folded position to the unfolded position to compensate for gravity.
[0131] Referring back to Figure 20 , in one embodiment, the seat base 921 may define two chambers 9211 and 9212. The actuator 80, the first connecting member 941, and the second connecting member 942 are accommodated in the chamber 9211, and the first connecting shaft 93 extends into the chamber 9211 to be connected to the rotational output shaft 801. The third connecting member 943, the spring seat 944, the torsion spring 96, and the elastic member 97 are accommodated in the chamber 9212, and the second connecting shaft 95 extends into the chamber 9212.
[0132] Referring to Figure 24 , in one embodiment, the seat base 921 may define a storage space 9213 on the lower side and include a door 9214 rotatably connected to the seat base 921. The door 9214 is configured to keep the storage space 9213 closed. The storage space 9213 is used to store items such as medicines, devices, and food.
[0133] Referring back to Figure 17, in one embodiment, the robotic assistant 100 may further include a light sensor 78 disposed within the base 10. For example, the light sensor 78 may be disposed within a through-hole defined in the base 10. The light sensor 78 is electrically connected to the control system 50. The control system 50 may control the actuator 80 to rotate the foldable seat 90 to the deployed position in response to the light sensor 78 detecting the presence of a user within a preset time period. For example, after the presence of the user's leg is detected in the field of view (FOV) of the light sensor 78 for three seconds, the control system 50 controls the actuator 80 to rotate the foldable seat 90 to the deployed position. The light sensor 78 may be an infrared (IR) sensor. It should be noted that in other embodiments, multiple IR sensors may be used to provide a wide range of detection.
[0134] Reference Figure 25 , in one embodiment, a method for controlling the robotic assistant 100 may include the following steps.
[0135] Step S251: Receive an instruction indicating rotation of the folding seat.
[0136] The control system 50 may receive a command from the user, which may be a touch input command, a voice command, etc. The processor 51 may receive the command when certain conditions are met. For example, the processor 51 may receive the command after detecting the presence of the user's leg in the field of view (FOV) of the light sensor 78 for three seconds.
[0137] Step S252: According to the instruction indicating rotation of the foldable seat, send a position instruction to the actuator to rotate the foldable seat to the desired position.
[0138] The processor 51 may analyze the instruction indicating rotation of the foldable seat 90 and send a position instruction to the actuator 80. For example, if the instruction indicates that the foldable seat 90 rotates to the deployed position, the processor 51 may send a position instruction to the actuator 80 to rotate the foldable seat 90 to the deployed position indicated by the instruction. In one embodiment, the actuator 80 may be a servo motor, and the processor 51 may control the actuator 80 to operate in the position mode. In the position mode, the processor 51 needs to continuously send position instructions to the actuator 80 so that the actuator 80 can drive the foldable seat 90 to rotate to and remain in the desired position. When the actuator 80 receives the position instruction, the output shaft of the actuator will rotate to the angular position corresponding to the position instruction, and the actuator 80 will attempt to hold the output shaft at that angular position even if an external force pushes it.
[0139] Step S253: Detect whether an external force acts on the foldable seat.
[0140] In one embodiment, the processor 51 may determine whether an external force acts on the foldable seat 90 based on the current of the actuator 80. In this embodiment, the external force refers to the force exerted by the user to apply torque to the foldable seat. For example, the user may push the foldable seat 90 in certain situations, thereby generating torque on the foldable seat 90. In one embodiment, step S253 may include the following steps.
[0141] Step S2531: Measure the current of the actuator.
[0142] Step S2532: In response to the current of the actuator being greater than a preset value and lasting for a preset time, determine that an external force acts on the foldable seat.
[0143] The torque generated by the external force acting on the foldable seat 90 is proportional to the current of the actuator 80. The processor 51 may monitor the current of the actuator 80 and determine that an external force has been applied to the foldable seat when the current of the actuator 80 is greater than the preset value for a preset time period (e.g., 2 seconds). Otherwise, the processor 51 determines that no external force acts on the foldable seat 90. When an external force acts on the foldable seat, the process proceeds to step S254, and when no external force acts on the foldable seat, the process proceeds to step S255.
[0144] Step S254: In response to detecting the external force, release the actuator to allow the foldable seat to be manually rotated.
[0145] As described above, the actuator 80 in the position mode will attempt to hold its output shaft at that angular position even if an external force pushes it. After determining that an external force acts on the foldable seat 90, the processor 51 may send a signal to release the position control of the actuator 80 to allow the output shaft to rotate due to the external force applied to the foldable seat 90. As a result, the user can manually rotate the foldable seat 90 to the desired position.
[0146] Step S255: Send a position command to the actuator.
[0147] When no external force acts on the foldable seat, the processor 51 sends a position command to the actuator 80 to hold the foldable seat at the desired position. Then, the process returns to step S253.
[0148] In one embodiment, after step S254, the method may further include the following steps: measuring the current of the actuator 80; determining the position of the foldable seat 90; in response to the foldable seat 90 being in the folded position or the unfolded position, performing compliant control on the foldable seat 90 to compensate for the external force. The compliant control enables the foldable seat 90 to respond gently to the user's manual operation.
[0149] Figure 26An exemplary dynamic model of the foldable seat 90 is shown. The dynamic model is a single-joint model and can be expressed as: where τ represents torque, θ l represents the angular position of the foldable seat 90, m represents the mass of the foldable seat 90, k s represents the torsional spring constant, F ext represents the external force applied by the user to the foldable seat 90, c represents the center of rotation about which the foldable seat 90 rotates, l represents the perpendicular distance from the center of rotation to the external force F ext J l represents the axial inertia of the seat 90 with respect to the axis of rotation, β l represents the damping coefficient proportional to the velocity.
[0150] In one embodiment, the position control of the dynamic model can be achieved by using a PD controller based on the following equation: where I represents the current of the actuator 80, θ ld represents the desired angular position of the foldable seat 90, θ l represents the current angular position of the foldable seat 90, k p represents the proportional gain, k d represents the derivative gain, k t represents the torque constant. When an external force is applied to the foldable seat 90, it will conform to the external force and respond softly to it, which can be achieved using admittance control. Specifically, as Figure 27 shown in the overall scheme of, the current angular position θ l_0 of the foldable seat 90 is input into the admittance controller, and the admittance controller outputs the angular position difference to obtain a new desired angular position θ l_d , which is input into the seat position control module. Then, the seat position control module generates the torque τ l_d of the actuator 80 based on the new desired angular position θ m , and this torque is input into the dynamic model of the foldable seat 90. The external force F ext from the user is input into the admittance controller, and this external force can be estimated using the above equations related to the dynamic model based on the measured current of the actuator 80. The dynamic model of the foldable seat 90 also outputs the actual angular position of the foldable seat to the seat position control module.
[0151] Based on Figure 26 the dynamic model of and Figure 27 the admittance scheme of, after step S254, the method may further include the steps as Figure 28 shown.
[0152] Step S281: Measure the current of the actuator 80.
[0153] Step S282: Determine the position of the foldable seat 90.
[0154] The processor 51 can determine the position of the foldable seat 90 based on the output of the rotary encoder installed on the actuator 80, and provide feedback to the processor 51 by tracking the angular position of the output shaft of the actuator 80. If the foldable seat is in the folded or unfolded position, the process proceeds to step S283. Otherwise, the process returns to step S253.
[0155] Step S283: The admittance controller outputs a new desired angular position θ l_0 to the seat position control module according to the current angular position θ l_d of the foldable seat 90. In one embodiment, when the foldable seat 90 is in the unfolded position, the current angular position θ l_0 is set to 10 degrees, and when the foldable seat 90 is in the folded position, the current angular position θ l_0 is set to 100 degrees.
[0156] Step S284: The seat position control module generates the torque τ m of the actuator 80 and outputs the torque τ m to the seat mechanism dynamics.
[0157] Step S285: Input the external force F ext of the user to the admittance controller. The directional effect of the external force is to increase the motor current, thereby generating a high torque, and this new torque will be calculated by the dynamic model. The admittance controller will calculate and update the new "desired" angular position according to the external force and the dynamic model.
[0158] In contrast to rigid control, where the desired position command is tracked and any deviation from such a reference position is quickly compensated, compliant control allows deviation from such a reference position. However, compliant control enables the foldable seat 90 to finally rotate to the desired position even after the external force is no longer acting on the foldable seat 90. Through compliant control, the robotic assistant 100 can measure the current of the actuator and adjust the torque of the actuator to compensate for the external force when the user releases the actuator.
[0159] It should be noted that the compliant control demonstrated in steps S283 - S285 is only an example and can be varied according to actual needs. For example, a mechanical damping system can be used for compliant control.
[0160] For purposes of explanation, the foregoing description has been presented with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
Claims
1. A robot assistant, characterized in that, Comprising: A base; A main body positioned on the base; A foldable seat rotatably connected to the main body; An actuator configured to rotate the foldable seat relative to the main body; A control system for receiving command instructions, the actuator being electrically connected to the control system; Wherein, in response to the command instructions, the control system is configured to control the actuator to rotate the foldable seat to a folded position or an unfolded position; Wherein, the control system is further configured to detect whether there is an external force applied by a user to the foldable seat that exerts a torque on the foldable seat, and to release the actuator in response to detecting the external force to allow manual rotation of the foldable seat.
2. The robot assistant according to claim 1, characterized in that, The foldable seat includes a hollow seat body, and the actuator is disposed within the seat body.
3. The robot assistant according to claim 1, characterized in that, Further comprising two support members fixed to the base and a first connecting shaft connected to one of the two support members, wherein the actuator includes a rotational output shaft, and the first connecting shaft is coaxially connected to the rotational output shaft.
4. The robot assistant according to claim 1, characterized in that, Further comprising two support members fixed to the base, a second connecting shaft connected to one of the two support members, and a torsion spring, wherein the foldable seat is rotatable relative to the second connecting shaft, the torsion spring is sleeved on the second connecting shaft, and the torsion spring includes two ends respectively abutting against the foldable seat and the second connecting shaft.
5. The robot assistant according to claim 1, characterized in that, The foldable seat includes a seat body, the seat body includes a base and a seat cover, the base defines a storage space on the lower side, and includes a door rotatably connected to the base, the door being configured to keep the storage space closed.
6. The robot assistant according to claim 1, characterized in that, Further comprising a light sensor disposed within the base, wherein the light sensor is electrically connected to the control system, and the control system is configured to control the actuator to rotate the foldable seat to the unfolded position in response to the light sensor detecting the presence of a user within a preset time period.
7. A robotic assistant, comprising: A base; A foldable seat rotatable relative to the base; An actuator configured to rotate the foldable seat relative to the base; One or more processors; A memory; And One or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, the one or more programs including: Instructions for receiving a command indicating rotation of the foldable seat; Instructions for sending a position command to the actuator to rotate the foldable seat to a desired position based on the command indicating rotation of the foldable seat; Instructions for detecting whether the foldable seat is subjected to an external force that exerts a torque on the foldable seat from a user; and Instructions for releasing the actuator to allow the foldable seat to be manually rotated in response to detecting the external force in response to detecting the external force.
8. The robot assistant according to claim 7, characterized in that, The instructions for detecting whether the foldable seat is subjected to an external force include: Instructions for measuring the actuator current; and Instructions for determining that an external force has been applied to the foldable seat in response to the current of the actuator being greater than a preset value within a preset time period.
9. A method for controlling a robotic assistant, the method comprising: Providing a base; Providing a foldable seat rotatable relative to the base; Providing an actuator configured to rotate the foldable seat relative to the base; Receive a command indicating rotation of the foldable seat; Send a position command to the actuator to rotate the foldable seat to a desired position according to the command indicating rotation of the foldable seat; Detect whether an external force is applied to the folding seat; Release the actuator to allow the foldable seat to be manually rotated in response to detection of an external force; Measure the current of the actuator; Determine the position of the foldable seat; and In response to the foldable seat being in a folded position or an unfolded position, perform compliant control on the foldable seat to compensate for an external force determined based on the current of the actuator.
Citation Information
Patent Citations
Elderly home auxiliary intelligent wheelchair based on the Internet of Things and control method
CN113317937A
Electric reclining seat
JP2007190356A
Seating function monitoring and coaching system
US20150209207A1
robot
US20210145670A1