Handling variable power in robot and related methods
By introducing a flexible power supply system into the robot, the problem of operating in a power-limited environment is solved, and the robot's flexibility and efficient movement under low voltage and low current conditions are achieved.
Patent Information
- Application Number
- CN202380066832.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-03
- Filing Date
- 2023-10-02
- Publication Date
- 2025-04-25
AI Technical Summary
The prior art has difficulty providing a more flexible power supply solution for robots in power-limited environments, especially in situations where voltage is reduced or current overloaded.
By providing a flexible power supply system, the robot allows the robot to operate in a low voltage environment and enhances the robot's mobility and flexibility through battery power. The system includes multiple articulation components and motors, powering the motor using a power bus, and adjusting the motor speed and acceleration through the controller based on path data and level inputs.
It realizes the robot's flexible operation under various voltage and current conditions, enhances the robot's mobility and control capabilities, and avoids the risk of electrical device failure.
Smart Images

Figure CN119894645A_ABST
Abstract
Description
[0001] The present disclosure relates to a robot, such as a robotic arm, and / or a method for controlling such a robot or robotic arm. Background Art
[0002] Robots and in particular robotic arms are widely used to perform a wide variety of automated tasks. Recently, lightweight robots have become increasingly popular for assisting human activities, such as in production facilities. These robots are often referred to as collaborative robots or cobots.
[0003] For robots, such as robotic arms, there is a desire to enhance flexibility and facilitate more compact robotic solutions. Summary of the invention
[0004] The object of the present disclosure is to at least provide an improvement over the prior art and / or to solve or reduce problems known in the prior art. Another object of the present disclosure is to provide an advantageous or at least alternative robot, robot joint, robot joint assembly and / or method for controlling a robot, robot joint and / or robot joint assembly.
[0005] More specifically, the present disclosure provides a solution that provides enhanced flexibility, at least in terms of allowing a more flexible power supply for the robot. Such a flexible power supply may allow the robot to operate in environments where there are certain power limitations, for example, in environments where only a reduced voltage is available compared to the nominal voltage of the robot, and / or in situations where an electrical device may fail if the robot draws too much power or current (e.g., due to other powerful devices drawing power from the same electrical device). Furthermore, the present disclosure facilitates powering the robot by batteries, which further enhances flexibility by enhancing the mobility of the robot. For example, the present disclosure may facilitate the robot forming part of an automated guided vehicle (AGV) and / or an autonomous mobile robot (AMR).
[0006] Therefore, the present disclosure relates to a robot and a method for controlling a robot. Furthermore, the present disclosure relates to a control unit for a robot. Therefore, a robot, a control unit for such a robot and a method for controlling such a robot are disclosed.
[0007] General Description
[0008] The robot includes one or more or more joint assemblies, for example, a first joint assembly and a second joint assembly. The robot also includes one or more or more motors, for example, a first main motor, a first auxiliary motor, a second main motor and / or a second auxiliary motor. The plurality of motors may be at least six motors, for example, seven motors. Each of the plurality of motors may be a permanent magnet AC motor.
[0009] Each of the plurality of joint assemblies may include a joint housing and a primary motor connecting the joint housing to a primary connecting rod. The primary motor may be adapted to rotate the primary connecting rod relative to the joint housing about a primary axis. The joint assembly may also include a secondary motor connecting the joint housing to a secondary connecting rod. The secondary motor may be adapted to rotate the secondary connecting rod relative to the joint housing about a secondary axis. The secondary axis may not be parallel to the primary axis.
[0010] The first joint assembly includes a first joint housing and the first main motor. The first main motor connects the first joint housing with the first main connecting rod. The first main motor is suitable for rotating the first main connecting rod relative to the first joint housing around a first main axis. The first joint assembly may include a first secondary motor. The first secondary motor may connect the first joint housing with the first secondary connecting rod. The first secondary motor may be suitable for rotating the first secondary connecting rod relative to the first joint housing around a first secondary axis. The first secondary axis may be non-parallel to the first main axis.
[0011] The second joint assembly may include a second joint housing and a second main motor. The second main motor may connect the second joint housing to the second main connecting rod. The second main motor may be adapted to rotate the second main connecting rod relative to the second joint housing around a second main axis. The second joint assembly may include a second secondary motor. The second secondary motor may connect the second joint housing to the second secondary connecting rod. The second secondary motor may be adapted to rotate the second secondary connecting rod relative to the second joint housing around a second secondary axis. The second secondary axis may not be parallel to the second main axis.
[0012] The primary link associated with one joint assembly may be the secondary link associated with another joint assembly. For example, the second primary link and the first secondary link may be the same link.
[0013] The first main link may extend between the base of the robot and the first joint assembly.The second main link and / or the first secondary link may extend between the first joint assembly and the second joint assembly.
[0014] The robot may include a power bus. The power bus may form part of the power supply of the robot. The power bus may include or be formed by two or more wires having different voltage levels. The power bus may, for example, supply power to a plurality of motors via one or more additional components such as a motor controller, an H-bridge, an inverter, etc. The power bus may be DC powered. The power bus may be powered by a battery, such as an internal battery of the robot and / or an internal battery of the control unit. In some examples, the battery may be an external battery. In some examples, the robot and / or the control unit may include a battery. The battery may be coupled to the power bus.
[0015] The robot and / or the control unit may include a power connector. The power bus may be coupled to the power connector. The power connector may allow the power bus to be coupled to an external power source, such as an external battery and / or an external power plug, such as a wall socket. The external power source may be a DC power source, such as 24 volts, 48 volts, or 72 volts.
[0016] The robot may include one or more controllers. One or more controllers may be suitable for controlling the operation of one or more motors (e.g., multiple motors) to achieve the desired movement of the robot. One or more controllers may include a main controller. The control unit may include a main controller. Each of the one or more controllers (such as a main controller) may be a control circuit, for example, including a processing unit. One or more controllers may include multiple motor controllers that control the operation of multiple motors. Multiple motor controllers may include a first main motor controller that controls the operation of a first main motor, a first secondary motor controller that controls the operation of a first secondary motor, a second main motor controller that controls the operation of a second main motor, and / or a second secondary motor controller that controls the operation of a second secondary motor. The first joint assembly may include the first main motor controller and / or the first secondary motor controller. The second joint assembly may include the second main motor controller and / or the second secondary motor controller. In some examples, a single motor controller may control the operation of multiple motors. For example, the first main motor controller may control the operation of the first main motor and the first secondary motor, and / or the second main motor controller may control the operation of the second main motor and the second secondary motor.
[0017] The method may include receiving path data indicating one or more paths to be followed by one or more parts of the robot. The one or more parts may include a first joint assembly and / or a second joint assembly. Alternatively or additionally, the one or more parts may include an end effector of the robot. The method may also include determining a plurality of movements of a plurality of motors based on the path data.
[0018] The method may also include, for example, receiving one or more level inputs, such as a voltage level input and / or a current level input and / or a power level input, before determining the plurality of movements of the plurality of motors. The one or more level inputs may be received from a user via a user interface, such as a graphical user interface, such as a user interface for configuring the robot. The user interface for configuring the robot may, for example, be displayed on a teach pendant of the robot. The one or more level inputs may indicate a voltage level and / or a current level. The one or more level inputs may indicate a power level, which in turn indicates a current level, because the voltage is known, measured, or also indicated.
[0019] The one or more level inputs may be, for example, voltage levels, current levels and / or power levels at which a user indicates during the configuration process that the robot should be able to operate.
[0020] For example, one or more level inputs (such as voltage level inputs) may indicate a minimum expected voltage level. One or more level inputs (such as voltage level inputs) may indicate a voltage level that is lower than a nominal voltage level of the robot. Determining multiple movements of the multiple motors may be based on one or more level inputs, such as voltage level inputs. Thus, a user may specify, for example, during configuration of the robot that the robot should be configured to be able to operate at a voltage level lower than the nominal voltage level, and multiple movements of the multiple motors may be determined accordingly.
[0021] For example, multiple movements based on path data and one or more level inputs (such as voltage level inputs) may include determining the speed and / or acceleration of one or more or all of the multiple motors. When one or more level inputs (such as voltage level inputs) indicate a first voltage level, the speed of one or more or all of the multiple motors may be a first speed. When one or more level inputs (such as voltage level inputs) indicate a second voltage level lower than the first voltage level, the speed of one or more or all of the multiple motors may be a second speed lower than the first speed, respectively. The corresponding relative difference between the first speed and the second speed may be proportional to the relative difference between the first voltage level and the second voltage level.
[0022] Additionally or alternatively, one or more level inputs (such as a current level input and / or a power level input) may indicate a maximum acceptable current level. One or more level inputs, such as a current level input and / or a power level input, may indicate a current level that is lower than a normal maximum current level for the robot. Determining multiple movements of multiple motors may be based on one or more level inputs, such as a current level input and / or a power level input. Thus, a user may specify, for example during configuration of the robot, that the robot should be configured not to exceed a set current level and / or power level, and multiple movements of multiple motors may be determined accordingly.
[0023] For example, multiple movements based on path data and one or more level inputs (such as current level input and / or power level input (and optionally voltage level input)) may include determining the speed and / or acceleration of one or more or all of the multiple motors. When the one or more level inputs (such as the current level input and / or the power level input) indicate a primary current level, the speed of one or more or all of the multiple motors may be a primary speed. When one or more level inputs (such as the current level input and / or the power level input) indicate a secondary current level lower than the primary current level, the speed of one or more or all of the multiple motors may be a secondary speed respectively lower than the primary speed. The corresponding relative difference between the primary speed and the secondary speed may be proportional to the relative difference between the primary current level and the secondary current level.
[0024] The method may include controlling the operation of one or more motors (such as multiple motors) to achieve the determined multiple movements. For example, one or more controllers (such as a master controller) may be adapted to control the operation of one or more motors (such as multiple motors) and / or cause the operation of one or more motors (such as multiple motors) to achieve the determined multiple movements.
[0025] The method may include, for example, after determining the plurality of movements, receiving a voltage sensor input, the voltage sensor input for example indicating a voltage level of a power bus. In accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold, the method may also include modifying the plurality of movements based on the voltage sensor input. The operation of one or more motors (such as a plurality of motors) may be controlled to achieve the modified plurality of movements. For example, one or more controllers (such as a master controller) may be adapted to control the operation of one or more motors (such as a plurality of motors) and / or cause the operation of one or more motors (such as a plurality of motors) to achieve the modified plurality of movements. Thus, when a lower voltage level is detected (this may be due to the robot being connected to a power source providing a lower voltage, or this may be due to a battery powering the robot providing a lower voltage when discharged), the movement may be dynamically modified.
[0026] Alternatively or additionally, the method may include receiving one or more updated level inputs, such as updated current level inputs and / or updated power level inputs, such as indicating updated available current on the power bus. One or more updated level inputs may be received after determining a plurality of movements. According to one or more updated level inputs (such as updated current level inputs and / or updated power level inputs) indicating a current level below a predetermined current threshold, the method may also include: modifying a plurality of movements based on one or more updated level inputs (such as updated current level inputs and / or updated power level inputs). The operation of one or more motors (such as multiple motors) may be controlled to achieve the modified plurality of movements. For example, one or more controllers (such as a master controller) may be adapted to control the operation of one or more motors (such as multiple motors) and / or cause the operation of one or more motors (such as multiple motors) to achieve the modified plurality of movements. Thus, when less current is available (which may be due to other components drawing current from the same power source as the robot), the movement may be dynamically modified. For example, one or more updated level inputs (such as updated current level inputs and / or updated power level inputs) can be based on an evaluation of the operation of components external to the robot, which components can draw current from the same power supply as the robot. Such other components can, for example, be motors that drive the wheels of an AGV or AMR that carries the robot. For example, the robot can form part of a robot system that also includes one or more external components, such as a second robot and / or a motor, such as a motor for an AGV or AMR. Therefore, one or more updated level inputs can be based on an evaluation of the operation of one or more external components of the robot system. One or more updated level inputs, such as updated current level inputs and / or updated power level inputs can be received from, for example, a power controller of the robot system, which can evaluate the operation of components external to the robot (such as one or more external components of the robot system).
[0027] The method may be performed by one or more controllers of the robot. For example, the method or part thereof may be performed by a main controller of a control unit. For example, one or more controllers and / or the main controller may be adapted to receive path data indicating one or more paths to be followed by one or more parts of the robot. The one or more parts may include a first joint assembly and / or a second joint assembly. Alternatively or additionally, the one or more parts may include an end effector of the robot. One or more controllers and / or the main controller may be adapted to determine multiple movements of multiple motors of the robot based on the path data. One or more controllers and / or the main controller may be further adapted to receive one or more level inputs, and determining multiple movements of multiple motors may be additionally based on the one or more level inputs, such as a voltage level input and / or a current level input and / or a power level input.
[0028] The one or more controllers and / or the main controller may be adapted to receive a voltage sensor input, which voltage sensor input indicates, for example, a voltage level of a power bus of the robot. In accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold, the one or more controllers and / or the main controller may also be adapted to modify multiple movements based on the voltage sensor input. Alternatively or additionally, the one or more controllers and / or the main controller may be adapted to receive one or more updated level inputs, such as an updated current level input and / or an updated power level input, for example indicating an updated available current on the power bus. In accordance with the one or more updated level inputs (such as an updated current level input and / or an updated power level input) indicating a current level below a predetermined current threshold, the one or more controllers and / or the main controller may be further adapted to modify multiple movements based on the one or more updated level inputs (such as an updated current level input and / or an updated power level input).
[0029] The multiple movements of the multiple motors may indicate the movement of each motor, which may actually indicate the movement of each joint assembly. For example, the multiple movements of the multiple motors may include the position, velocity and / or acceleration of each joint assembly and / or each of the multiple motors over time.
[0030] In some examples, the main controller may be adapted to receive the path data and determine the plurality of movements based on the path data and optionally one or more level inputs, while other controllers of the one or more controllers, such as the plurality of motor controllers and / or one or more of the plurality of motor controllers, such as the first main motor controller, the first secondary motor controller, the second main motor controller, and / or the second secondary motor controller, may be adapted to modify the plurality of movements based on the voltage sensor input and / or the one or more updated level inputs in accordance with the voltage sensor input indicating a voltage level below a predetermined voltage threshold and / or in accordance with the one or more updated level inputs indicating a current level below a predetermined current threshold. In such examples, the main controller and / or the plurality of motor controllers and / or one or more of the plurality of motor controllers (such as the first main motor controller, the first secondary motor controller, the second main motor controller, and / or the second secondary motor controller) may receive the voltage sensor input and / or the one or more updated level inputs.
[0031] An advantage of the present disclosure is that the robot can be adjusted and / or can self-adjust if the robot is supplied with a lower voltage than expected and / or if less current is available as originally expected. Thus, the robot may be able to operate at various voltage levels (e.g., at 48 volts DC and 24 volts DC) and / or at various current levels. In addition, the robot may be able to operate with varying input voltages, which may be caused by the power source being a battery, which may, for example, provide varying voltages depending on the state of charge. For example, an exemplary battery rated at 48 volts may provide a voltage of 52 volts at approximately 90% charge, 48 volts at approximately 50% charge, and 43 volts at approximately 10% charge. Therefore, in order to facilitate powering the robot via a battery, it may be advantageous to provide a system that allows the robot to also operate at varying or lower than expected voltages.
[0032] The motors of the robot (e.g., the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor) can be designed to operate at the nominal voltage level of the power bus (e.g., 48 volts). If the motors (e.g., the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor) are supplied with a (substantially) lower voltage, such as 24 volts, it may cause the motors to not operate as expected. Similarly, in some cases, the power source (e.g., a battery) may not be able to provide the robot with the amount of current that was originally expected, and if the robot draws too much current, the power source may stop working. The present disclosure can address this reduced capacity and enhance the flexibility of the robot and the control of the robot.
[0033] The motors of the robot (e.g., the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor) may be able to operate as expected within a certain voltage range. Therefore, the present disclosure may allow some changes in the voltage level of the power bus before modifying the movement. Therefore, the predetermined voltage threshold may be lower than the nominal voltage of the power bus. For example, the predetermined voltage threshold may be at least 5% lower than the nominal voltage. For example, the predetermined voltage threshold may be 5-10% lower than the nominal voltage. For example, the predetermined voltage threshold may be 5% or 7% or 9% or 10% lower than the nominal voltage. The nominal voltage may be, for example, 72 volts, 48 volts, or 24 volts. In some examples, the predetermined voltage threshold may be based on one or more level inputs, such as a voltage level input. For example, in the case where multiple movements have been determined based on one or more level inputs (such as a voltage level input), the predetermined voltage threshold may be based on this, so that when the voltage level is lower than the voltage level expected when the movement is initially determined, the modification of multiple movements is performed. For example, one or more level inputs (such as a voltage level input) may indicate an initial voltage level, and the predetermined voltage threshold may be lower than the initial voltage level. For example, the predetermined voltage threshold may be at least 5% lower than the initial voltage level. For example, the predetermined voltage threshold may be 5-10% lower than the initial voltage level. For example, the predetermined voltage threshold may be 5% or 7% or 9% or 10% lower than the initial voltage level.
[0034] Similarly, the predetermined current threshold may be at least 5% lower than the normal maximum current level of the robot. For example, the predetermined current threshold may be 5-10% lower than the normal maximum current level. For example, the predetermined current threshold may be 5% or 7% or 9% or 10% lower than the normal maximum current level. The normal maximum current level may be, for example, 40 amps, 20 amps or 10 amps. In some examples, the predetermined current threshold may be based on one or more level inputs, such as a current level input and / or a power level input. For example, in the case where a plurality of movements have been determined based on one or more level inputs (such as a current level input and / or a power level input), the predetermined current threshold may be based on this, so that when the current level (as indicated by one or more updated level inputs (such as an updated current level input and / or an updated power level input)) is lower than the initial current level expected when the movement is initially determined, the modification of the plurality of movements is performed. For example, one or more level inputs (such as a current level input and / or a power level input) may indicate an initial current level, and the predetermined current threshold may be lower than the initial current level. For example, the predetermined current threshold may be at least 5% lower than the initial current level. For example, the predetermined current threshold may be 5-10% lower than the initial current level.For example, the predetermined current threshold may be 5% or 7% or 9% or 10% lower than the initial current level.
[0035] Modifying the plurality of movements based on the voltage sensor input and / or one or more updated level inputs (such as updated current level inputs and / or updated power level inputs) may include reducing the speed of one or more or all of the plurality of motors (such as the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor). For example, when the voltage level of the power bus is below a predetermined voltage threshold and / or when one or more level inputs (such as updated current level inputs and / or updated power level inputs) indicate a current level below a predetermined current threshold, one or more or all of the plurality of motors (such as the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor) may be instructed to operate at a lower speed. For example, the plurality of movements may be modified by reducing the speed profile of each of one or more or all of the plurality of motors. Alternatively or additionally, the plurality of movements may be modified by re-determining the plurality of movements of the plurality of motors based on the path data and the reduced maximum speed of one or more or all of the plurality of motors (such as the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor). The reduced maximum speed may be based on the voltage sensor input and / or the voltage level of the power bus. Alternatively or additionally, the reduced maximum speed may be based on one or more updated level inputs, such as an updated current level input and / or an updated power level input. The reduced maximum speed may be lower than the nominal speed of the corresponding one or more or all of the plurality of motors. For the rotor of the motor, an exemplary nominal speed may be 3000 rpm and / or for the output of the motor (including the transmission of the motor), an exemplary nominal speed may be 225 degrees / second.
[0036] The speed reduction of one or more or all of the plurality of motors may be proportional to the relative difference between the voltage level and a predetermined voltage threshold (e.g., in steps) and / or proportional to the relative difference between the voltage level and the nominal voltage of the power bus and / or proportional to the relative difference between the voltage level and an initial voltage level (indicated by one or more level inputs, such as a voltage level input). For example, the plurality of movements may be modified by reducing the speed profile of each of one or more or all of the plurality of motors in proportion to the relative difference between the voltage level and a predetermined voltage threshold and / or the nominal voltage of the power bus and / or the initial voltage level. Alternatively or additionally, in the case where the plurality of movements are re-determined based on the reduced maximum speed, the reduced maximum speed may be proportional to the relative difference between the voltage level and a predetermined voltage threshold and / or proportional to the relative difference between the voltage level and the nominal voltage of the power bus and / or proportional to the relative difference between the voltage level and the initial voltage level.
[0037] Alternatively or additionally, the speed reduction of one or more or all of the plurality of motors may be proportional (e.g., stepwise proportional) to the relative difference between the current level indicated by the one or more updated level inputs and the normal maximum current level of the robot, and / or proportional to the relative difference between the current level indicated by the one or more updated level inputs and a predetermined current threshold, and / or proportional to the relative difference between the current level indicated by the one or more updated level inputs and the initial current level indicated by the one or more level inputs. For example, a plurality of moves may be modified by reducing the speed profile of each of one or more or all of the plurality of motors in proportion to the relative difference between the current level indicated by the one or more updated level inputs and the normal maximum current level of the robot and / or the predetermined current threshold and / or the initial current level indicated by the one or more level inputs. Alternatively or additionally, where multiple movements are re-determined based on a reduced maximum speed, the reduced maximum speed may be proportional to the relative difference between the current level indicated by one or more updated level inputs and a normal maximum current level of the robot, and / or proportional to the relative difference between the current level indicated by one or more updated level inputs and a predetermined current threshold, and / or proportional to the relative difference between the current level indicated by one or more updated level inputs and an initial current level indicated by one or more level inputs.
[0038] Modifying the plurality of movements based on the voltage sensor input and / or one or more updated level inputs (such as an updated current level input and / or an updated power level input) may include reducing the acceleration (e.g., in combination with reducing the speed) of one or more or all of the plurality of motors (such as the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor). For example, when the voltage level of the power bus is below a predetermined voltage threshold and / or when the one or more updated level inputs indicate a current level below a predetermined current threshold, one or more or all of the plurality of motors (such as the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor) may be commanded to operate at a lower acceleration. For example, the plurality of movements may be modified by reducing the acceleration profile of each of the plurality of motors. Alternatively or additionally, the plurality of movements may be modified by re-determining the plurality of movements of the plurality of motors based on the path data and the reduced maximum acceleration of the plurality of motors (such as the first main motor, the first auxiliary motor, the second main motor, and / or the second auxiliary motor). The reduced maximum acceleration may be based on the voltage sensor input and / or the voltage level of the power bus. Alternatively or additionally, the reduced maximum acceleration may be based on one or more updated level inputs, such as an updated current level input and / or an updated power level input. The reduced maximum acceleration may be lower than the nominal acceleration of corresponding one or more or all of the plurality of motors.
[0039] The reduction in acceleration of one or more or all of the plurality of motors may be proportional to the relative difference between the voltage level and a predetermined voltage threshold (e.g., in steps) and / or proportional to the relative difference between the voltage level and the nominal voltage of the power bus and / or proportional to the relative difference between the voltage level and an initial voltage level (indicated by one or more level inputs, such as a voltage level input). For example, the plurality of movements may be modified by reducing the acceleration profile of each of one or more or all of the plurality of motors in proportion to the relative difference between the voltage level and a predetermined voltage threshold and / or the nominal voltage of the power bus and / or the initial voltage level. Alternatively or additionally, in the case where the plurality of movements are re-determined based on the reduced maximum acceleration, the reduced maximum acceleration may be proportional to the relative difference between the voltage level and a predetermined voltage threshold and / or proportional to the relative difference between the voltage level and the nominal voltage of the power bus and / or proportional to the relative difference between the voltage level and the initial voltage level.
[0040] Alternatively or additionally, the reduction in acceleration of one or more or all of the plurality of motors may be proportional (e.g., stepwise proportional) to the relative difference between the current level indicated by the one or more updated level inputs and the normal maximum current level of the robot, and / or proportional to the relative difference between the current level indicated by the one or more updated level inputs and a predetermined current threshold, and / or proportional to the relative difference between the current level indicated by the updated current level and the initial current level indicated by the one or more updated level inputs. For example, a plurality of movements may be modified by reducing the acceleration profile of each of one or more or all of the plurality of motors in proportion to the relative difference between the current level indicated by the one or more updated level inputs and the normal maximum current level of the robot and / or the predetermined current threshold and / or the initial current level indicated by the one or more updated level inputs. Alternatively or additionally, where multiple movements are re-determined based on a reduced maximum acceleration, the reduced maximum acceleration may be proportional to a relative difference between a current level indicated by one or more updated level inputs and a normal maximum current level of the robot, and / or proportional to a relative difference between a current level indicated by one or more updated level inputs and a predetermined current threshold, and / or proportional to a relative difference between a current level indicated by an updated current level and an initial current level indicated by one or more updated level inputs.
[0041] The speed and / or acceleration reduction of one or more or all of the plurality of motors may be accomplished in predetermined steps. For example, the speed and / or acceleration reduction of one or more or all of the plurality of motors may include: if the voltage sensor input indicates that the voltage level is between a predetermined voltage threshold and a first step threshold, the speed and / or acceleration of one or more or all of the plurality of motors is reduced to a first reduction level; and if the voltage sensor input indicates that the voltage level is between the first step threshold and the second step threshold, the speed and / or acceleration of one or more or all of the plurality of motors is reduced to a second reduction level. The second step threshold may be lower than the first step threshold. The second reduction level may be lower than the first reduction level. For example, the first step threshold may be 90% of the predetermined voltage threshold, and the second step threshold may be 80% of the predetermined voltage threshold. Thus, in such an example, when the voltage level is between the predetermined voltage threshold and 90% of the predetermined voltage threshold, the speed and / or acceleration of one or more or all of the plurality of motors will be reduced to a first reduced level, such as 85% of the nominal speed and / or acceleration, and when the voltage level is between the predetermined voltage threshold and 80% of the predetermined voltage threshold, will be reduced to a second reduced level, such as 75% of the nominal speed and / or acceleration. Alternatively or additionally, reducing the speed and / or acceleration of one or more or all of the plurality of motors may include: if one or more updated level inputs (such as updated current level inputs and / or updated power level inputs) indicate that the current level is between the predetermined current threshold and the first current step threshold, reducing the speed and / or acceleration of one or more or all of the plurality of motors to the first reduced level; and if the one or more updated level inputs (such as updated current level inputs and / or updated power level inputs) indicate that the current level is between the first current step threshold and the second current step threshold, reducing the speed and / or acceleration of one or more or all of the plurality of motors by the second reduced level. The second current step threshold may be lower than the first current step threshold. The second reduction level may be lower than the first reduction level. For example, the first current step threshold may be 90% of the predetermined current threshold, and the second current step threshold may be 80% of the predetermined current threshold.
[0042] Modifying multiple movements may include: the motor controller modifies the operation of the corresponding motor based on the voltage sensor input and / or one or more updated level inputs (such as updated current level input and / or updated power level input). For example, the first main motor controller may modify the operation of the first main motor and / or the first auxiliary motor based on the voltage sensor input and / or one or more updated level inputs (such as updated current level input and / or updated power level input). The first auxiliary motor controller may modify the operation of the first auxiliary motor based on the voltage sensor input and / or one or more updated level inputs (such as updated current level input and / or updated power level input). The second main motor controller may modify the operation of the second main motor and / or the second auxiliary motor based on the voltage sensor input and / or one or more updated level inputs (such as updated current level input and / or updated power level input). The second auxiliary motor controller may modify the operation of the second auxiliary motor based on the voltage sensor input and / or one or more updated level inputs (such as updated current level input and / or updated power level input). The motor controller may modify the operation of the respective motor by adjusting the pulse width of a pulse width modulated signal transmitted to the respective motor.
[0043] If the voltage sensor input measured later indicates that the voltage level of the power bus is again above a certain level, for example, above a predetermined voltage threshold and / or above a secondary voltage threshold (the secondary voltage threshold may be higher than the predetermined voltage threshold, for example, 5% higher), then the plurality of movements may be modified again based on the voltage sensor input measured later, for example, by increasing the speed and / or acceleration of the movement. Similarly, if one or more level inputs updated later (such as a current level input updated later and / or a power level input updated later) indicate that the available current is again above a certain level, for example, above a predetermined current threshold and / or above a secondary current threshold (the secondary current threshold may be higher than the predetermined current threshold, for example, 5% higher), then the plurality of movements may be modified again based on one or more level inputs updated later (such as a current level input updated later and / or a power level input updated later), for example, by increasing the speed and / or acceleration of the movement. Thus, if the voltage level and / or current level is only temporarily reduced, the speed and / or acceleration may return to its initial level when the initial (e.g., nominal) voltage level and / or current level is reestablished.
[0044] The control unit may be adapted to be arranged between the base of the robot and a structure to which the robot is to be fastened. The structure may be a factory floor or another structure at which the robot is intended to work. The control unit may be arranged below the base of the robot.
[0045] The control unit may include a control unit housing. The control unit housing may include a base plate and side walls. The side wall may be an integrally formed side wall. Alternatively, the side wall may be composed of a plurality of side wall portions. The base plate may be adapted to abut against the structure. The side wall may be integrally formed with the base plate. For example, the side wall and base plate may be cast in one piece and / or may be machined from a single piece of material. The control unit housing (such as the base plate and / or the side wall) may be made of aluminum.
[0046] The main controller may be arranged in the control unit housing.
[0047] The control unit may comprise a power supply unit. The power supply unit may be adapted to supply power to the robot, e.g. electrical components of the robot, e.g. motors and / or circuits. The power supply unit may be arranged in a control unit housing. The power supply unit may be coupled and / or coupleable to a power bus of the robot.
[0048] The control unit may include one or more (such as multiple) electrical control unit connectors (e.g., sockets or plugs). The one or more electrical control unit connectors may include a first electrical control unit connector, a second electrical control unit connector, and / or a third electrical control unit connector. Each of the one or more electrical control unit connectors may include a corresponding control unit terminal. The first electrical control unit connector, the second electrical control unit connector, and / or the third electrical control unit connector may be a power connector. The first electrical control unit connector, the second electrical control unit connector, and / or the third electrical control unit connector may be arranged through the side wall. The first electrical control unit connector, the second electrical control unit connector, and / or the third electrical control unit connector may be suitable for connecting to a teach pendant connector of a teach pendant, which is used, for example, to control and / or program a robot. The first electrical control unit connector, the second electrical control unit connector, and / or the third electrical control unit connector may be an Ethernet connector or a USB connector.
[0049] The robot may include one or more (e.g., multiple) electrical base connectors (e.g., sockets or plugs) that may be arranged at a base of the robot. The one or more electrical base connectors may include a first electrical base connector and / or a second electrical base connector. The first electrical base connector may be a power connector. The second electrical base connector may be an I / O port. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. The drawings illustrate one way of implementing the present disclosure and should not be interpreted as limiting other possible embodiments within the scope of the attached claim set.
[0051] Figure 1is a schematic diagram illustrating an exemplary robot;
[0052] Figure 2 is a schematic diagram illustrating an exemplary joint assembly;
[0053] Figure 3 An exemplary block diagram showing some components of an exemplary robot;
[0054] Figure 4 is a schematic diagram illustrating an exemplary user interface; and
[0055] Figure 5 and Figure 6 An exemplary control unit is schematically shown. DETAILED DESCRIPTION
[0056] In the following, various exemplary embodiments and details are described with reference to the accompanying drawings when relevant. It should be noted that the drawings may be drawn to scale or may not be drawn to scale, and in all drawings, elements with similar structures or functions are represented by the same reference numerals. It should also be noted that the drawings are intended only to facilitate the description of the embodiments. They are not intended to serve as an exhaustive description of the present invention or as a limitation on the scope of the present invention. In addition, the illustrated embodiments do not need to have all the aspects or advantages shown. The aspects or advantages described in conjunction with a specific embodiment are not necessarily limited to that embodiment, and may be practiced in any other embodiment, even if not shown as such or even if not so explicitly described.
[0057] Figure 1 is a schematic diagram showing an exemplary robot 2, which in this example is a robotic arm, more specifically a seven-axis robotic arm. In this example, the robot 2 is secured to a structure 1, which may be a factory floor or another structure in which the robot 2 is to work. In some examples, the structure 1 may be part of a mobile unit, such as a mobile robot or vehicle, which will allow the robot 2 to move between different locations.
[0058] The robot 2 includes a plurality of joint assemblies, including a first joint assembly 8, a second joint assembly 12, a third joint assembly 16, and a fourth joint assembly 20. In other examples, the robot may include fewer or more joint assemblies. For example, in another configuration, the robot 2 may include only one joint assembly, such as the first joint assembly 8.
[0059] The robot 2 includes a plurality of links, including a first link 6, a second link 10, a third link 14, and a fourth link 18. The links extend between the joint assemblies. For example, the first link 6 extends between the base 4 of the robot 2 and the first joint assembly 8. The second link 10 extends between the first joint assembly 8 and the second joint assembly 12. The third link 14 extends between the second joint assembly 12 and the third joint assembly 16. The fourth link 18 extends between the third joint assembly 16 and the fourth joint assembly 20.
[0060] Each of the joint assemblies 8, 12, 16, 20 is adapted to rotate one or more corresponding links relative to the joint assembly around an axis. For example, the first joint assembly 8 is adapted to rotate the first link 6 relative to the first joint assembly 8 around the first axis Ax1. The first joint assembly 8 is adapted to rotate the second link 10 relative to the first joint assembly 8 around the second axis Ax2. The second axis Ax2 is not parallel to the first axis Ax1. The second joint assembly 12 is adapted to rotate the second link 10 relative to the second joint assembly 12 around the third axis Ax3. The second joint assembly 12 is adapted to rotate the third link 14 relative to the second joint assembly 12 around the fourth axis Ax4. The fourth axis Ax4 is not parallel to the third axis Ax3. The third joint assembly 16 is adapted to rotate the third link 14 relative to the third joint assembly 16 around the fifth axis Ax5. The third joint assembly 16 is adapted to rotate the fourth link 18 relative to the third joint assembly 16 around the sixth axis Ax6. The sixth axis Ax6 is not parallel to the fifth axis Ax5. The fourth joint assembly 20 is suitable for rotating the fourth link 18 about the seventh axis Ax7 relative to the fourth joint assembly 20. The robot 2 can be placed in some configurations in which none of the seven axes Ax1 to Ax7 are parallel. However, in some other configurations, two or more of the seven axes may be parallel. The end effector of the robot 2 may be disposed at the distal end of the robot 2, such as at the fourth joint assembly 20.
[0061] Although described with respect to a robot 2 operable with respect to seven axes, the present disclosure may alternatively be applied to a robot having only six axes, or even fewer axes. Figure 1In the example shown, the movement around the third axis Ax3 can be omitted to obtain a robot that can operate relative to six axes. In this case, the first joint assembly 8 can be adapted to rotate the first link 6 relative to the first joint assembly 8 around the first axis Ax1, and to rotate the second link 10 relative to the first joint assembly 8 around the second axis Ax2. The second joint assembly 12 can be adapted to rotate the third link 14 relative to the second joint assembly 12 around the fourth axis Ax4 and to rotate the third link 14 relative to the second joint assembly 12 around the fifth axis Ax5. The third joint assembly 16 can be adapted to rotate the third link 14 relative to the third joint assembly 16 around the sixth axis Ax6 and to rotate the fourth link 18 relative to the third joint assembly 16 around the seventh axis Ax7. The fourth joint assembly 20 can be omitted. Therefore, a robot that can operate relative to six axes can be implemented with only three joint assemblies according to the present disclosure.
[0062] As shown, the robot 2 may include a control unit 200. The control unit 200 is adapted to be arranged between the base 4 of the robot 2 and the structure 1. The control unit 200 may be provided as an additional unit. Thus, in some examples, the base 4 may be fastened to the structure 1, such as to fasten the robot 2 to the structure 1, and an external control unit may be provided to control the robot 2. However, as shown, the control unit 200 may be arranged between the base 4 and the structure 1. The control unit 200 may include circuitry adapted to control the operation of the robot 2 to achieve the desired movement of the robot 2, such as one or more processing units.
[0063] The robot 2 may be fastened to the structure 1 by fastening bolts 22. The fastening bolts 22 may extend from the base 4, through the attachment holes of the control unit 200, and extend to the structure 1, thereby fastening both the robot and the control unit 200 to the structure 1.
[0064] The robot may include a first electrical base connector 24 arranged at the base 4 of the robot 2. In some examples, the first electrical base connector 24 may be a power connector suitable for receiving electricity for powering the robot 2. In some examples, the power connector may be suitable for connecting to an external power source 25, such as an external battery. The external power source 25 may be a DC power source, for example 24 volts or 48 volts. The robot may include a second electrical base connector 26 arranged at the base 4 of the robot 2. In some examples, the second electrical base connector 26 may be an I / O port. As shown, the control unit 200 may also include an electrical control unit connector, which may, for example, be suitable for connecting to a teach pendant connector of a teach pendant for controlling and / or programming the robot.
[0065] Figure 2 is a schematic diagram showing an exemplary joint assembly 90, which can be as shown in FIG. Figure 1 Any of the first joint assembly 8 , the second joint assembly 12 , or the third joint assembly 16 shown.
[0066] The joint assembly 90 includes a joint housing 100. The joint assembly 90 includes a joint housing 100 and a main link 92 (eg, Figure 1 The main motor 102 is connected to the first link 6, the second link 10 or the third link 14. The main motor 102 is suitable for making the main link 92 rotate relative to the joint housing 100 around the main axis (for example, Figure 1 The joint assembly 90 shown includes a joint housing 100 and a secondary link 94 (eg, Figure 1 The auxiliary motor 104 is adapted to move the auxiliary link 94 relative to the joint housing 100 about a secondary axis (e.g., Figure 1 The joint assembly 90 includes a circuit 106, such as a first PCB, housed in the joint housing 100. The circuit 106 is suitable for controlling the main motor 102 and the auxiliary motor 104. The main motor 102 and / or the auxiliary motor 104 can be a permanent magnet AC motor. In addition, the main motor 102 and / or the auxiliary motor 104 can include a gear assembly, such as an integral gear, such as a harmonic gear. Therefore, the main motor 102 and / or the auxiliary motor 104 can be a gear motor.
[0067] Figure 3 Shows such as Figure 1 2 is an exemplary block diagram of some components of an exemplary robot 2 of the robot 2. As shown, the robot 2 includes a plurality of motors, including a first main motor 102A and a second main motor 102B. As also shown, the plurality of motors may include a first secondary motor 104A and / or a second secondary motor 104B. Although only four motors are shown in the exemplary block diagram, it should be understood that more motors may be provided for the robot 2 to be relative to more axes (such as Figure 1 The seven axes shown in FIG. 1 are movable.
[0068] The plurality of motors may form part of one or more joint assemblies of the robot 2, as described with respect to Figure 2 For example, the first main motor 102A and the optional first auxiliary motor 104A can form part of a first joint assembly of the robot 2. Similarly, the second main motor 102B and the optional second auxiliary motor 104B can form part of a second joint assembly of the robot 2.
[0069] The first main motor 102A can connect the first joint housing of the first joint assembly to the first main connecting rod. The first main motor 102A can be adapted to rotate the first main connecting rod relative to the first joint housing around the first main axis, such as Figure 2 Explained.
[0070] The first secondary motor 104A can connect the first joint housing to the first secondary link. The first secondary motor 104A can be adapted to rotate the first secondary link relative to the first joint housing around the first secondary axis, such as Figure 2 Explained.
[0071] The second main motor 102B can connect the second joint housing of the second joint assembly to the second main connecting rod. The second main motor 102B can be adapted to rotate the second main connecting rod relative to the second joint housing around the second main axis, such as Figure 2 Explained.
[0072] The second secondary motor 104B can connect the second joint housing to the second secondary link. The second secondary motor 104B can be adapted to rotate the second secondary link relative to the second joint housing around the second secondary axis, such as Figure 2 Explained.
[0073] The robot 2 includes a power bus 120 that provides power to each of the plurality of motors 102A, 102B, 104A, 104B and other components in the robot 2. Although not specifically shown, it should be understood that the connection between the plurality of motors 102A, 102B, 104A, 104B and the power bus 120 may further include components not shown, such as motor controllers, H-bridges, inverters, etc. Alternatively or in addition, some of these components may form part of the motors 102A, 102B, 104A, 104B. The power bus 120 may provide a DC voltage, such as a nominal voltage of 48 volts. As previously described, the motors 102A, 102B, 104A, 104B may be AC motors and may include control circuitry that controls the alternating current in the stators of the motors to drive the motors based on the provided DC voltage. The power bus 120 may include a power connector 121 (e.g., Figure 1 The electrical base connector 24 and / or Figure 5 The electrical control unit connector 216 is used to connect the power bus 120 to an external power source, such as an external battery. The external power source can be a DC power source.
[0074] The robot 2 includes one or more controllers 122, 122A, 122B, 122C, 122D. In the present example, the robot 2 includes a main controller 122. In some examples, also as shown, the robot 2 may additionally or alternatively include a designated motor controller 122A, 122B, 122C, 122D for some or each of the motors 102A, 102B, 104A, 104B. In examples where the robot 2 includes multiple controllers 122, 122A, 122B, 122C, 122D, the controllers may communicate with each other.
[0075] The main controller 122 may be adapted to control the operation of the motors 102A, 102B, 104A, 104B to achieve a desired movement of the robot. For example, the main control unit 122 may be adapted to instruct the first main motor 102A to provide a first main movement and / or torque, which may result in the first main motor 102A providing a first main torque, and / or instruct the second main motor 102B to provide a second main movement and / or torque, which may result in the second main motor 102B providing a second main torque, and / or instruct the second main motor 102B to provide a second main movement and / or torque, which may result in the second main motor 102B providing a second main torque, and so on.
[0076] Alternatively or additionally, one or more of the motors 102A, 102B, 104A, 104B may be connected to a designated motor controller 122A, 122B, 122C, 122D, also as shown. These motor controllers may form part of the motors 102A, 102B, 104A, 104B, or may be separate from the motors 102A, 102B, 104A, 104B. For example, as shown, the first main motor 102A may be connected to the first main motor controller 122A, the optional first secondary motor 104A may be connected to the first secondary motor controller 122B, the second main motor 102B may be connected to the second main motor controller 122C, and the optional second secondary motor 104B may be connected to the second secondary motor controller 122D. In some examples, not all motors 102A, 102B, 104A, 104B are connected to such designated controllers. Furthermore, a single motor controller (eg, the first primary motor controller 122A) may be a common motor controller for multiple motors (eg, both the first primary motor 102A and the first secondary motor 104A). Figure 2 As shown, the circuit 106 may be such a common controller for multiple motors (eg, the primary motor 102 and the secondary motor 104 ).
[0077] The motor controllers 122A, 122B, 122C, 122D are adapted to control the operation of the motors 102A, 102B, 104A, 104B (e.g., in conjunction with the main controller 122) to achieve a desired movement of the robot, such as by controlling the motors to provide certain specified movements and / or torques to achieve the desired movement. The motor controllers 122A, 122B, 122C, 122D can help achieve the desired movement of the robot based on specified inputs from the main controller 122.
[0078] Although not specifically shown, it should be understood that the controllers 122, 122A, 122B, 122C, 122D can be connected to the power bus 120, for example, to be powered. In addition, connecting the controllers 122, 122A, 122B, 122C, 122D to the power bus 120 can allow the controllers 122, 122A, 122B, 122C, 122D to sense the voltage level of the power bus 120. Thus, the controllers 122, 122A, 122B, 122C, 122D can receive a voltage sensor input from the power bus 120 indicating the voltage level of the power bus 120.
[0079] One or more of the controllers 122, 122A, 122B, 122C, 122D may be adapted to receive path data indicating one or more paths to be followed by one or more parts of the robot. For example, a user may specify in a user interface that an end effector of the robot should follow a certain path, and / or one or more joints / joint assemblies should follow one or more paths. Such a path may be specified by specific path points defined in space. In some examples, one or more of the controllers 122, 122A, 122B, 122C, 122D may also be adapted to receive one or more level inputs, such as a voltage level input and / or a current level input and / or a power level input. For example, a user may specify in a user interface that the robot should operate at a certain voltage, which may be a voltage lower than the nominal voltage of the robot, and / or a user may specify in a user interface that the robot should operate below a certain current level, which may be a current level lower than the normal maximum available current. Figure 4 An exemplary user interface 300 for providing one or more level inputs is schematically shown in FIG.
[0080] Based on the path data and optionally one or more level inputs, one or more controllers 122, 122A, 122B, 122C, 122D (e.g., master controller 122) can determine multiple movements of multiple motors 102A, 102B, 104A, 104B. This can be referred to as trajectory planning. For example, it can be calculated how each of the motors 102A, 102B, 104A, 104B and indeed the joint assembly should move over time. For example, at each point in time, what their respective positions, velocities, and / or accelerations should be.
[0081] Since the motors 102A, 102B, 104A, 104B may be intended to operate at a nominal voltage level (e.g., 48 volts) and / or at a normal maximum available current (e.g., 40A), if the motors 102A, 102B, 104A, 104B are supplied with a lower voltage and / or cannot draw sufficient current, it may cause the motors 102A, 102B, 104A, 104B to be unable to operate at the expected speed and / or acceleration. Therefore, by optionally including one or more level inputs (such as voltage level inputs and / or current level inputs and / or power level inputs) when determining multiple movements, the present disclosure provides that the movements of the motors, such as the speed (e.g., maximum speed) and / or acceleration (e.g., maximum acceleration) of at least some of the motors 102A, 102B, 104A, 104B, can be set at, for example, a reduced level to account for the lower than nominal voltage level and / or to account for the lower than normal maximum available current.
[0082] One or more controllers 122, 122A, 122B, 122C, 122D may receive, for example, a voltage sensor input from the power bus 120 indicating a current voltage level of the power bus. The voltage level may vary over time, for example due to a fluctuating input voltage, such as caused by discharge of a battery supplying power to the power bus 120. The voltage level may also be lower than the nominal voltage due to the power bus being supplied with 24 volts instead of the nominal 48 volts.
[0083] One or more controllers 122, 122A, 122B, 122C, 122D may receive one or more updated level inputs, such as updated current level inputs and / or updated power level inputs. The one or more updated level inputs may be provided by a power controller, which may be, for example, the main controller 122, or may be a controller external to the robot 2. It is possible that the available current varies over time, for example due to other components external to the robot (such as a drive module of an AGV) drawing more current from the same power source (e.g., a battery) as the robot 2.
[0084] One or more controllers 122, 122A, 122B, 122C, 122D may determine whether a voltage sensor input indicating a voltage level of the power bus 120 is below a predetermined voltage threshold. The predetermined voltage threshold may be a nominal voltage, such as 48 volts of the power bus 120, or it may be lower than the nominal voltage of the power bus 120, such as 5% or at least 5% lower than the nominal voltage. It may be beneficial to allow for some minor fluctuations in the voltage level of the power bus 120, so it may be advantageous for the predetermined voltage threshold to be lower than the nominal voltage of the power bus 120. In some examples, where a plurality of movements have been determined based on one or more level inputs, the predetermined voltage threshold may be based on the one or more level inputs, such as a voltage level input in the one or more level inputs. For example, such that when the voltage level is lower than the voltage level used in the initial determination of the movement, a modification of the plurality of movements is performed.
[0085] Alternatively or additionally, one or more controllers 122, 122A, 122B, 122C, 122D may determine whether one or more updated level inputs indicate a current level that is below a predetermined current threshold. The predetermined current threshold may be a normal maximum current level for the robot 2, such as 40 amps, or it may be lower than the normal maximum current level for the robot 2, such as 5% or at least 5% lower than the normal maximum current level. In some examples, where a plurality of movements have been determined based on one or more level inputs, the predetermined current threshold may be based on one or more level inputs, such as a current level input and / or a power level input of the one or more level inputs. For example, such that when the current level indicated by the one or more updated level inputs is lower than the initial current level indicated by the one or more level inputs used to initially determine the movement, a modification of the plurality of movements is performed.
[0086] According to the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold, one or more controllers 122, 122A, 122B, 122C, 122D can be adapted to modify multiple movements based on the voltage sensor input. According to one or more updated level inputs indicating that the current level is below a predetermined current threshold, one or more controllers 122, 122A, 122B, 122C, 122D can be adapted to modify multiple movements based on one or more updated level inputs. Therefore, the movement can be recalculated or adjusted based on the lower voltage of the power bus 120 and / or the lower updated current level indicated by the one or more updated level inputs. For example, one or more controllers 122, 122A, 122B, 122C, 122D can modify multiple movements by reducing the speed and / or acceleration (such as maximum speed and / or maximum acceleration) of one or more or all of the motors 102A, 102B, 104A, 104B. Thus, when the voltage level of the power bus 120 is below the nominal voltage and / or when one or more updated level inputs indicate a current level below a normal maximum current level, the motors 102A, 102B, 104A, 104B may be instructed to operate at a lower speed and / or acceleration. Since the motors 102A, 102B, 104A, 104B may be intended to operate at the nominal voltage level of the power bus 120 (e.g., 48 volts) and / or at a maximum current level that is typically available (e.g., 40 amps), if the motors 102A, 102B, 104A, 104B are supplied with a lower voltage (e.g., 36 volts or 24 volts) and / or are unable to draw sufficient current (e.g., only 20 amps or only 10 amps), this may result in the motors 102A, 102B, 104A, 104B not being able to operate at the intended speed and / or acceleration. Thus, the present disclosure provides that when voltage levels are below nominal voltage and / or when less than normal current is available, the speed (e.g., maximum speed) and / or acceleration (e.g., maximum acceleration) of at least some of the motors 102A, 102B, 104A, 104B may be reduced. Thus, the movements may be modified to account for such lesser capabilities of one or more of the motors 102A, 102B, 104A, 104B. For example, when initially determining a plurality of movements of a plurality of motors, such as by the master controller 120, it may have been assumed that each of the motors 102A, 102B, 104A, 104B is capable of operating at up to 3000 rpm (e.g., for the rotor of the motor), such as for an output of the motor (including the transmission of the motor) of up to 225 degrees / second.However, when a voltage level below the nominal voltage is detected and / or when information is received that a current less than normally available is being drawn, the movement may be recalculated or modified, assuming that each of the motors 102A, 102B, 104A, 104B is only capable of operating at no more than a lower speed, such as 2000 rpm (e.g., for the rotor of the motor), such as for an output of the motor of up to 150 degrees / second.
[0087] If the speed and / or acceleration of one or more or all of the motors 102A, 102B, 104A, 104B is reduced, such as the maximum speed and / or maximum acceleration, the reduction in speed and / or acceleration may be proportional to the relative difference between the voltage level and a predetermined voltage threshold and / or the nominal voltage and / or initial voltage level of the power bus 120 (indicated by one or more level inputs, such as indicated by a voltage level input in the one or more level inputs). For example, if the nominal voltage is 48 volts, assuming that each of the motors 102A, 102B, 104A, 104B is capable of operating at up to 3000 rpm (e.g., with respect to the rotor of the motor) at 48 volts, when the voltage sensor input indicates that the voltage level is 24 volts, it may be assumed that each of the motors 102A, 102B, 104A, 104B is only capable of operating at no more than 1500 rpm (e.g., with respect to the rotor of the motor), e.g., for the output of the motor to reach 112.5 degrees / second. Alternatively or additionally, the reduction in speed and / or acceleration can be proportional to the relative difference between the current level indicated by one or more updated level inputs and the robot's normal maximum current level and / or initial current level (indicated by one or more level inputs, such as a current level input and / or a power level input of one or more level inputs).
[0088] In some examples, the motor controllers 122A, 122B, 122C, 122D can modify the movement by modifying the operation of the corresponding motor based on the voltage sensor input and / or one or more updated level inputs. For example, the motor controllers 122A, 122B, 122C, 122D can adjust the pulse width of the pulse width modulated signal transmitted to the corresponding motor, for example, to reduce the speed and / or acceleration of the motors 102A, 102B, 104A, 104B.
[0089] Figure 4 3 is a schematic diagram showing an exemplary user interface 300 displayed on an exemplary teach pendant 302. The user interface 300 may be a graphical user interface. The user interface 300 is used to configure a robot, for example Figure 1 The robot 2. The teaching pendant 302 can form Figure 1 The user interface 300 may include a plurality of different user interface screens, although Figure 4 Only a single user interface screen of user interface 300 is illustrated.
[0090] The user interface 300 includes a plurality of input areas 304 , 306 , 308 in which a user may provide one or more level inputs, such as a voltage level input, a current level input, and / or a power level input.
[0091] The user interface 300 includes a first input area 304 in which a user can provide a voltage level input from one or more level inputs. In the example shown, the voltage level input is set to 48V. The voltage level input can be provided by the user based on an understanding of how the robot will be powered (e.g., whether the robot is powered by a 24V battery, a 48V battery, or another power source) and / or based on an understanding that the power source can only provide a certain voltage (e.g., 40V) in certain circumstances (e.g., when discharged to a certain extent). The first input area 304 can be provided as a numeric input field or a drop-down menu for the user to select between multiple possible voltage level inputs.
[0092] The user interface 300 includes a second input area 306 in which a user can provide a current level input from one or more level inputs. In the example shown, the current level input is set to 10A. The current level input can be provided by the user based on an understanding of how the robot will be powered (e.g., whether the robot is powered by a battery with a maximum current of 10A) and / or based on whether other components will draw current from the same power source. The second input area 306 can be provided as a numeric input field or a drop-down menu for the user to select between multiple possible current level inputs.
[0093] The user interface 300 includes a third input area 308 in which a user can provide a power level input from one or more level inputs. In the example shown, the power level input is set to 480 W. The power level input can be provided by the user based on an understanding of how the robot will be powered (e.g., whether the robot will be powered by a power supply with a maximum power output of 480 W) and / or based on whether other components will draw current from the same power supply. The third input area 308 can be provided as a numeric input field or a drop-down menu for the user to select between multiple possible power level inputs.
[0094] In some examples, only some of the input areas 304, 306, 308 shown may be present. For example, the second input area 306 and / or the third input area 308 may be omitted. In some examples, since power, voltage, and current are related, the third value may be calculated when the user provides the other two values. However, in other examples, all power, voltage, and current may be available, and a value may be entered into each input area regardless of the values of the other two. In this case, the system may determine the specified current level as the lowest indication of the current level input of the second input area and the power level input of the third input area.
[0095] The exemplary user interface 300 also shows a plurality of waypoints 310 for the robot to follow. The plurality of waypoints 310 may form path data for the robot. The plurality of waypoints 308 may be given for one or more of the links and / or joints and / or end effectors of the robot.
[0096] Based on the voltage level input as provided in the first input area 304, the current level input as provided in the second input area 306 and / or the power level input as provided in the third input area 308 and the path data as provided by the plurality of path points 310, the movement of the robot's motors may be determined.
[0097] Figure 5 and Figure 6 An exemplary control unit 200 is schematically shown, as also described with reference to Figure 1 As mentioned. Figure 1 As shown, the control unit 200 shown is suitable for being arranged between the base of the robot and the structure to which the robot is to be fastened. However, in other examples, a control unit may be provided, which is arranged outside the robot, i.e. as a separate unit, which control unit may then be connected to the robot via one or more cables.
[0098] The control unit 200 includes a control unit housing 202. The control unit housing 202 includes a bottom plate 204 and a side wall 206. The side wall 206 may be an integrally formed side wall, or may be composed of a plurality of side wall portions (e.g., four side wall portions). The control unit housing 202 may also include a top plate 208, such as Figure 6 The bottom plate 204 is adapted to abut against a structure to which the robot is to be fastened.
[0099] The control unit 200 includes a control circuit 220 forming a main controller of the robot. The control circuit 220 may be a PCB. The control circuit 220 may include a processing unit 222.
[0100] The control unit 200 may include an energy consumption unit 230. The energy consumption unit 230 may achieve the following purpose: handle excess power on the power bus of the robot and / or from the motors of the robot, which may be generated when the motors of the robot are braking the ongoing movement. The energy consumption unit 230 may include one or more resistors 232, which can handle this excess power by converting it into heat. In the example shown, the energy consumption unit 230 includes four resistors 232. In other examples, the energy consumption unit 230 may include one resistor 232 for each motor of the joint assembly of the robot, i.e., seven resistors 232 for a seven-axis robot. In the example where the robot is powered by a battery, the excess power generated by the motor braking can be handled by charging the battery. Therefore, the use of the energy consumption unit 230 in a battery-powered facility can be omitted or reduced. Similarly, the energy consumption unit 230 can be omitted or reduced in a battery-powered facility.
[0101] The control unit 200 may include a power supply unit 240. The power supply unit 240 may be adapted to supply power to the robot, for example to supply power to electrical components of the robot. The power supply unit 240 may be connected to Figure 3 The power bus 120 of the embodiment of the present invention can be connected to the power supply unit 240. The power supply unit 240 can be connected to an input power source, such as a wall socket, which supplies 230VAC, for example. In other examples, the power supply unit 240 can be connected to an external battery, which supplies 48VDC, for example. In some examples, the power supply unit 240 can include an internal battery 241.
[0102] The control unit 200 may include one or more electrical control unit connectors 214, 216, 218, for example, a first electrical control unit connector 214, a second electrical control unit connector 216 and / or a third electrical control unit connector 218. The electrical control unit connectors 214, 216, 218 may include a plurality of corresponding control unit terminals 215, 217, 219. The first electrical control unit connector 214 may include a first control unit terminal 215. The second electrical control unit connector 216 may include a second control unit terminal 217. The third electrical control unit connector 218 may include a third control unit terminal 219.
[0103] The first electrical control unit connector 214 may be adapted to be coupled to a teach pendant connector for controlling and / or programming a teach pendant of the robot. The second electrical control unit connector 216 may be a power connector for connecting a power line for receiving power for powering the robot. For example, the power connector may be coupled to the power supply unit 240. The third electrical control unit connector 218 may be an Ethernet connector or a USB connector. One or more of the first, second or third electrical control unit connectors may be omitted, or additional electrical control unit connectors may be additionally included.
[0104] The first electrical control unit connector 214, the second electrical control unit connector 216, and / or the third electrical control unit connector 218 may be arranged through the side wall 202, as shown. As shown, the electrical control unit connectors 214, 216, 218 may be arranged through the same surface of the side wall 202. However, in other examples, the electrical control unit connectors 214, 216, 218 may be arranged to pass through different surfaces of the side wall 202.
[0105] The control unit 200 may include an attachment hole 212. The attachment hole allows the robot to be fastened on top of the control unit 200 and to the structure to which the robot will be fastened. For example, the attachment hole 212 may be a through hole that allows the bolt 22 (see FIG. 214 ) to be fastened. Figure 1 ) extend therethrough, thereby securing both the control unit 200 and the robot to the structure.
[0106] The present disclosure has been described with reference to the preferred embodiments. However, the scope of the present invention is not limited to the illustrated embodiments, and changes and modifications may be made without departing from the scope of the present invention.
[0107] Throughout the specification, the use of the terms "first", "second", "third", "fourth", "primary", "secondary", "tertiary", etc. does not imply any particular order or importance, but is included to identify the various elements. In addition, the label of a first element does not imply the existence of a second element, and vice versa.
[0108] Exemplary embodiments of the present disclosure are set forth in the following items:
[0109] 1. A method for controlling a robot, the robot comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, the method comprising:
[0110] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly;
[0111] - receiving one or more level inputs indicative of voltage levels and / or current levels;
[0112] - determining a plurality of movements of the plurality of motors based on the path data and the one or more level inputs.
[0113] 2. The method according to item 1 further comprises: controlling the operation of the plurality of motors to achieve the determined plurality of movements.
[0114] 3. A method according to any one of the preceding items, wherein the one or more level inputs are received from a user via a user interface, optionally wherein the one or more level inputs include a voltage level input and / or a current level input and / or a power level input.
[0115] 4. A method according to any one of the preceding items, wherein the one or more level inputs at least indicate a voltage level, and wherein determining the multiple movements includes determining the speed and / or acceleration of one or more of the multiple motors, wherein when the one or more level inputs indicate a first voltage level, the speed of one or more of the multiple motors is a first speed, and wherein when the one or more level inputs indicate a second voltage level lower than the first voltage level, the speed of one or more of the multiple motors is a second speed respectively lower than the first speed.
[0116] 5. The method of item 4, wherein the respective relative difference between the first speed and the second speed is proportional to the relative difference between the first voltage level and the second voltage level.
[0117] 6. A method according to any one of the preceding items, wherein the one or more level inputs at least indicate a current level, and wherein determining the multiple movements includes determining the speed and / or acceleration of one or more of the multiple motors, wherein, when the one or more level inputs indicate a main current level, the speed of one or more of the multiple motors is a main speed, and wherein, when the one or more level inputs indicate a secondary current level lower than the main current level, the speed of one or more of the multiple motors is a secondary speed respectively lower than the main speed.
[0118] 7. A method according to item 6, wherein the respective relative difference between the primary speed and the secondary speed is proportional to the relative difference between the primary current level and the secondary current level.
[0119] 8. The method according to any one of the preceding items, further comprising:
[0120] - receiving a voltage sensor input indicative of a voltage level of a power bus; and
[0121] - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold.
[0122] 9. A method according to item 8, wherein the one or more level inputs are indicative of a mains voltage level, and wherein the predetermined voltage threshold is lower than the mains voltage level, such as at least 5% lower than the mains voltage level.
[0123] 10. A method according to item 9, wherein modifying the multiple movements based on the voltage sensor input includes reducing the speed and / or acceleration of one or more of the multiple motors, and optionally, wherein the reduction in speed and / or acceleration of one or more of the multiple motors is proportional to the relative difference between the voltage level and the predetermined voltage threshold or the initial voltage level.
[0124] 11. The method according to any one of the preceding items, further comprising:
[0125] - receiving one or more updated level inputs; and
[0126] - modifying the plurality of movements based on the one or more updated level inputs in accordance with the one or more updated level inputs indicating a current level below a predetermined current threshold.
[0127] 12. A method according to item 11, wherein the one or more updated level inputs are based on an evaluation of the operation of a component external to the robot, and optionally, wherein the one or more updated level inputs are received from a power controller that evaluates the operation of the component external to the robot.
[0128] 13. A method according to item 11, wherein the robot forms part of a robot system, the robot system also including one or more external components, the one or more external components including a second robot and one or more of a motor, the motor being, for example, a motor of an AGV or AMR, and wherein the one or more updated level inputs are based on an evaluation of the operation of the one or more external components, and optionally, wherein the one or more updated level inputs are received from a power controller that evaluates the operation of the one or more external components.
[0129] 14. A method according to any one of items 11 to 13, wherein the one or more level inputs indicate an initial current level, and wherein the predetermined current threshold is lower than the initial current level, such as at least 5% lower than the initial current level.
[0130] 15. A method according to any one of items 11 to 14, wherein modifying the multiple movements based on the one or more updated level inputs includes reducing the speed and / or acceleration of one or more of the multiple motors, and optionally, wherein the reduction in speed and / or acceleration of one or more of the multiple motors is proportional to the relative difference between the current level indicated by the one or more updated level inputs and the predetermined current threshold, or is proportional to the relative difference between the current level indicated by the one or more updated level inputs and the initial current level indicated by the one or more level inputs.
[0131] 16. A robot, comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor,
[0132] The first joint assembly includes a first joint housing and the first main motor connecting the first joint housing with a first main connecting rod, wherein the first main motor is adapted to rotate the first main connecting rod relative to the first joint housing around a first main axis.
[0133] The second joint assembly includes a second joint housing and a second main motor connecting the second joint housing with a second main connecting rod, wherein the second main motor is adapted to rotate the second main connecting rod relative to the second joint housing around a second main axis.
[0134] The robot further comprises: a power bus that supplies power to the plurality of motors; and one or more controllers adapted to control operation of the plurality of motors to achieve a desired movement of the robot,
[0135] The one or more controllers are adapted to:
[0136] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly;
[0137] - receiving one or more level inputs indicative of voltage levels and / or current levels;
[0138] - determining a plurality of movements of the plurality of motors based on the path data and the one or more level inputs.
[0139] 17. The robot according to item 16, wherein the one or more controllers are further adapted to control the operation of the plurality of motors to achieve the determined plurality of movements.
[0140] 18. A method for controlling a robot, the robot comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, the method comprising:
[0141] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly;
[0142] - determining a plurality of movements of the plurality of motors based on the path data;
[0143] - receiving a voltage sensor input indicative of a voltage level of a power bus and / or receiving one or more update level inputs; and
[0144] - modifying the plurality of movements based on the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold, and / or modifying the plurality of movements based on the one or more updated level inputs indicating that the current level is below a predetermined current threshold.
[0145] 19. According to the method described in item 18, the method also includes: controlling the operation of the multiple motors to achieve the modified multiple movements based on the voltage sensor input indicating that the voltage level is lower than the predetermined voltage threshold and / or based on the one or more updated level inputs indicating that the current level is lower than the predetermined current threshold.
[0146] 20. A method for controlling a robot, the robot comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, the method comprising:
[0147] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly;
[0148] - determining a plurality of movements of the plurality of motors based on the path data;
[0149] - receiving a voltage sensor input indicative of a voltage level of a power bus; and
[0150] - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold.
[0151] 21. The method of item 20, further comprising: controlling the operation of the plurality of motors to achieve the modified plurality of movements based on the voltage sensor input indicating that the voltage level is below the predetermined voltage threshold.
[0152] 22. A method according to any one of items 18 to 21, wherein the predetermined voltage threshold is lower than the nominal voltage of the power bus, for example at least 5% lower than the nominal voltage, optionally, the nominal voltage is 48 volts.
[0153] 23. A method according to any one of items 18 to 22, wherein modifying the multiple movements based on the voltage sensor input includes: reducing the speed and / or acceleration of one or more of the multiple motors, and optionally, wherein the reduction in speed and / or acceleration of one or more of the multiple motors is proportional to the relative difference between the voltage level and the predetermined voltage threshold or the nominal voltage of the power bus.
[0154] 24. A method for controlling a robot, the robot comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, the method comprising:
[0155] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly;
[0156] - determining a plurality of movements of the plurality of motors based on the path data;
[0157] - receiving one or more updated level inputs; and
[0158] - modifying the plurality of movements based on the one or more updated level inputs in accordance with the one or more updated level inputs indicating that the current level is below a predetermined current threshold.
[0159] 25. The method of item 24, further comprising: controlling the operation of the plurality of motors to achieve the modified plurality of movements based on the one or more updated level inputs indicating that the current level is below the predetermined current threshold.
[0160] 26. A method according to any one of items 18 to 25, wherein the one or more updated level inputs are based on an evaluation of the operation of a component external to the robot, and optionally, wherein the one or more updated level inputs are received from a power controller that evaluates the operation of the component external to the robot.
[0161] 27. A method according to any one of items 18 to 25, wherein the robot forms part of a robot system, the robot system also including one or more external components, the one or more external components including a second robot and one or more of a motor, such as a motor of an AGV or AMR, and wherein the one or more updated level inputs are based on an evaluation of the operation of the one or more external components, and optionally wherein the one or more updated level inputs are received from a power controller that evaluates the operation of the one or more external components.
[0162] 28. A method according to any one of items 18 to 27, wherein modifying the multiple movements based on the one or more updated level inputs includes: reducing the speed and / or acceleration of one or more of the multiple motors, and optionally, wherein the reduction in speed and / or acceleration of one or more of the multiple motors is proportional to the relative difference between the current level indicated by the one or more updated level inputs and the predetermined current threshold or the normal maximum current level of the robot.
[0163] 29. A robot, comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor,
[0164] The first joint assembly includes a first joint housing and the first main motor connecting the first joint housing with a first main connecting rod, wherein the first main motor is adapted to rotate the first main connecting rod relative to the first joint housing around a first main axis.
[0165] The second joint assembly includes a second joint housing and a second main motor connecting the second joint housing with a second main connecting rod, wherein the second main motor is adapted to rotate the second main connecting rod relative to the second joint housing around a second main axis.
[0166] The robot further comprises: a power bus that supplies power to the plurality of motors; and one or more controllers adapted to control operation of the plurality of motors to achieve a desired movement of the robot,
[0167] The one or more controllers are adapted to:
[0168] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, a first joint assembly and / or a second joint assembly;
[0169] - determining a plurality of movements of the plurality of motors based on the path data;
[0170] - receiving a voltage sensor input indicative of a voltage level of said power bus; and
[0171] - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold.
[0172] 30. The robot according to item 29, wherein the one or more controllers are further adapted to: control the operation of the plurality of motors to achieve the modified plurality of movements based on the voltage sensor input indicating that the voltage level is below the predetermined voltage threshold.
[0173] 31. A robot, comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor,
[0174] The first joint assembly includes a first joint housing and the first main motor connecting the first joint housing with a first main connecting rod, wherein the first main motor is adapted to rotate the first main connecting rod relative to the first joint housing around a first main axis.
[0175] The second joint assembly includes a second joint housing and a second main motor connecting the second joint housing with a second main connecting rod, wherein the second main motor is adapted to rotate the second main connecting rod relative to the second joint housing around a second main axis.
[0176] The robot further comprises: a power bus that supplies power to the plurality of motors; and one or more controllers adapted to control operation of the plurality of motors to achieve a desired movement of the robot,
[0177] The one or more controllers are adapted to:
[0178] - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, a first joint assembly and / or a second joint assembly;
[0179] - determining a plurality of movements of the plurality of motors based on the path data;
[0180] - receiving one or more updated level inputs; and
[0181] - modifying the plurality of movements based on the one or more updated level inputs in accordance with the one or more updated level inputs indicating that the current level is below a predetermined current threshold.
[0182] 32. A robot according to item 31, wherein the one or more controllers are further adapted to: control the operation of the plurality of motors to achieve the modified plurality of movements based on the one or more updated level inputs indicating that the current level is lower than the predetermined current threshold.
[0183] 33. A robot according to any one of items 16 to 17 or 29 to 32, wherein the power bus is DC powered.
[0184] 34. A robot according to any one of items 16 to 17 or 29 to 33, comprising a control unit arranged below the base of the robot so as to be positioned between the base of the robot and the structure to which the robot is to be fastened, wherein the control unit comprises a main controller among the one or more controllers.
[0185] 35. A robot according to any one of items 16 to 17 or 29 to 34, comprising a battery, wherein the power bus is powered by the battery.
[0186] 36. A robot according to any one of items 16 to 17 or 29 to 35, wherein the power bus includes a power connector for connecting the power bus to an external power source, such as an external battery, wherein, optionally, the external power source is a DC power source, for example 24 volts or 48 volts.
[0187] 37. A robot according to any one of items 35 to 36 when dependent on item 34, wherein the control unit includes the battery and / or the power connector.
[0188] 38. The robot of any one of items 16 to 17 or 29 to 37, wherein the one or more controllers include a plurality of motor controllers that control the operation of the plurality of motors,
[0189] wherein the first joint assembly includes a first main motor controller that controls the operation of the first main motor, and
[0190] Wherein, modifying the plurality of movements comprises: the first main motor controller modifies the operation of the first main motor based on the voltage sensor input and / or based on the one or more updated level inputs, for example by adjusting the pulse width of a pulse width modulation signal transmitted to the first main motor.
[0191] 39. A robot according to any one of items 16 to 17 or 29 to 38, wherein the first joint assembly includes a first secondary motor connecting the first joint housing with the first secondary link, and the first secondary motor is suitable for rotating the first secondary link relative to the first joint housing around a first secondary axis that is not parallel to the first main axis.
[0192] 40. A control unit for a robot, the control unit being adapted to be arranged between a base of the robot and a structure to which the robot is to be fastened, the control unit comprising:
[0193] - a control unit housing, the control unit housing comprising a base and side walls, wherein the base is adapted to abut against the structure, the base and / or the side walls forming an inner surface of the control unit housing;
[0194] - a main controller adapted to:
[0195] - receiving a path indicating one or more paths to be followed by one or more parts of the robot;
[0196] Path data;
[0197] - receiving one or more level inputs indicative of voltage levels and / or current levels;
[0198] - determining a plurality of movements of a plurality of motors of the robot based on the path data and the one or more updated level inputs.
[0199] 41. A control unit according to item 40, wherein the main controller is further adapted to cause operation of the plurality of motors to achieve the determined plurality of movements.
[0200] 42. A control unit for a robot, the control unit being adapted to be arranged between a base of the robot and a structure to which the robot is to be fastened, the control unit comprising:
[0201] - a control unit housing, the control unit housing comprising a base and side walls, wherein the base is adapted to abut against the structure, the base and / or the side walls forming an inner surface of the control unit housing;
[0202] - a main controller adapted to:
[0203] - receiving a path indicating one or more paths to be followed by one or more parts of the robot;
[0204] Path data;
[0205] - determining a plurality of movements of a plurality of motors of the robot based on the path data;
[0206] - receiving a voltage sensor input indicative of a voltage level of a power bus of the robot; and
[0207] - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold.
[0208] 43. A control unit according to item 42, wherein the main controller is further adapted to: cause operation of the plurality of motors to achieve the modified plurality of movements based on the voltage sensor input indicating that the voltage level is below the predetermined voltage threshold.
[0209] 44. A control unit for a robot, the control unit being adapted to be arranged between a base of the robot and a structure to which the robot is to be fastened, the control unit comprising:
[0210] - a control unit housing, the control unit housing comprising a base and side walls, wherein the base is adapted to abut against the structure, the base and / or the side walls forming an inner surface of the control unit housing;
[0211] - a main controller adapted to:
[0212] - receiving a path indicating one or more paths to be followed by one or more parts of the robot;
[0213] Path data;
[0214] - determining a plurality of movements of a plurality of motors of the robot based on the path data;
[0215] - receiving a voltage sensor input indicative of a voltage level of a power bus of the robot; and
[0216] - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold.
[0217] 45. A control unit according to item 44, wherein the main controller is further adapted to cause operation of the plurality of motors to achieve the modified plurality of movements in response to the voltage sensor input indicating that the voltage level is below the predetermined voltage threshold.
[0218] 46. A control unit according to any one of items 40 to 45, comprising a battery and wherein the power bus is powered by the battery.
[0219] 47. A control unit according to any one of items 40 to 46, comprising a power connector for connecting the power bus to an external power source, such as an external battery, wherein, optionally, the external power source is a DC power source, for example 24 volts or 48 volts.
[0220] Reference numerals list
[0221] 2. Robot
[0222] 4 Base
[0223] 6First connecting rod
[0224] 8First joint assembly
[0225] 10 Second connecting rod
[0226] 12 Second joint assembly
[0227] 14Third connecting rod
[0228] 16Third joint assembly
[0229] 18 Fourth connecting rod
[0230] 20 Fourth joint assembly
[0231] 22 Fastening bolts
[0232] 24 First electrical base connector
[0233] 25 External power supply
[0234] 26 Second electrical base connector
[0235] 90 joint components
[0236] 92 Main connecting rod
[0237] 94 connecting rod
[0238] 100 joint housing
[0239] 102 Main motor
[0240] 104 auxiliary motor
[0241] 106 Circuit
[0242] 120 power bus
[0243] 121 Power Connector
[0244] 122 Main Controller
[0245] 122A, 122B, 122C, 122D Motor Controllers
[0246] 200 control unit
[0247] 202 control unit housing
[0248] 204 base plate
[0249] 206 side wall
[0250] 208 Top Plate
[0251] 212 attachment holes
[0252] 214 First electrical control unit connector
[0253] 215 First control unit terminal
[0254] 216 Second electrical control unit connector
[0255] 217 Second control unit terminal
[0256] 218 Third electrical control unit connector
[0257] 219 Third control unit terminal
[0258] 220 control circuit
[0259] 222 Processing Unit
[0260] 230 energy consumption units
[0261] 232 Resistors
[0262] 240 Power Supply Unit
[0263] 300 User Interface
[0264] 302 Teaching Pendant
[0265] 304 First input area
[0266] 306 Second input area
[0267] 308 Third input area
[0268] 310 waypoints
[0269] Ax1 first axis
[0270] Ax2 Second axis
[0271] Ax3 third axis
[0272] Ax4 fourth axis
[0273] Ax5 fifth axis
[0274] Ax6 Sixth Axis
[0275] Ax7 Seventh Axis
Claims
1. A method for controlling a robot, the robot comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, the method comprising: - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly; - receiving one or more level inputs indicative of voltage levels and / or current levels; - determining a plurality of movements of the plurality of motors based on the path data and the one or more level inputs.
2. The method according to claim 1, wherein: The one or more level inputs are received from a user via a user interface, optionally wherein the one or more level inputs include a voltage level input and / or a current level input and / or a power level input.
3. A method according to any one of the preceding claims, wherein: The one or more level inputs indicate at least a voltage level, and wherein determining the multiple movements includes determining a speed and / or acceleration of one or more of the multiple motors, wherein when the one or more level inputs indicate a first voltage level, the speed of one or more of the multiple motors is a first speed, and wherein when the one or more level inputs indicate a second voltage level lower than the first voltage level, the speed of one or more of the multiple motors is a second speed lower than the first speed, respectively.
4. The method according to claim 3, wherein: The respective relative difference between the first speed and the second speed is proportional to the relative difference between the first voltage level and the second voltage level.
5. A method according to any one of the preceding claims, wherein: The one or more level inputs indicate at least a current level, and wherein determining the multiple movements includes determining a speed and / or acceleration of one or more of the multiple motors, wherein, when the one or more level inputs indicate a primary current level, the speed of one or more of the multiple motors is a primary speed, and wherein, when the one or more level inputs indicate a secondary current level lower than the primary current level, the speed of one or more of the multiple motors is a secondary speed respectively lower than the primary speed.
6. The method according to claim 5, wherein: The respective relative difference between the primary speed and the secondary speed is proportional to the relative difference between the primary current level and the secondary current level.
7. The method according to any one of the preceding claims, further comprising: - receiving a voltage sensor input indicative of a voltage level of a power bus; as well as - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage sensor input indicating that the voltage level is below a predetermined voltage threshold.
8. The method according to claim 7, wherein: The one or more level inputs are indicative of a mains voltage level, and wherein the predetermined voltage threshold is below the mains voltage level, such as at least 5% below the mains voltage level.
9. The method according to claim 8, wherein: Modifying the plurality of movements based on the voltage sensor input comprises reducing the speed and / or acceleration of one or more of the plurality of motors, and optionally wherein the reduction in speed and / or acceleration of one or more of the plurality of motors is proportional to a relative difference between the voltage level and the predetermined voltage threshold or the main voltage level.
10. The method according to any one of the preceding claims, further comprising: - receiving one or more updated level inputs; as well as - modifying the plurality of movements based on the one or more updated level inputs in accordance with the one or more updated level inputs indicating a current level below a predetermined current threshold.
11. The method according to claim 10, wherein: The robot forms part of a robot system, which also includes one or more external components, the one or more external components including a second robot and one or more of a motor, such as a motor of an AGV or AMR, and wherein the one or more updated level inputs are based on an evaluation of the operation of the one or more external components, and optionally wherein the one or more updated level inputs are received from a power controller that evaluates the operation of the one or more external components.
12. The method according to any one of claims 10 to 11, wherein: The one or more level inputs are indicative of an initial current level, and wherein the predetermined current threshold is below the initial current level, such as at least 5% below the initial current level.
13. The method according to any one of claims 10 to 12, wherein: Modifying the multiple movements based on the one or more updated level inputs includes reducing the speed and / or acceleration of one or more of the multiple motors, and optionally, wherein the reduction in speed and / or acceleration of one or more of the multiple motors is proportional to the relative difference between the current level indicated by the one or more updated level inputs and the predetermined current threshold, or is proportional to the relative difference between the current level indicated by the one or more updated level inputs and an initial current level indicated by the one or more level inputs.
14. A robot, comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, The first joint assembly includes a first joint housing and the first main motor connecting the first joint housing with a first main connecting rod, wherein the first main motor is adapted to rotate the first main connecting rod relative to the first joint housing around a first main axis. The second joint assembly includes a second joint housing and a second main motor connecting the second joint housing with a second main connecting rod, wherein the second main motor is adapted to rotate the second main connecting rod relative to the second joint housing around a second main axis. The robot also includes: a power bus, the power bus supplying power to the plurality of motors; and one or more controllers adapted to control the operation of the plurality of motors to achieve a desired movement of the robot, The one or more controllers are adapted to: - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts including, for example, the first joint assembly and / or the second joint assembly; - receiving one or more level inputs indicative of voltage levels and / or current levels; - determining a plurality of movements of the plurality of motors based on the path data and the one or more level inputs.
15. A method for controlling a robot, the robot comprising a plurality of joint assemblies, the plurality of joint assemblies comprising a first joint assembly and a second joint assembly, the robot further comprising a plurality of motors, the plurality of motors comprising a first main motor and a second main motor, the method comprising: - receiving path data indicating one or more paths to be followed by one or more parts of the robot, the one or more parts comprising, for example, the first joint assembly and / or the second joint assembly; - determining a plurality of movements of the plurality of motors based on the path data; - receiving a voltage sensor input indicative of a voltage level of a power bus and / or receiving one or more update level inputs; as well as - modifying the plurality of movements based on the voltage sensor input in accordance with the voltage level indicating that the voltage level is below a predetermined voltage threshold, and / or modifying the plurality of movements based on the one or more updated level inputs in accordance with the one or more updated level inputs indicating that the current level is below a predetermined current threshold.