This application is related to robot cleaner. More specifically, this application relates to robot cleaners capable of climbing and cleaning stairs and methods for controlling a robot cleaner to climb and clean stairs.
A conventional robot cleaner can inhale and clean dirt and trash on a floor when automatically running on a substantially flat floor. However, such a conventional robot cleaner faces challenges in a multi-level home featuring more than one floor of living areas. Mostly, staircases are used to connect multiple levels or stories. In such cases, the conventional robot cleaner cannot automatically perform cleaning operations for all areas of the multi-level home (e.g., stairs and floors not on the same level). To use the conventional robot cleaner to clean the areas that are not on the same level, a homeowner will have to manually move the robot cleaner from one level of surface to the other level of surface; otherwise, the homeowner may use a plurality of robot cleaners each responsible to cleaning a distinct level of area. Due to these limitations, the conventional robot cleaner is not sufficiently functional for cleaning multi-level surfaces. Therefore, there is an unmet need for a robot cleaner that can automatically clean multi-level areas including stairs connecting upstairs and downstairs.
Embodiments of the disclosure provide a robot cleaner capable of climbing and cleaning stairs and a method for controlling a robot cleaner to climb and clean stairs. The disclosed embodiments address the above problems with a solution for automatically ascending/descending stairs to access areas in different levels with a single robot cleaner is needed.
Embodiments of the disclosure provide an exemplary method for controlling a robot cleaner to climb a stair. The robot cleaner includes a main body, at least one leg, and at least one connector connecting each leg to the main body. The method includes rotating the main body relative to the at least one leg to be substantially vertical to a thread of the stair. The method further includes rotating the main body to lay flat on the tread. The method also includes rotating the at least one leg to align with the at least one connector. The method additionally includes rotating the at least one leg to lay flat on the tread.
Embodiments of the disclosure further provide an exemplary controller for controlling a robot cleaner to climb a stair. The robot cleaner includes a main body, at least one leg, and at least one connector connecting each leg to the main body. The controller is configured to actuate operations of the robot cleaner. The operations include rotating the main body relative to the at least one leg to be substantially vertical to a thread of the stair. The operations further include rotating the main body to lay flat on the tread. The operations also include rotating the at least one leg to align with the at least one connector. The operations additionally include rotating the at least one leg to lay flat on the tread.
Embodiments of the disclosure also provide an exemplary non-transitory computer-readable medium, storing instructions that, when executed by a processor, cause the processor to perform a method for controlling a robot cleaner to climb a stair. The method includes rotating a main body of a robot cleaner relative to at least one leg of the robot cleaner to be substantially vertical to a thread of a stair. The method further includes rotating the main body to lay flat on the tread. The method also includes rotating the at least one leg to align with at least one connector of the robot cleaner. The method additionally includes rotating the at least one leg to lay flat on the tread. The robot cleaner includes the main body, the at least one leg, and the at least one connector connecting each leg to the main body.
It is to be understood that both the foregoing general description and the following detailed description are examples only and are not restrictive of the present disclosure.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate examples consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
Reference will now be made in detail to specific implementations, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
The various parts may be driven by motors to rotate around the output shafts of the respective motors. For instance, main body 101 may include motors driving main body 101 to rotate around their output shafts so that main body 101 rotates relatively to left connector 104 or right connector 105. Left leg 102 and right leg 103 each include a motor driving left leg 102 or right leg 103 to rotate around the motor's output shaft so that left leg 102 or right leg 103 each rotates relatively to left connector 104 or right connector 105, respectively. In some embodiments, the motors used in robot cleaner 100 may be servo motors. A servo motor is a self-contained electrical device that moves parts of a machine with high efficiency and great precision. A servo motor may include a sensor for positional feedback, which allows the output shaft to be moved to a particular angle, position, and velocity that a regular motor cannot do. These servo motors can provide precise control of rotation of its shaft and efficient motion of the parts with adaptive static or dynamic torque for the parts in robot cleaner 100. However, it is to be understood that the motors are not limited to servo motors, and the motors can be in any type such as stepper motors.
Back to
In some embodiments, main body 101 of robot cleaner 100 may include sensing units to perform environmental sensing, path planning, or indoor positioning that facilitates automatic cleaning functions (e.g., vacuum or mopping). As shown in
As shown in
Control unit 216 may include components (not shown) such as a communication interface, a processor, a memory, and a storage for performing various control functions. In some embodiments, control unit 216 may have different modules in a single device, such as an integrated circuit (IC) chip (implemented as, for example, an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA)), or separate devices with dedicated functions. In some embodiments, the processor may include any appropriate type of general-purpose or special-purpose microprocessor, digital signal processor, or microcontroller. The memory or storage may be a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other type of storage device or tangible (i.e., non-transitory) computer-readable medium including, but not limited to, a ROM, a flash memory, a dynamic RAM, and a static RAM. For example, the memory and/or the storage may be configured to store program(s) that may be executed by the processor to control the operations of the various parts of robot cleaner 100.
An output shaft (e.g., shaft 218) of motor 217 may attach to one end of right connector 105. When control unit 216 controls motor 217 to rotate shaft 218, shaft 218 may drive right connector 105 to rotate relative to main body 101. The other end of right connector 105 attaches to an output shaft (e.g., shaft 231) of motor 232 mounted on right leg 103. Right connector 105 therefore serves as a bridge between right leg 103 and main body 101. Consistent with some embodiments, motor 217 or motor 232 may be a servo motor or any other type of motor.
Right leg 103 has a similar but mirroring structure to left leg 102. Consistent with some embodiments, motor 232 is mounted to right leg 103. When motor 232 drives shaft 231 to rotate, right connector 105 rotates along with shaft 231 relative to right leg 103. Right leg 103 may further include a battery 233, wheels 234, and a control unit (not shown in
Consistent with some embodiments, control unit 216 may be a central processing unit that locates inside of main body 101, as shown in
In step S402 of method 400, when control unit 216 detects a stair (e.g., a first step of stairs 301 in
Consistent with some embodiments, robot cleaner 100 needs to position itself near or touch the stairs before initializing the climbing process, as shown in
In step S404 of method 400, control unit 216 may initialize the climbing process after detecting the stairs based on the received sensing information from the sensing units. In some embodiments, control unit 216 may send control signals to the motors mounted on main body 101 (e.g., motors 212 and 217). After receiving the signals, motors 212 and 217 each may drive the corresponding output shaft (e.g., shaft 211 and shaft 218) to rotate 90 degrees in opposite directions. For example, shaft 211 may rotate counterclockwise, and shaft 218 may rotate clockwise. As a result of the rotation of the shafts, main body 101 rotates relative to the connectors (e.g., left connector 104 and right connector 105) and backwards from the stairs. In some embodiments, main body 101 may rotate relative to the connectors by 90 degrees. For example,
In step S406 of method 400, control unit 216 may send control signals to the motors mounted on the legs (e.g., motors 221 and 232). After receiving the signals, motors 221 and 232 each may drive the corresponding output shaft (e.g., shaft 225 and shaft 231) to rotate about 90 degrees in opposite directions. For example, shaft 225 may rotate clockwise, and shaft 231 may rotate counterclockwise. As a result of the rotation of the shafts, the connectors (e.g., left connector 104 and right connector 105) and main body 101 rotate together relative to the legs (e.g., left leg 102 and right leg 103). The connectors and main body 101 remain relatively stationary to each other during the rotation. In some embodiments, the connectors and main body 101 may rotate 90 degrees relative to the legs. For example,
In some embodiments, stairs may vary in height. To accommodate different heights of the stairs, control unit 216 may adjust the length of the connectors during the climbing process so that main body 101 can raise to the same height of the stair. For example, connectors 104 and 105 may be retractable. A linear actuator may be mounted to each contractor to operate an adjustment of the length of the connector. In some embodiments, control unit 216 may send a positive or negative voltage signal to each actuator to activate the embedded actuator to increase or decrease the length of the corresponding connector. For example, before triggering motors 221 and 232 or during the rotation of motors 221 and 232, control unit 216 may control the linear actuators each embedded in the corresponding connector to increase the length of the connector. When the connectors reach a vertical posture as shown in
In step S408 of method 400, control unit 216 may send a control signal to one of the motors (e.g., motor 221 or motor 232) mounted on the corresponding leg (e.g., left leg 102 or right leg 103). For example, if control unit 216 sends the control signal to motor 221 mounted on left leg 102, motor 221 may drive its output shaft (e.g., shaft 225) to rotate in an opposite direction (e.g., opposite to the rotation direction in step S406). Left leg 102 may rotate 90 degrees around shaft 225 till aligning with left connector 104 as shown in
In step S410 of method 400, after one of the legs (e.g., left leg 102) aligns with the corresponding connector (e.g., left connector 104), control unit 216 may send a control signal to one of the motors mounted on main body 101 (e.g., motor 212). After receiving the signal, motor 212 may drive its output shaft (e.g., shaft 211) to rotate 270 degrees in the same direction (e.g., same with the rotation direction in step S404). Left connector 104 and left leg 102 may rotate together around shaft 211 till aligning with main body 101 as shown in
After one leg and the corresponding connector (e.g., left leg 102 and left connector 104) realign with main body 101, control unit 216 may repeat steps S408 and S410 of method 400 to align the other leg and the corresponding connector (e.g., right leg 103 and right connector 105) with main body 101. For example, control unit 216 may send a control signal to motor 232. After receiving the signal, motor 232 may drive its output shaft (e.g., shaft 231) to rotate in an opposite direction (e.g., opposite to the rotation direction in step S406). As a result, right leg 103 may rotate 90 degrees around shaft 231 to align with right connector 105, as shown in
It is to be understood that left leg 102 and right leg 103 may be rotated one after another in any order. That is, after step S406, control unit 216 may first send a control signal to motor 232 mounted on right leg 103 to control right leg 103 to align with right connector 105, and then send a control signal to motor 217 to drive right connector 105 rotate with right leg 103 till aligning with main body 101. After right leg 103 and right connector 105 aligning with main body 101, control unit 216 may send a control signal to motor 221 mounted on left leg 102 to control left leg 102 to align with left connector 104, and then send a control signal to motor 212 to drive left connector 104 rotate with left leg 102 till aligning with main body 101.
Consistent with some embodiments, robot cleaner 100 may align the legs and the connectors with main body 101 in an order as shown in
In some embodiments, main body 101 may be heavier than the legs or the connectors, because main body 101 houses more components than other parts (e.g., legs, connectors). When main body 101 rotates relative to the legs or the connectors, a gravity center of robot cleaner 100 may move quickly that may impact the stability and flexibility of ascending and descending the stairs. To improve stability, robot cleaner 100 therefore may implement a different climbing process than that of method 400.
In step S602 of method 600, when control unit 216 detects a stair (e.g., a first step of stairs 501 in
In step S606 of method 600, control unit 216 may send signals simultaneously to four motors (e.g., motors 212, 217, 221, and 232) to trigger their output shaft to rotate 90 degrees, respectively. For example, motors 212 and 217 each may continuously rotate 90 degrees in the same direction as they rotate in step S604. After receiving the signals from control unit 216, motors 221 and 232 each may drive the corresponding output shaft (e.g., shaft 225 and shaft 231) to rotate 90 degrees in opposite directions. Consistent with some embodiments, shaft 225 may rotate clockwise, and shaft 231 may rotate counterclockwise. As a result of the rotation of the four shafts (e.g., shafts 211, 218, 225, and 231), as shown in
In some alternative embodiments, main body 101 and the two connectors may not be in the same plane as those shown in
Consistent with some embodiments, control unit 216 may be able to adjust the length of the connectors if the connectors are retractable. In some embodiments, control unit 216 may control the linear actuators embedded in the connectors to increase the length of the connectors before step S606. For example, control unit 216 first controls the linear actuators to increase the length of the connectors and then triggers the motors (e.g., motors 212, 217, 221, and 232) to rotate the connectors and main body 101 to the posture shown in
In step S608 of method 600, control unit 216 may control motors 212 and 217 to each rotate 90 degrees in an opposite direction (e.g., opposite to their rotation direction in step S604). For example, main body 101 rotates 90 degrees forward to the stairs relative to the connectors while the connectors are relatively static to the legs and the floor. Control unit 216 may then control the linear actuators in the connectors to adjust the length of the connectors to land main body 101 onto the tread of the first step of stairs 501, as shown in
Steps S610 and S612 of method 600 may include same operations as those in steps S408 and S410, respectively. For example, in step S610 of method 600, control unit 216 may send a control signal to one of the motors mounted on the legs (e.g., motor 221 or motor 232). For example, after receiving the signal, motor 221 may drive its output shaft (e.g., shaft 225) to rotate 90 degrees in an opposite direction (e.g., opposite to its rotation direction in step S606). The rotation of shaft 225 may drive left leg 102 to rotate around shaft 225 to align with left connector 104, as shown in
In step S612 of method 600, after one of the legs (e.g., left leg 102) aligns with the corresponding connector (e.g., left connector 104), control unit 216 may send a control signal to one of the motors mounted on main body 101 (e.g., motor 212). After receiving the signal, motor 212 may drive its output shaft (e.g., shaft 211) to rotate 270 degrees in the same direction (e.g., same with its rotation direction in step S604). Left connector 104 and left leg 102 may rotate together around shaft 211 to align with main body 101, as shown in
After left leg 102 and left connector 104 align with main body 101, control unit 216 may repeat the steps S610 and S612 of method 600 to align right connector 105 and right leg 103 with main body 101. For example, control unit 216 may send a control signal to motor 232. After receiving the signal, motor 232 may drive its output shaft (e.g., shaft 231) to rotate 90 degrees in an opposite direction (e.g., opposite to its rotation direction in step S606). As a result, right leg 103 may rotate 90 degrees around shaft 231 to align with right connector 105, as shown in
After right leg 103 aligns with right connector 105, control unit 216 may send a control signal to motor 217. When receiving the signal, motor 217 may drive its output shaft (e.g., shaft 218) to rotate 270 degrees in the same direction (e.g., same with its rotation direction in step S604). Right connector 105 and right leg 103 may rotate together around shaft 218 to align with main body 101. As shown in
Consistent with some embodiments, robot cleaner 100 may align the legs and the connectors with main body 101 in an order as shown in
In some embodiments, to maintain a stable gravity center of robot cleaner 100 in the climbing process, control unit 216 may perform another method different than methods 400 and 600 for controlling robot cleaner 100 to climb the stairs.
In step S802 of method 800, when control unit 216 detects a stair (e.g., a first step of stairs 701 in
S804-S806 of method 800 include same operations as those in steps S404-S406 of method 400. That is, after detecting the stairs based on the sensing information sent from the sensing units, control unit 216 may send signals to the motors mounted in main body 101 (e.g., motors 212 and 217). Consistent with some embodiments, motors 212 and 217 each may drive the corresponding output shaft (e.g., shaft 211 and shaft 218) to rotate 90 degrees in opposite directions. For example, shaft 211 may rotate counterclockwise, and shaft 218 may rotate clockwise. As a result, main body 101 rotates 90 degrees relative to the connectors (e.g., left connector 104 and right connector 105), as shown in
In step S806, control unit 216 may send signals to the motors mounted on the legs (e.g., motors 221 and 232). After receiving the signals, motors 221 and 232 each may drive the corresponding output shaft (e.g., shaft 225 and shaft 231) to rotate 90 degrees in opposite directions. For example, shaft 225 may rotate clockwise, and shaft 231 may rotate counterclockwise. As a result of the rotation of the shafts, the connectors (e.g., left connector 104 and right connector 105) and main body 101 rotate together relative to the legs (e.g., left leg 102 and right leg 103) forward to the stairs. The connectors and main body 101 remain relatively stationary to each other during the rotation of the shafts. In some embodiments, the connectors and main body 101 may rotate 90 degrees as a whole piece relative to the legs. For example,
Consistent with some embodiments, control unit 216 may adjust the length of the connectors to accommodate various heights of the stairs if the connectors are retractable. In some embodiments, control unit 216 may control the linear actuators embedded in the connectors to increase the length of the connectors before step S806. For example, control unit 216 firstly controls the linear actuators to increase the length of the connectors and then triggers the motors (e.g., motors 221, and 232) to rotate the connectors and main body 101 up to 90 degrees. In some alternative embodiments, control unit 216 may control the linear actuators to increase the length of the connectors during the rotation of the connectors. When the connectors and main body 101 rotate forward to the stairs, the legs (e.g., left leg 102 and right leg 103) of robot cleaner 100 remain static relative to the floor. After the connectors each rotate 90 degrees relative to the corresponding leg, control unit 216 may control the linear actuators embedded in the connectors to adjust the length of the connectors to land main body 101 onto the tread of the first step of stairs 501, as shown in
In step S808 of method 800, control unit 216 may send a control signal to one of the motors mounted on the legs (e.g., motor 221 or motor 232). After receiving the signal, for example, the motor mounted on the leg (e.g., motor 221) may drive its output shaft (e.g., shaft 225) to rotate in an opposite direction (e.g., opposite to its rotation direction in step S806). The leg (e.g., left leg 102) may rotate 90 degrees around the output shaft (e.g., shaft 225) to align with the corresponding connector (e.g., left connector 104) as shown in
In step S810 of method 800, after the first leg (e.g., left leg 102) aligns with the corresponding connector (e.g., left connector 104), control unit 216 may send a control signal to the motor (e.g., motor 212) associated with the corresponding connector (e.g., left connector 104). After receiving the signal, motor 212 may drive its output shaft (e.g., shaft 211) to rotate 270 degrees in the same direction (e.g., same as its rotation direction in step S804). Left connector 104 and left leg 102 may rotate together around shaft 211 to align with main body 101 and reach the tread of the first step of stairs 701, as shown in
In step S812 of method 800, after the first leg (e.g., left leg 102) and the corresponding connector (e.g., left connector 104) align with main body 101 and reach the tread of the first step of stairs 701, control unit 216 may control the motor mounted on the first leg (e.g., left leg 102) to rotate its output shaft (e.g., shaft 225) by 90 degrees. The rotation direction of shaft 225 is the same as its rotation direction in step S808. As a result of the rotation of shaft 225, left leg 102 rotates 90 degrees around shaft 225 towards the stairs, as shown in
In step S814 of method 800, control unit 216 may send a control signal to the motor (e.g., motor 232) mounted on the second leg (e.g., right leg 103). After receiving the signal, motor 232 may drive its output shaft (e.g., shaft 231) to rotate 90 degrees in an opposite direction (e.g., opposite to its rotation direction in step S806). As a result, right leg 103 may rotate 90 degrees around shaft 231 to align with right connector 105, as shown in
In step S816 of method 800, after the second leg (e.g., right leg 103) aligns with the corresponding connector (e.g., right connector 105), control unit 216 may send a control signal to the motor (e.g., motor 217) associated with the corresponding connector (e.g., right connector 105) of the second leg. When receiving the signal, motor 217 may drive its output shaft (e.g., shaft 218) to rotate 270 degrees in the same direction as in step S804. Right connector 105 and right leg 103 may rotate together with shaft 218 to align with main body 101 on the tread of the first step of stairs 701. In some embodiments, after the second leg and the corresponding connector align with main body 101, the motor (e.g., motor 221) mounted in the first leg (e.g., left leg) may drive the first leg to realign with main body 101. In some alternative embodiments, the first leg and the second leg align with main body 101 simultaneously. As shown in
In some alternative embodiments, control unit 216 may control to lift right leg 103 and right connector 105 onto the tread of the first step of stairs 701 by performing steps S808 and S810. After rotating right leg 103 and right connector 105 onto the tread of the first step of stairs 701, the motor mounted on right leg 103 (e.g., motor 232) may rotate right leg 103 by 90 degrees forward to stairs 701 by performing step S812. The operation may cause the gravity center of robot cleaner 100 to shift away from an edge of the first step of stairs 701 to prevent a potential falling off of robot cleaner 100 when aligning left leg 102 with main body 101. Control unit 216 then may control the motors (e.g., 217 and 221) to rotate left leg 102 and left connector 104 onto the tread of the first step of stairs 701 by performing steps S814 and S816.
In some embodiments, after robot cleaner 100 ascends a stair, it may start to clean the stair (e.g., vacuum or mopping). Due to the limited space of the tread, robot cleaner 100 may move laterally on the tread of the stair. Robot cleaner 100 may use wheels (e.g., wheels 222 and 234) including at least one of mecanum wheels, omni-direction wheels, or universal wheels to support the laterally movement on the tread of the stair. Consistent with some embodiments, the battery (e.g., battery 223 in
In some embodiments, step S806 of method 800 may be substituted with steps S606 and S608 to improve the stability and the flexibility of robot cleaner 100 in the climbing process.
In some embodiments, robot cleaner 100 may descend the stairs by performing similar but reversed steps of method 400, 600, or 800. For example, when control unit 216 receives sensing information indicating a downward stair in ahead of robot cleaner 100. In some embodiments, control unit 216 may first control robot cleaner 100 to stop at the edge of the downward stair, and then control robot cleaner 100 to turn 180 degrees to turn itself backward from the edge of the stair. To perform operations of descending the stair, control unit 216 may perform method 400 in a reversed order, e.g., steps from
In step S902 of method 900, when control unit 216 detects a downward stair, robot cleaner 100 may stop in front of the downward stair and prepare to descend the stair. Consistent with some embodiments, robot cleaner 100 positions itself near the edge of the downward stair before initializing a descending process as shown in
In step S904 of method 900, control unit 216 may send a control signal to one of the motors (e.g., motor 217) mounted on main body 101. After receiving the signal, motor 217 may drive its output shaft (e.g., shaft 218) to rotate 270 degrees counterclockwise. Right connector 105 and right leg 103 may rotate together around shaft 218 till touching a lower riser of the stair as shown in
In step S906 of method 900, control unit 216 may send a control signal to a motor (e.g., motor 232) mounted on the leg touching the lower riser of the stair (e.g., right leg 103) in step S904. After receiving the signal, motor 232 may drive its output shaft (e.g., shaft 231) to rotate counterclockwise. Right leg 103 rotates 90 degrees around shaft 231 till reaching a lower tread as shown in
Control unit 216 may repeat steps S904 and S906 of method 900 to rotate the other leg and the corresponding connector (e.g., left leg 102 and left connector 104) onto the lower tread as shown in
In step S910 of method 900, control unit 216 may send control signals to the motors mounted on main body 101 (e.g., motors 212 and 217). After receiving the signals, motors 212 and 217 each may drive the corresponding output shaft (e.g., shaft 211 and shaft 218) to rotate 90 degrees in opposite directions. For example, shaft 211 may rotate clockwise, and shaft 218 may rotate counterclockwise. As a result of the rotation of the shafts, main body 101 rotates relative to the connectors (e.g., left connector 104 and right connector 105) and towards the lower tread to align with the connectors. In some embodiments, main body 101 may rotate relative to the connectors by 90 degrees as shown in
Similarly, in some alternative embodiments, control unit 216 may perform methods 600 or 800 in a reversed order to obtain better stability and flexibility when descending the stairs. After robot cleaner 100 arrives at a lower tread of the stairs, robot cleaner 100 may move laterally to clean the tread. In some embodiments, main body 101 of robot cleaner 100 may house other sensing units in rear. When robot cleaner 100 in a backward position (e.g., on the tread of the first step of the downward stairs), these sensing units may detect more downward stairs for robot cleaner 100 to descend and clean.
Although the disclosure is made using a robot cleaner as an example, the disclosed embodiments may be adapted and implemented to other types of robots or automated systems that need to ascend or descend among different levels of surfaces (e.g., stairs, steps, etc.). For example, the embodiments may be readily adapted for delivery robot that needs to climb door steps or a librarian robot that needs to climb ladders to organize books on different levels of a bookshelf.
Another aspect of the disclosure is directed to a non-transitory computer-readable medium storing instructions which, when executed, cause one or more processors to perform the methods, as discussed above. The computer-readable medium may include volatile or non-volatile, magnetic, semiconductor-based, tape-based, optical, removable, non-removable, or other types of computer-readable medium or computer-readable storage devices. For example, the computer-readable medium may be the storage device or the memory module having the computer instructions stored thereon, as disclosed. In some embodiments, the computer-readable medium may be a disc or a flash drive having the computer instructions stored thereon.
It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents.