ANTI-COLLISION METHOD FOR ROBOT
20200122330 ยท 2020-04-23
Inventors
Cpc classification
B25J9/1694
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1676
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
B25J13/087
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1602
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
An anti-collision method for robot is provided. The method controls a robot to sense a variation of electric field over continuous time via electric field sensor, determine a relative moving direction of an obstacle when detecting the obstacle by the variation of electric field, generate motor control data according to the relative moving direction of the obstacle, and control a motor to rotate according to the motor control data for making a robotic limb move along a dodge vector to dodge the obstacle. The anti-collision method can effectively make the robot dodge automatically before a collision, and prevent the robot or the obstacle from crash and damage.
Claims
1. An anti-collision method applied to a robot, the robot comprising a robotic limb, an electric field sensor installed on the robotic limb, and a motor used to move the robotic limb, the anti-collision method comprising following steps: a) sensing a variation of electric field over continuous time via the electric field sensor; b) determining a relative moving direction of a first obstacle when detecting the first obstacle by the variation of electric field; c) generating motor control data corresponding to a dodge vector according to the relative moving direction; and d) controlling the motor to rotate according to the motor control data for making the robotic limb be moved along the dodge vector to dodge the first obstacle.
2. The anti-collision method according to claim 1, wherein the robot comprises a plurality of the electric field sensors installed on the same side of the robotic limb; the step a) is configured to sense a variation of energy intensity and a variation of energy center of a plurality of electric fields over continuous time by the electric field sensors.
3. The anti-collision method according to claim 2, wherein the step b) comprises following steps: b11) determining a vertical moving direction of the first obstacle according to the variation of energy intensity; b12) determining a parallel moving direction of the first obstacle according to the variation of energy center; and b13) determining the relative moving direction according to the vertical moving direction and the parallel moving direction.
4. The anti-collision method according to claim 3, wherein the step b) further comprises following steps: b14) determining a vertical moving velocity of the first obstacle according to a sensing time interval and the variation of energy intensity; b15) determining a parallel moving velocity of the first obstacle according to the sensing time interval and the variation of energy center; and b16) determining a relative moving velocity according to the vertical moving velocity and the parallel moving velocity.
5. The anti-collision method according to claim 4, wherein the step c) further comprises following steps: c11) determining a dodge timing and a direction and a distance of the dodge vector according to the relative moving direction and the relative moving velocity; and c12) generating the motor control data according to the dodge vector and the dodge timing; wherein the step d) is configured to control the motor to rotate according to the motor control data when the dodge timing is matched for making the robotic limb move heading to the direction of the dodge vector for the distance of the dodge vector to dodge the first obstacle.
6. The anti-collision method according to claim 1, wherein at least one electric field sensor is installed on one side of the robotic limb, and at least one electric field sensor is installed on another side of the robotic limb; the step b) comprises following steps: b21) determine a first moving direction according to the variation of electric field sensed by the electric field sensor installed on one side when detecting the first obstacle; b22) determine a second moving direction according to the variation of electric field sensed by the electric field sensor installed on another side; b23) determine the relative moving direction according to the first moving direction and the second moving direction.
7. The anti-collision method according to claim 1, wherein the step c) comprises following steps: c21) determining the dodge vector according to the relative moving direction; c22) modifying the dodge vector according to a position of a second obstacle when predicting that the robotic limb will collide the second obstacle if moving along the original dodge vector; and c23) generating the motor control data corresponding to the modified dodge vector, wherein the motor control data comprises a rotating angle; wherein the step d) is configured to control the motor to rotate for the rotating angle.
8. The anti-collision method according to claim 7, wherein the robot comprises a memory unit, the memory unit is configured to record an environmental map and the position of each second obstacle in the environmental map; the step c22) is configured to modify a direction of the dodge vector or reduce a distance of the dodge vector when determining that the robotic limb will collide any second obstacle if moving along the original dodge vector according to the environmental map, a current position of the robot in the environmental map and the position of each second obstacle in the environmental map.
9. The anti-collision method according to claim 7, wherein the step c22) is configured to modify the dodge vector according to the position of the second obstacle for making the modified dodge vector be mainly used to dodge the second obstacle when predicting that the robotic limb will collide the second obstacle if moving along the original dodge vector, the first obstacle is a movable obstacle, and the second obstacle is a fixed obstacle; the step d) is configured to control the motor to rotate according to the motor control data for making the robotic limb moving along the modified dodge vector without collision with the second obstacle.
10. The anti-collision method according to claim 1, wherein the robotic limb comprises a plurality of arm bodies, the arm bodies are concatenated by a plurality of movable structures, the motors are respectively configured to control the movable structures to operate for moving the arm bodies; the step c) comprises following steps: c31) determining a dodge position according to the relative moving direction and a current position of the arm body arranged in last section; and c32) planning a dodge strategy corresponding to the dodge vectors according to the current position and the dodge position, and generating the motor control data according to the dodge strategy, wherein the motor control data comprises a plurality of rotating angles of the motors; wherein the step d) is configured to respectively control each motor to rotate for the corresponding rotating angle according to the motor control data for making the arm bodies move respectively along the dodge vectors and moving the arm body arranged in the last section to the dodge position.
11. The anti-collision method according to claim 10, wherein the step c32) is configured to plan the dodge strategy based on shortest path algorithm, minimum moving energy algorithm or shortest moving time algorithm.
12. The anti-collision method according to claim 1, wherein the step b) is configured to detect the first obstacle according to the variation of electric field during the robotic limb being moved; the step c) is configured to modify a current moving vector of the robotic limb as the dodge vector according to the relative moving direction, and generate the motor control data corresponding to the dodge vector.
13. The anti-collision method according to claim 1, wherein the step d) is configured to move the robotic limb out from an intersection position between the relative moving direction and the robotic limb before movement.
14. The anti-collision method according to claim 1, wherein the step c) is configured to generate the motor control data when determining that the first obstacle is approaching the robotic limb according to the relative moving direction.
Description
BRIEF DESCRIPTION OF DRAWING
[0010] The features of the present disclosed example believed to be novel are set forth with particularity in the appended claims. The present disclosed example itself, however, may be best understood by reference to the following detailed description of the present disclosed example, which describes an exemplary embodiment of the present disclosed example, taken in conjunction with the accompanying drawings, in which:
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
DETAILED DESCRIPTION OF THE INVENTION
[0036] In cooperation with attached drawings, the technical contents and detailed description of the present disclosed example are described thereinafter according to a preferable embodiment, being not used to limit its executing scope. Any equivalent variation and modification made according to appended claims is all covered by the claims claimed by the present disclosed example.
[0037] Please refer to
[0038] The robot 1 may comprise one or more electric field sensor 11, one or more motor 12, a memory unit 14 used to store data and a microcontroller unit 10 used to control above devices.
[0039] The electric field sensor 11 may generate an electric field (namely electromagnetic field) in the located space, and induct the energy intensity of the generated electric field by a set of induction electrodes. More specifically, when an obstacle enters into the electric field, the electric field will be disturbed and the energy intensity of the electric field will be changed. The present disclosed example senses whether there is an obstacle in the electric field via analyzing the variation of energy intensity of above-mentioned electric field, and may further analyze a moving direction or a moving velocity of the obstacle.
[0040] The motors 12 are respectively connected to the movable structures (such as gear sets, transmission shafts or the other mechanical components having an ability of passing motive force, for example, the movable structure 25 shown in
[0041] The microcontroller unit 10 (such as microcontroller) is used to control the robot 1, and may control the motive power outputted by each motor 12.
[0042] One of the exemplary embodiments, the memory unit 14 comprises a non-transitory computer-readable media and stores a computer program 140 (such as firmware, operating system or application program of the robot 1). The computer program 140 records a plurality of computer-readable codes. The microcontroller unit 10 may execute the computer program 140 to control the robot 1 to perform each step of the anti-collision method of each embodiment of the present disclosed example.
[0043] One of the exemplary embodiments, the robot 1 comprises one or more motor sensor 13 electrically connected to the microcontroller unit 10. Each motor sensor 13 is respectively arranged on the motors 12 and configured to sense a rotational status of each of the motors 12 respectively (such as sensing a rotational position, a rotational rate or a rotational current of each of the motors 12) and generate the corresponding motor sensing data. Thus, the microcontroller unit may determine whether the robot 1 poses the designated action according to the motor sensing data.
[0044] One of the exemplary embodiments, the robot 1 may comprise a human-machine interface 15 (such as a light indicator, a speaker, one or more button(s) or the other input/output components) electrically connected to the microcontroller unit 10. The user may input an operation by the human-machine interface 15 for making the microcontroller unit 10 to execute a specific instruction (such as posing a designated action) or get a current status (such as the current operating status or the residual electricity) of the robot 1 by the human-machine interface 15.
[0045] One of the exemplary embodiments, the robot 1 may comprise a communication unit 16 (such as a Bluetooth transceiver, a Zig-Bee transceiver, a Wi-Fi transceiver, a Sub-1 GHz transceiver, or the other wireless transceivers) electrically connected to the microcontroller unit 10. The user may operate a remote controller 17 (such as a dedicated remote controller for the robot 1 or a smartphone installed a corresponding application program for the robot 1) having been paired with the communication unit 16 to control the robot 1. Or, the robot 1 may establish a connection with the external computer apparatus 18 by the communication unit 16, and be controlled by the computer apparatus 18.
[0046] Please refer to
[0047] Moreover, one or more electric field sensor 11 may be installed on each robotic limb 20-24. One of the exemplary embodiments, each electric field sensor 11 is installed on the arm body 26 of each robotic limb 20-24. Thus, the robot 1 may sense whether there is an obstacle nearby by the electric field sensor 11 when waving/moving the robotic limb 20-24.
[0048] In this embodiment, three electric field sensors 11 are respectively installed on the upper side, left side and right side of the robotic limb 20 being the head, and used to sense the obstacles from these three directions simultaneously. The big amount of electric field sensors 11 are respectively installed on inside and outside of the robotic limbs 21-22 being the hand for precisely detecting the obstacles at both sides because the robotic limbs 21-22 being the hand have a wider movable range and a higher usage rate and have a higher probability of colliding the obstacles. The small amount of electric field sensors 11 are installed only on outside of the robotic limbs 23-24 being the leg for reducing costs because the robotic limbs 23-24 being the leg have a narrower movable range and have a lower probability of colliding the obstacles.
[0049] Please refer to
[0050] In this embodiment, the arm body 26 arranged in the last section is configured to comprise a higher density of electric field sensors 11 (take four electric field sensors 11 being installed for example) for precisely detecting the obstacles around it because the arm body 26 arranged in the last section is often moved and has a higher probability of colliding the obstacles. The arm body 26 arranged in the middle section is configured to comprise a lower density of electric field sensors 11 (take only two electric field sensors 11 being installed outside for example) for saving costs because the arm body 26 arranged in the middle section be rarely moved and has a lower probability of colliding the obstacles. The arm body 26 arranged in the front section doesn't comprise any electric field sensor 11 for saving costs because of connecting to a base.
[0051] Please be noted that the configuration scheme of the electric field sensors 11 shown in
[0052] Please refer to
[0053] Step S10: the microcontroller unit 10 of the robot 1 senses a variation of electric-field over continuous time by the electric field sensor 11. One of the exemplary embodiments, the microcontroller unit 10 continuous retrieves the energy intensity of electric field from the electric field sensor 11, and computes the variation of electric-field in a designated time interval, such as computing the variation of energy intensity of each electric-field sensor 11 per second.
[0054] Step S11: the microcontroller unit 10 detects whether there is an obstacle in the electric field according to the retrieved variation of electric-field. One of the exemplary embodiments, the microcontroller unit 10 determines that there is an obstacle in the electric field when the variation of electric-field in the designated time interval (such as one second or three seconds) is greater than a threshold (such as three watts).
[0055] If the microcontroller unit 10 detects any obstacle, performs step S12. Otherwise, the microcontroller unit 10 performs step S10 again for sensing the variation of electric-field continuously.
[0056] Step S12: the microcontroller unit 10 determines a relative moving direction of the detected obstacle according to the variation of electric-field.
[0057] Take single electric field sensor 11 being installed for example, as shown in
[0058] Finally, the microcontroller unit 10 may determine that the obstacle 40 is approaching the electric field sensor 11 according to the continuous variation of electric-field, and determine the relative moving direction D1 of the obstacle 40.
[0059] Please be noted that above-mentioned relative moving direction is relative to an installation position of the electric field sensor 11 in the robotic limb, the microcontroller unit 10 may execute an analysis conversion process on the relative moving direction according to the installation position and the current position of the robotic limb for obtaining a moving direction related to the whole robot 1.
[0060] Step S13: the microcontroller unit 10 generates the motor control data corresponding to a dodge vector according to the relative moving direction. One of the exemplary embodiments, the microcontroller unit 10 may determine the dodge vector of the robotic limb according to the calculated relative moving direction (namely, the robotic limb can dodge the obstacle if moving along the dodge vector), and generate the motor control data for making the robotic limb move along the dodge vector. More specifically, above-mentioned dodge vector comprises a direction and a distance (namely the moving distance) corresponding to the movement of the robotic limb when dodging.
[0061] One of the exemplary embodiments, above-mentioned direction of the dodge vector may be the same as the relative moving direction. For example, the robotic limb may dodge heading to the left side for leaving away from the obstacle when the obstacle approaches heading the left side and the robotic limb. One of the exemplary embodiments, above-mentioned direction of the dodge vector is located in the different planes or different axes from the relative moving direction. For example, the robotic limb may be lifted up for dodging the obstacle when the obstacle approaches heading to the left side and the robotic limb.
[0062] Step S14: the microcontroller unit 10 controls the corresponding motor 12 to rotate according to the motor control data for making the robotic limb move along the dodge vector to dodge the obstacle.
[0063] Thus, the present disclosed example can effectively make the robot dodge automatically before a collision, and prevent the robot or the obstacle from crash and damage.
[0064] Please be noted that, in one of the exemplary embodiments, the microcontroller unit 10 may execute the electric field sensing simultaneously (namely the step S10-S11) for detecting whether there is a second obstacle near the robotic limb during dodging the first obstacle (namely the step S12-S14), and continue to dodge the second obstacle when detecting the second obstacle and completion of dodging the first obstacle. Thus, the present disclosed example can continue to dodging the multiple obstacles, and prevent from colliding the obstacles.
[0065] Please refer to
[0066]
[0067] The example shown in
[0068] For solving above-mentioned problem, this embodiment discloses a technical schema that detecting the horizontal moving direction and the horizontal moving velocity of the obstacle by a plurality of electric fields installed on the same side of the arm body (the example shown in
[0069] Step S200: the microcontroller unit 10 of the robot 1 senses a variation of energy intensity of each of electric fields over continuous time by each of the electric field sensors 11.
[0070] Step S201: the microcontroller unit 10 senses a variation of energy center of electric fields over continuous time by each of the electric field sensors 11.
[0071] More specifically, in the steps S200 and S201, the microcontroller 10 is configured to sense the variations of electric-field by the electric field sensors 111-118 in a designated time interval, and compute above-mentioned variation of energy intensity and above-mentioned variation of energy center according to the variations of electric-field and the time interval. For example, as shown in
[0072] Then, as shown in
[0073] Then, as shown in
[0074] Then, as shown in
[0075] Finally, the microcontroller unit 10 may compute an energy center and a maximum energy intensity at each time point, and further compute a variation of energy intensity and a variation of energy center. More specifically, as shown in
[0076] Moreover, the microcontroller unit 10 may compute the energy center at each time point according to following formula (i):
wherein N represents the number of electric field sensors, Wn represents the energy intensity of electric field of the n-th electric field sensor, Xn represents the installation position of the n-th electric field sensor (take position 1 to 8 for example).
[0077] In above example, the position of the energy center during the first second is about position 6.36, the position of the energy center during the second is about position 5, and the position of the energy center at the third is about position 4. Namely, the variation of energy center is position 6.36.fwdarw.position 5.fwdarw.position 4.
[0078] Step S202: the microcontroller unit 10 determines whether there is an obstacle according to the retrieved variation of energy intensity and the retrieved variation of energy center. One of the exemplary embodiments, the microcontroller unit 10 is configured to determine that there is an obstacle in the electric fields when the variation of energy intensity and/or the variation of energy center exceed a threshold.
[0079] If any obstacle is detected by the microcontroller unit 10, the microcontroller unit performs step S203. Otherwise, the microcontroller unit 10 performs the step S200 again for sensing the variation of electric fields continuously.
[0080] Step S203: the microcontroller unit 10 determines a vertical moving direction between the detected obstacle and the electric field sensors according to the variation of energy intensity.
[0081] One of the exemplary embodiments, as shown in
[0082] Step S204: the microcontroller unit 10 determines a parallel moving direction of the obstacle according to the variation of energy center.
[0083] One of the exemplary embodiments, as shown in
[0084] Step S205: the microcontroller unit 10 determines the relative moving direction between the obstacle and the electric field sensors according to the vertical moving direction computed in the step S203 and the parallel moving direction computed in the step S204.
[0085] Step S206: the microcontroller unit 10 determines a vertical moving velocity between the obstacle and the electric field sensors according to a sensing time interval and the variation of energy intensity.
[0086] One of the exemplary embodiments, the microcontroller unit 10 may compute the corresponding actual vertical distance variation during the sensing time interval, and compute the vertical moving velocity according to the sensing time interval (such as three seconds) and the vertical di stance variation.
[0087] Step S207: the microcontroller unit 10 determines a parallel moving velocity between the obstacle and the electric field sensors according to the sensing time interval and the variation of energy center.
[0088] One of the exemplary embodiments, the microcontroller unit 10 may compute the corresponding actual horizontal distance variation during the sensing time interval, and compute the parallel moving velocity according to the sensing time interval (such as three seconds) and the horizontal distance variation.
[0089] Step S208: the microcontroller unit 10 computes a relative moving velocity between the obstacle and the electric field sensors according to the vertical moving velocity retrieved in the step S206 and the parallel moving velocity retrieved in the step S207.
[0090] Step S209: the microcontroller unit 10 may detect whether the obstacle is approaching the robotic limb of the robot 1 and a collision may occur according to the retrieved relative moving direction and/or the retrieved relative moving velocity of the obstacle.
[0091] If the microcontroller unit 10 determines that the collision may occur, the microcontroller unit 10 performs step S210. If the microcontroller unit 10 determines that the obstacle would not collide the robot 1 (such as the obstacle being leaving from the robot 1, or the obstacle stopping moving), the microcontroller unit 10 performs step S200 again for continuous detection.
[0092] Step S210: the microcontroller unit 10 determines a direction and a distance of the dodge vector according to the relative moving direction and the relative moving velocity of the obstacle.
[0093] One of the exemplary embodiments, the distance of the dodge vector may be a fixed value, or be determined according to the relative moving direction and/or the relative moving velocity of the obstacle.
[0094] Please refer to
[0095] When the relative moving direction of the obstacle is any of direction f1, f3, f4 and f7, the microcontroller unit may control the arm body 56 do the action of rolling along the X-axis (such as moving the arm body 56 inward) for dodging the obstacle. When the relative moving direction of the obstacle is any of direction f2 and f6, the microcontroller unit may control the arm body 56 do the action of rolling along the X-axis and the action of pitching along the Y-axis simultaneously (such as moving the arm body 56 inward and lifting the arm body 56 up) for dodging the obstacle. When the relative moving direction of the obstacle is direction f5, the microcontroller unit may control the arm body 56 do the action of pitching along the Y-axis (such as lifting the arm body 56 up) for dodging the obstacle.
[0096] One of the exemplary embodiments, the microcontroller unit 10 may further determine a dodge timing of executing the dodging action according to the relative moving direction and the relative moving velocity of the obstacle and the position of the robotic limb, such as executing the dodging action after five seconds, or executing the dodging action when a distance between the obstacle and the robotic limb is less than a default value.
[0097] Then, the microcontroller unit 10 performs step S211: the microcontroller unit 10 generates the corresponding motor control data according to the determined dodge vector and/or the determined dodge timing.
[0098] Step S212: the microcontroller unit 10 determines whether the dodge timing is matched. If the dodge timing is matched (such as the current time being matched with the dodge timing), the microcontroller unit 10 performs step S213. Otherwise, the microcontroller unit 10 performs the step S212 again to wait for the dodge timing coming.
[0099] Step S213: the microcontroller unit 10 controls the motor 12 to rotate according to the motor control data for making the robotic limb move along the direction of the dodge vector for the distance of the dodge vector when the dodge timing is matched, so as to dodge the obstacle.
[0100] The present disclosed example can effectively reduce the moving distance of the robotic limb for dodging the obstacle successfully via controlling the robot 1 to dodge when the current time is matched with the dodge timing, and further reduce the electric energy consumption.
[0101] Please be noted that, in another embodiment of the present disclosed example, the robot 1 may be configured to control the robotic limb to dodge directly when detecting the obstacle without consideration of dodge timing.
[0102] Please refer to
[0103] More specifically, the anti-collision method of this embodiment comprises following steps.
[0104] Step S300: the microcontroller unit 10 of the robot 1 senses a variation of electric-field over continuous time by the electric field sensors 611-612 installed at the different side respectively.
[0105] Step S301: the microcontroller unit 10 determines whether there is an obstacle (first obstacle) in the electric field according to the variation of each electric field.
[0106] If any obstacle is detected, the microcontroller unit performs step S302-S303. Otherwise, the microcontroller unit 10 performs the step S300 again for sensing the variation of electric fields continuously.
[0107] Step S302: the microcontroller unit 10 determines a first moving direction D.sub.L of the obstacle 44 according to the variation of electric-field sensed by the electric field sensor 611 installed at the left side.
[0108] Step S303: the microcontroller unit 10 determines a second moving direction D.sub.R of the obstacle 44 according to the variation of electric-field sensed by the electric field sensor 612 installed at another side (the right side in this example).
[0109] Please be noted that the steps S302 and S303 may be performed simultaneously or one after another, but this specific example is not intended to limit the scope of the present disclosed example.
[0110] Step S304: the microcontroller unit 10 determines the relative moving direction according to the first moving direction and the second moving direction.
[0111] One of the exemplary embodiments, the microcontroller unit 10 may compute an average direction of the first moving direction and the second direction as the relative moving direction.
[0112] Step S305: the microcontroller unit 10 determines the dodge vector according to the determined relative moving direction.
[0113] One of the exemplary embodiments, the microcontroller unit 10 is configured to compute an intersection position between the relative moving direction and the arm body 66 of the robotic limb before movement, and compute the dodge vector for making the arm body 66 leave from the intersection position.
[0114] One of the exemplary embodiments, the microcontroller unit 10 may compute a relative moving vector of the obstacle 44, and configure the relative moving vector as the dodge vector. Step S306: the microcontroller unit 10 determines in advance whether the robotic limb will collide another obstacle 48 (the second obstacle) if moving along the determined dodge vector.
[0115] For example, if the dodge vector before modification is rotate heading to the right side for rotating angle 1, the arm body 66 can dodge the obstacle 44 after rotating heading to the right side for the rotating angle 1 and moving to the position of arm body 66, but collide another obstacle 48 (such as a wall). Thus, the robotic limb can't really dodge all obstacles 44 and 48 if moving along the current dodge vector.
[0116] One of the exemplary embodiments, the memory unit 14 of the robot 1 records an environmental map and the position of each obstacle 48 (such as the fixed obstacles comprising the obstacle moving along a fixed moving route). The microcontroller unit 10 may determines whether the robotic limb will collide any obstacle 48 if moving along the dodge vector according to the environmental map, a position of the robot 1 in the environmental map and the position of each obstacle 48 in the environmental map.
[0117] One of the exemplary embodiments, the microcontroller unit 10 may further determine that each obstacle is a movable obstacle (such as human or pet, etc., the movable obstacle comprises the obstacle moving along no fixed route) or a fixed obstacle (such as table and chair, wall, automatic electric doors, etc.).
[0118] If the microcontroller unit 10 determines that the robot 1 will collide another obstacle, the microcontroller unit performs step S307. Otherwise, the microcontroller unit 10 performs step S308.
[0119] Step S307: the microcontroller unit 10 modify the dodge vector. One of the exemplary embodiments, the microcontroller unit 10 modifies the direction of the dodge vector or reduces the distance of the dodge vector according to a default value.
[0120] One of the exemplary embodiments, the microcontroller unit 10 modifies the dodge vector according to the position of the obstacle which the robotic limb may collide for making the robotic limb move along the modified dodge vector without colliding the obstacles 48.
[0121] For example, if the dodge vector before modification is configured to rotate heading to the right side for the rotating angle 1 (such as 30 degrees), the microcontroller unit 10 may reduce the rotating angle to 1 (such as 10 degrees) according to the distance between the robotic limb and the obstacle 48 as the modified dodge vector. Thus, the arm body 66 can prevent from colliding the obstacle 44 and 48 simultaneously when the arm body 66 is moved heading to the right side for the rotating angle 1 and arrivals the position of the arm body 66.
[0122] One of the exemplary embodiments, the microcontroller unit 10 may change the moving axis direction which the arm body 66 moves along, such as increasing a moving component of any axis for making the robotic limb leave away from a plane which the obstacle 44 and 48 are located at after moving along the modified dodge vector. For example, the dodge vector before modification is configured to rotate heading to the right side for the rotating angle 1, and the dodge vector after modification is configured to rotate heading to the right side for the rotating angle 1 and lifting up for a designated angle (such as 60 degrees).
[0123] Please be noted that a status may exist in fact that the robotic limb collides the obstacle 44 even though the robotic limb be moved along the modified dodge vector. However, it is possible that the movable obstacle 44 changes own moving direction actively for dodging the robotic limb (such as the human stops approaching the robotic limb if perceiving a collision will occur), but the fixed obstacle 48 does not change own moving direction actively.
[0124] Thus, one embodiment of the present disclosed example can effectively reduce the probability of collision via being configured to execute a dodge strategy of priority dodging the fixed obstacles 48. For example, the dodge vector before modification is configured to priority dodge the movable obstacle 44, and the dodge vector after modification is configured to priority dodge the fixed obstacle 48. Namely, the robot 1 is impossible to collide the fixed obstacle 48 if moving along the modified dodge vector.
[0125] Step S308: the microcontroller unit 10 generates the motor control data corresponding to the dodge vector (or the modified dodge vector if the step S307 has been performed).
[0126] One of the exemplary embodiments, the motor control data comprises the rotating angle of each motor 12. The microcontroller unit is configured to transform the dodge vector into a combination of a plurality of rotating angles of a plurality of motors.
[0127] Step S309: the microcontroller unit 10 controls each motor 12 to rotate for the corresponding rotating angle for moving the robotic limb to dodge the obstacle 44. Moreover, if the dodge vector had been modified, the robotic limb can further prevent from colliding the obstacle 48.
[0128] Thus, the present disclosed example can prevent from colliding another obstacle during dodging.
[0129] Please refer to
[0130]
[0131] In this embodiment, the robotic limb comprises a plurality of arm bodies (take 2 arm bodies 760-761 for example in
[0132] This embodiment mainly implements a function of planning dodge strategy having an ability of planning a dodge strategy. When the robot 1 executes the dodge strategy to dodging the obstacle, the robot 1 can make a higher probability of dodging successfully or less energy consumption (such as the total moving distance of the arm bodies 760-761 is minimum). Compare to the anti-collision method shown in
[0133] Step S40: the microcontroller unit 10 of the robot 1 retrieves a current position (such as position P1) of the arm body arranged in the last section (such as the arm body 761), and determines the dodge position (such as position P2) according to the relative moving direction and the current position.
[0134] One of the exemplary embodiments, the microcontroller unit 10 may estimate a moving track of the obstacle 46 according to the relative moving direction of the obstacle 46, and configure a position out of the moving track as above-mentioned dodge position.
[0135] Step S41: the microcontroller unit 10 plans a dodge strategy according to the current position and the dodge position.
[0136] One of the exemplary embodiments, the memory unit 14 records a movable range of each movable structure 750-751, the microcontroller unit 10 plans one dodge strategy according to the movable range of each movable structure 750-751. Besides, the dodge strategy comprises a rotating vector of each movable structure 750-751, and corresponds to a plurality of dodge vectors of the arm bodies 760-761. When each movable structure 750-751 rotates along the rotating vector, the connected arm body 760-761 can be moved along the corresponding dodge vector, and the arm body 761 arranged in the last section can be moved from the current position P1 to the dodge position P2.
[0137] One of the exemplary embodiments, if less energy consumption is needed, the microcontroller unit 10 may plan one dodge strategy based on a shortest path algorithm, a minimum moving energy algorithm or a shortest moving time algorithm according to the current position P1 (starting point) and the dodge position P2 (end point).
[0138] For example, the example shown in
[0139] One of the exemplary embodiments, if increasing the probability of dodging successfully is needed, the microcontroller unit 10 may plan one dodge strategy of making all the arm bodies 760-761 after movement be a far distance away from the obstacle 46 according to the current position P1 (starting point) and the dodge position P2 (end point).
[0140] For example, the example shown in
[0141] Step S42: the microcontroller unit 10 generates the motor control data corresponding to the dodge strategy. One of the exemplary embodiments, the motor control data comprises a rotating angle of each motor 12.
[0142] More specifically, in the step S14, when the microcontroller unit 10 controls each motor 12 to rotate according to the rotating angles of the motor control data respectively, the microcontroller unit 10 can make each movable structure 750-751 be rotated for the corresponding rotating angle, make each arm body 760-761 move along the corresponding dodge vector, and make the arm body 761 arranged in the last section be moved to the dodge position P2.
[0143] Thus, the present disclosed example can provide pluralistic dodge means via determining the dodge strategy according to request, and implement the greater utility.
[0144] Please refer to
[0145] This embodiment further provides an anti-collision method having an ability of dodging during the robot 1 moving. More specifically, the anti-collision method of this embodiment comprises following steps.
[0146] Step S50: the microcontroller unit 10 of the robot 1 control the robotic limb to move along a moving vector. One of the exemplary embodiments, the microcontroller unit 10 controls the robotic limb to move along the moving vector when receipt of an instruction from the remote controller 17 or the computer apparatus 18, the instruction is used to instruct the moving vector.
[0147] Step S51: the microcontroller unit 10 senses a variation of electric-field over continuous time by the electric field sensor 11 during movement of the robotic limb.
[0148] Step S52: the microcontroller unit 10 detects whether there is an obstacle in the electric field according to the retrieved variation of electric-field.
[0149] One of the exemplary embodiments, after starting up, the microcontroller unit 10 detects the obstacle by the electric field sensor 11 continuously without interruption, but this specific example is not intended to limit the scope of the present disclosed example.
[0150] One of the exemplary embodiments, the microcontroller unit 10 enables the electric field sensor 11 to detect the obstacle during movement of the robot 1, and disables the electric field sensor 11 to stop detecting the obstacle during the robot 1 stopping moving, so as to reduce the electric energy consumption.
[0151] If the microcontroller unit 10 detects any obstacle, the microcontroller unit 10 performs step S53. Otherwise, the microcontroller unit 10 performs the step S51 again for sensing the variation of electric-field continuously.
[0152] Step S53: the microcontroller unit 10 determines the relative moving direction of the obstacle according to the variation of electric-field.
[0153] Step S54: the microcontroller unit 10 modifies the moving vector according to the relative moving direction of the obstacle, and configures the modified moving vector as the dodge vector. One of the exemplary embodiments, the moving vector and the dodge vector have the same end point, but the different routes.
[0154] One of the exemplary embodiments, the microcontroller unit 10 determines the dodge vector for dodging the obstacle according to the relative moving direction of the obstacle, and configures a combination of the dodge vector with the moving vector as the final dodge vector.
[0155] Step S55: the microcontroller unit 10 generates the motor control data corresponding to the dodge vector.
[0156] Step S56: the microcontroller unit 10 controls each motor 12 to rotate according to the motor control data for making the robotic limb dodge along the dodge vector. Thus, the present disclosed example can prevent the robot 1 or the obstacle from crash and damage via detecting and dodging the obstacle during movement.
[0157] The above-mentioned are only preferred specific examples in the present disclosed example, and are not thence restrictive to the scope of claims of the present disclosed example. Therefore, those who apply equivalent changes incorporating contents from the present disclosed example are included in the scope of this application, as stated herein.