Modular robotic device and method for operating the same
Through the design of the modular robot device, the use of interchangeable rigid segments and joint parts, combined with a computerized control system, the problem of insufficient flexibility and efficiency of robot arms in the operation of complex workpieces in the prior art is solved, and the flexibility is achieved. Accurate workpiece operation.
Patent Information
- Application Number
- CN202111517021.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-13
- Filing Date
- 2021-12-13
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-12-13
AI Technical Summary
When performing complex tasks, existing robot arms have difficulty in flexibly adjusting their structures to adapt workpieces of different sizes and shapes, and it is difficult to effectively utilize the minimum number of degrees of freedom to improve operational efficiency.
A modular robot device is designed, including multiple interchangeable modular rigid segments and joint parts, programmed by a computerized control system, capable of modeling in the context of workpieces and determining the minimum number of degrees of freedom required, Achieve flexible operation of workpieces.
The robot arm is realized with multiple degrees of freedom and flexibility, and the modular rigid segments and joint parts can be selectively assembled according to task details, improving the operating efficiency and accuracy of complex workpieces.
Smart Images

Figure CN114762973B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to a modular robotic device and a method for operating a modular robotic device. Background Art
[0002] Robotic arms are useful for performing numerous tasks. In one embodiment, a robotic arm may be useful in a manufacturing environment, where the robotic arm performs one or more tasks on a product being manufactured. Exemplary robotic arms may include a paint sprayer, a welding attachment, or a drill attachment.
[0003] The product being manufactured may be relatively large or relatively small, with varying degrees of complexity in the product being manufactured. In an example, a motor vehicle may include thousands of parts assembled to the body or chassis of the vehicle. A robotic arm may be tasked with installing a fuse box near a brake pedal inside a vehicle, wherein the robotic arm may enter through an open window, navigate around seats and steering wheels, and adjust the angle and rotation of the fuse box to match the location and orientation inside the vehicle where it will be installed. The robotic arm may include the ability to articulate, or may include a useful number of degrees of freedom to achieve the desired task. Summary of the invention
[0004] A modular robotic device is provided. The modular robotic device includes: a robotic base; and a robotic manipulator connected to the robotic base and operable to articulate a tool device connected to an end of the robotic manipulator. The robotic manipulator includes a plurality of modular rigid segments, wherein each of the plurality of modular rigid segments includes an articulated portion and each is operable to selectively connect to the robotic manipulator. The plurality of modular rigid segments are interchangeable and operable to be assembled in various combinations.
[0005] In some embodiments, the plurality of modular rigid segments include a first rigid segment including a first joint portion. The plurality of modular rigid segments further include a second rigid segment connected to the first joint portion and including a second joint portion connected to the second rigid segment. The plurality of modular rigid segments further include a third rigid segment connected to the second joint portion and including a third joint portion connected to the third rigid segment. The plurality of modular rigid segments further include a fourth rigid segment connected to the third joint portion and including a fourth joint portion connected to the fourth rigid segment. The plurality of modular rigid segments further include a fifth rigid segment connected to the fourth joint portion and including a fifth joint portion connected to the fifth rigid segment. The plurality of modular rigid segments further include a sixth rigid segment connected to the fifth joint portion and including a sixth joint portion connected to the sixth rigid segment. The plurality of modular rigid segments further include a seventh rigid segment connected to the sixth joint portion.
[0006] In some embodiments, each of the modular rigid segments includes a connection cable operable to transmit one of data and power through the modular rigid segment.
[0007] In some embodiments, each of the modular rigid segments includes a plurality of connection cables operable to transmit data and power through the modular rigid segment.
[0008] In some embodiments, at least one of the articulation portions is operable to change an angle of a longitudinal axis of a first one of the plurality of modular rigid segments relative to a longitudinal axis of a second one of the plurality of modular rigid segments.
[0009] In some embodiments, at least one of the joint portions is operable to rotate a first one of the plurality of modular rigid segments relative to a second one of the plurality of modular rigid segments while maintaining a common longitudinal axis between the first one of the plurality of modular rigid segments and the second one of the plurality of modular rigid segments.
[0010] In some embodiments, the robotic base is movable and operable to move alongside a mobile workpiece and the robotic device is operable to perform work on the mobile workpiece such that the robotic manipulator can perform a task on the mobile workpiece.
[0011] In some embodiments, the modular robotic apparatus further includes a computerized control system including programming to: model operation of a robotic manipulator in the context of a workpiece on which the robotic apparatus is operable to perform work; and generate a determined minimum number of degrees of freedom useful for operating the robotic manipulator in the context of the workpiece. The robotic manipulator is operable to include the determined minimum number of degrees of freedom.
[0012] In some embodiments, modeling the operation of the robotic manipulator includes defining a plurality of states, including an initial state, one or more intermediate states, and a final state, through which the robotic manipulator may transition to complete the operation of the workpiece.
[0013] According to an alternative embodiment, a modular robotic device is disclosed. The modular robotic device includes: a robot base; and a robotic manipulator connected to the robot base and operable to articulate a tool device, the tool device connected to an end of the robotic manipulator. The robotic manipulator includes a plurality of modular rigid segments, each modular rigid segment including an articulated portion and each operable to selectively connect to and disconnect from the robotic manipulator. The modular robotic device further includes a computerized control system including programming to: model the operation of the robotic manipulator in the context of a workpiece, the robotic device operable to perform work on the workpiece; and generate a determined minimum number of degrees of freedom useful for operating the robotic manipulator in the context of the workpiece. Each of the modular rigid segments includes a connecting cable operable to transmit one of data and power through the modular rigid segment. The robotic manipulator is operable to include the determined minimum number of degrees of freedom. The plurality of modular rigid segments are interchangeable and operable to be assembled in various combinations.
[0014] In some embodiments, each of the modular rigid segments includes a plurality of connection cables operable to transmit data and power through the modular rigid segment.
[0015] In some embodiments, at least one of the articulation portions is operable to change an angle of a longitudinal axis of a first one of the plurality of modular rigid segments relative to a longitudinal axis of a second one of the plurality of modular rigid segments. At least one of the articulation portions is operable to rotate the first one of the plurality of modular rigid segments relative to the second one of the plurality of modular rigid segments while maintaining a common longitudinal axis between the first one of the plurality of modular rigid segments and the second one of the plurality of modular rigid segments.
[0016] In some embodiments, the robotic base is movable and operable to move alongside a mobile workpiece and the robotic device is operable to perform work on the mobile workpiece such that the robotic manipulator can perform a task on the mobile workpiece.
[0017] In some embodiments, modeling the operation of the robotic manipulator includes defining a plurality of states, including an initial state, one or more intermediate states, and a final state, through which the robotic manipulator may transition to complete the operation of the workpiece.
[0018] According to an alternative embodiment, a method for operating a modular robotic device is disclosed. The method includes operating programming within a computerized processor to: monitor the geometry and constraints describing a workpiece and an operation to be performed on the workpiece; and determine a plurality of states through which the modular robotic device can move based on the monitored geometry and constraints to achieve the operation to be performed. The method further includes operating programming within the computerized processor to: analyze the plurality of states to determine a minimum number of degrees of freedom in a robotic manipulator of the modular robotic device; and generate a recommended robotic manipulator configuration, the robotic manipulator configuration including the number of rigid segments to be used and the type of joint segments to be used.
[0019] In some embodiments, the method further comprises assembling a plurality of modular rigid segments to a robot base based on the recommended robotic manipulator configuration, each of the plurality of modular rigid segments comprising a joint portion.
[0020] In some embodiments, generating a recommended robotic manipulator configuration including a type of joint portion to use includes determining an operation including bending the robotic manipulator of the modular robotic apparatus and determining an operation including rotating the robotic manipulator.
[0021] The present invention provides the following technical solutions:
[0022] 1. A modular robotic device comprising:
[0023] a robot base; and
[0024] a robotic manipulator connected to the robot base and operable to articulate a tool device connected to an end of the robotic manipulator, the robotic manipulator comprising a plurality of modular rigid segments, each modular rigid segment comprising an articulated portion and each modular rigid segment operable to be selectively connected to the robotic manipulator; and
[0025] Wherein, the plurality of modular rigid segments are interchangeable and operable to be assembled in various combinations.
[0026] 2. The modular robotic apparatus of claim 1, wherein the plurality of modular rigid segments comprises:
[0027] a first rigid segment including a first articulated portion;
[0028] a second rigid segment connected to the first articulation portion and including a second articulation portion connected to the second rigid segment;
[0029] a third rigid segment connected to the second articulation portion and comprising a third articulation portion connected to the third rigid segment;
[0030] a fourth rigid segment connected to the third articulation portion and comprising a fourth articulation portion connected to the fourth rigid segment;
[0031] a fifth rigid segment connected to the fourth articulation portion and comprising a fifth articulation portion connected to the fifth rigid segment;
[0032] a sixth rigid segment connected to the fifth joint portion and including a sixth joint portion connected to the sixth rigid segment; and
[0033] A seventh rigid segment is connected to the sixth joint portion.
[0034] 3. A modular robotic device according to claim 1, wherein each of the plurality of modular rigid segments includes a connecting cable operable to transmit one of data and power through the modular rigid segments.
[0035] 4. A modular robotic device according to claim 1, wherein each of the plurality of modular rigid segments comprises a plurality of connecting cables operable to transmit data and power through the modular rigid segments.
[0036] 5. A modular robotic device according to Option 1, wherein at least one of the joint portions is operable to change the angle of the longitudinal axis of the first of the plurality of modular rigid segments relative to the longitudinal axis of the second of the plurality of modular rigid segments.
[0037] 6. A modular robotic device according to claim 1, wherein at least one of the joint portions is operable to rotate a first one of the plurality of modular rigid segments relative to a second one of the plurality of modular rigid segments while maintaining a common longitudinal axis between the first one of the plurality of modular rigid segments and the second one of the plurality of modular rigid segments.
[0038] 7. A modular robotic device according to Option 1, wherein the robot base is movable and operable to move alongside a mobile workpiece, the modular robotic device being operable to perform work on the mobile workpiece so that the robotic manipulator can perform tasks on the mobile workpiece.
[0039] 8. The modular robotic apparatus of claim 1, further comprising a computerized control system, the computerized control system comprising programming to:
[0040] modeling the operation of the robotic manipulator in the context of a workpiece upon which the modular robotic apparatus is operable to perform work; and
[0041] generating a determined minimum number of degrees of freedom useful for operating the robotic manipulator in the context of the workpiece; and
[0042] Therein, the robotic manipulator is operable to include the determined minimum number of degrees of freedom.
[0043] 9. A modular robotic device according to Option 8, wherein modeling the operation of the robotic manipulator includes: defining multiple states, the multiple states including an initial state, one or more intermediate states, and a final state, and the robotic manipulator will transition through the multiple states to complete the operation of the workpiece.
[0044] 10. A modular robotic device comprising:
[0045] Robot base;
[0046] a robotic manipulator connected to the robot base and operable to articulate a tool device connected to an end of the robotic manipulator, the robotic manipulator comprising a plurality of modular rigid segments, each modular rigid segment comprising an articulated portion and each modular rigid segment operable to selectively connect to and disconnect from the robotic manipulator; and
[0047] A computerized control system including programming to:
[0048] modeling the operation of the robotic manipulator in the context of a workpiece on which the robotic device is operable to perform work; and
[0049] generating a determined minimum number of degrees of freedom useful for operating the robotic manipulator in the context of the workpiece; and
[0050] wherein each of the plurality of modular rigid segments includes a connection cable operable to transmit one of data and power through the modular rigid segment;
[0051] wherein the robotic manipulator is operable to include the determined minimum number of degrees of freedom; and
[0052] Wherein, the plurality of modular rigid segments are interchangeable and operable to be assembled in various combinations.
[0053] 11. A modular robotic device according to embodiment 10, wherein each of the plurality of modular rigid segments includes a plurality of connecting cables operable to transmit data and power through the modular rigid segments.
[0054] 12. The modular robotic apparatus of claim 10, wherein at least one of the joint portions is operable to change an angle of a longitudinal axis of a first one of the plurality of modular rigid segments relative to a longitudinal axis of a second one of the plurality of modular rigid segments; and
[0055] wherein at least one of the joint portions is operable to rotate a first one of the plurality of modular rigid segments relative to a second one of the plurality of modular rigid segments while maintaining a common longitudinal axis between the first one of the plurality of modular rigid segments and the second one of the plurality of modular rigid segments.
[0056] 13. A modular robotic device according to Option 10, wherein the robot base is movable and operable to move alongside a mobile workpiece, the modular robotic device being operable to perform work on the mobile workpiece so that the robotic manipulator can perform tasks on the mobile workpiece.
[0057] 14. A modular robotic device according to Option 10, wherein modeling the operation of the robotic manipulator includes: defining multiple states, the multiple states including an initial state, one or more intermediate states, and a final state, and the robotic manipulator will transition through the multiple states to complete the operation of the workpiece.
[0058] 15. A method of operating a modular robotic apparatus, the method comprising:
[0059] Operate within a computerized processor programmed to:
[0060] monitoring the geometry and constraints describing a workpiece and operations to be performed on said workpiece;
[0061] determining a plurality of states through which the modular robotic apparatus moves based on the monitored geometry and constraints to achieve the operation to be performed;
[0062] analyzing the plurality of states to determine a minimum number of degrees of freedom in a robotic manipulator of the modular robotic apparatus; and
[0063] A recommended robotic manipulator configuration is generated, including the number of rigid segments to be used and the type of joint segments to be used.
[0064] 16. The method according to claim 15, further comprising:
[0065] Based on the recommended robotic manipulator configuration, a plurality of modular rigid segments, each of which includes a joint portion, are assembled to a robotic base.
[0066] 17. The method of claim 15, wherein monitoring the geometry and constraints describing the workpiece and the operations to be performed on the workpiece comprises monitoring the operation of a mobile robot base and corresponding movement of the workpiece.
[0067] 18. A method according to claim 15, wherein generating a recommended robotic manipulator configuration including the type of joint portion to be used includes: determining an operation including bending the robotic manipulator of the modular robotic device, and determining an operation including rotating the robotic manipulator.
[0068] The above features and advantages and other features and advantages of the present disclosure are readily apparent from the following detailed description of the best modes for carrying out the disclosure when taken in connection with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] Figure 1 schematically illustrates an exemplary control system for controlling an actual robotic device according to the present disclosure;
[0070] Figure 2 is a flow chart illustrating a method for determining an intermediate point between a first state and a second state according to the present disclosure;
[0071] Figure 3 is a flow chart illustrating commands issued by a motor control module according to the present disclosure;
[0072] Figure 4 schematically illustrates an exemplary robotic manipulator according to the present disclosure including two adjacent joint portions operable to bend the robotic manipulator in reference planes rotated at a 90 degree angle to each other;
[0073] Figure 5 schematically illustrates an exemplary robotic manipulator having rigid segments and articulated portions that decrease in size along the length of the robotic manipulator in accordance with the present disclosure;
[0074] Figure 6 schematically illustrates an exemplary robotic manipulator according to the present disclosure including modular rigid segments and articulated portions useful for selectively assembling the robotic manipulator according to a desired overall length of the robotic manipulator and desired degrees of freedom in the robotic manipulator;
[0075] Figure 7 schematically illustrates a display screen of an operator interface providing simulated operation of an actual robotic device according to the present disclosure;
[0076] Figure 8 Schematically illustrates the Figure 7 a display screen wherein a new robotic configuration may be defined and commands entered into the simulated robotic device using requested additional tasks of the simulated robotic device;
[0077] Fig. 9 schematically illustrates an exemplary actual robotic device according to the present disclosure, the actual robotic device being operable to move alongside a moving workpiece such that the actual robotic device can perform a task on the moving workpiece;
[0078] Fig.10 illustrates an exemplary rigid segment in accordance with the present disclosure, the rigid segment being integrally formed with an attached articulation portion and including mechanical, electrical and signal connections at each end;
[0079] Fig.11 illustrates an exemplary rigid segment according to the present disclosure, the rigid segment being provided separately from the articulation portion, wherein each is selectively attached and each includes mechanical, electrical and signal connections;
[0080] Figure 12-14 illustrates an additional exemplary first rigid segment and an articulation portion operable to bend a second attached rigid segment relative to the first rigid segment in accordance with the present disclosure;
[0081] Figure 15-17 illustrates an additional exemplary first rigid segment and an articulation portion operable to rotate a second attached rigid segment relative to the first rigid segment in accordance with the present disclosure;
[0082] Fig.18 is a flow chart illustrating a control software and inverse kinematics solver modular approach according to the present disclosure;
[0083] Fig.19Schematically illustrates the Figure 1 A motor control module; and
[0084] Fig. 20 is a flow chart illustrating an exemplary method for operating a modular robotic apparatus according to the present disclosure. DETAILED DESCRIPTION
[0085] A system and method for a multi-degree-of-freedom, flexible and modular snake-like robotic arm is provided. A manufacturing method may include a set of defined constraints. Based on the defined constraints, a minimum number of degrees of freedom for the robotic arm to implement the manufacturing method may be defined. Based on the defined constraints and the minimum number of degrees of freedom, a robotic arm may be selected to implement the manufacturing method.
[0086] The robot arm may include a first segment including a first rigid section and a second segment including a second rigid section. A joint may be used to connect the first segment to the second segment. The joint may include a bending hinge portion that enables the second segment to change angle relative to the first segment. The bending hinge portion may be likened to a human elbow joint and may include operation in a single plane, wherein the manipulated segment may change the angle of the second segment around a fixed axis or change the angle of the second segment with a single degree of freedom. The joint may alternatively include a rotating portion, wherein the second segment may rotate around a fixed axis coinciding with the longitudinal axis of the first segment or rotate with a single degree of freedom. The joint may alternatively include a two-degree-of-freedom universal joint portion, similar to a human shoulder joint, which enables the second segment to change angle relative to the first segment around two axes. The robot device disclosed herein may be modular, meaning that the robot may be selectively constructed based on the details of the assigned work tasks, wherein additional modular rigid segments and joint portions may be added or removed as needed. The robot device may similarly operate independently of a number of attached modular rigid segments, wherein each additional modular rigid segment increases the number of degrees of freedom that the robot device may employ.
[0087] Figure 1 An exemplary computerized control system for controlling an actual robotic device 30 is schematically illustrated. The control system converts operator inputs into instructions for the actual robotic device 30. A first portion of the control system includes a computerized interface 10, where an operator creates commands executable by the actual robotic device 30. A second portion of the control system includes a motor control module 20, which converts the commands into movement operations of the actual robotic device 30. The actual robotic device 30 includes a robotic manipulator or robotic arm including a plurality of rigid segments, each of which is connected to at least one other rigid segment by a manipulable joint portion.
[0088] The computerized interface 10 provides a console for the operator to provide operator input to the motor control module 20. The motor control module 20 converts the operator input into movement commands by determining the intermediate points, speeds of the joints and actuators, movement types, and commands for one or more tools connected to the robotic manipulator. The commands entered by the operator are saved in the computerized programming in a format called a virtual state. Through the interface, one can use a virtual robot or simulated robotic device created by mathematical modeling to imitate the actual robotic device 30. Additionally, through the computerized interface 10, the computerized model of the workpiece worked by the actual robotic device 30 can be used to select configuration options of the actual robotic device 30 in the following manner: Enable the simulated configuration of the simulated robotic device, such as determining the minimum number of degrees of freedom of the simulated robotic device that is useful for the simulated robotic device to move around obstacles skillfully and complete the programmed task. This function acts as a digital copy of the actual robotic device to assist in determining the trajectory connecting the robot movement path points provided by the operator. By this method, a list of coordinates and movement instructions to be followed by the motor control module 20 of the actual robotic device 30 is recorded.
[0089] The motor control module 20 generates instructions or commands for the actual robotic device 30. The motor control module 20 may generate commands in a synchronized method or in a synchronized sequence. For example, commands to control the speed of movement and commands related to the angle of each joint portion of the robotic manipulator in order to provide a desired sequence of movements in the robotic manipulator. Additionally, data may be provided to the motor control module 20 from sensors located on the robotic manipulator. This data provided to the motor control module 20 may be utilized to provide feedback control of the robotic manipulator through a desired sequence of movements.
[0090] Transforming the operator's input into commands useful for controlling the robotic manipulator through a desired sequence of movements may include the operator providing an initial state, one or more intermediate states, and a final state, the sequence of states including position and orientation information useful for controlling the movement and / or posture of the robotic manipulator. Inputting information associated with each of the sequence of states may include determining a plurality of control parameters for each of the states. These control parameters may include the current angle of each joint portion of the manipulator, the coordinates of a tool device attached to the end of the robotic manipulator, whether the intermediate point will maintain the current orientation, the type of movement commanded, feedback data provided by sensors monitoring the robotic manipulator, and a programmed reference system. The programmed reference system includes reference values for the coordinates used in the commands. The programmed reference system may be static, for example, with reference to an exemplary surface point, or dynamic, for example, with reference to a product moving down an assembly line. The angles and coordinates are useful for recreating the desired posture of the robotic manipulator for each of the sequence of states through the desired sequence of movements.
[0091] The movement of the robotic manipulator from the first in a series of states to the second in a series of states may include linear or straight-line motion. For example, an operator may command a tool attached to the end of the robotic manipulator to move from one position to another along a straight line. In another example, the operator may command the tool to move from one position to another while maintaining the position and orientation of one of the joint portions of the robotic manipulator through the movement. In another example, the operator may independently command the movement of each of the joint portions of the robotic manipulator by moving from one state to another. The path between two states may be discretized or subdivided into multiple smaller movements, for example to cause the robotic manipulator to navigate through or around obstacles near the robotic manipulator. Control of the robotic manipulator through multiple states or subdivisions may be described as controlling the robotic manipulator through multiple intermediate points or intersections.
[0092] The control parameters and feedback from sensors monitoring the robotic manipulator provide certainty about the state of the robotic manipulator until the next intermediate point.
[0093] Four exemplary combinations of information are provided to produce different types of movements of the robotic manipulator.
[0094]
[0095] *Euler convention - yaw: rotation around the x-axis; pitch: rotation around the y-axis; roll: rotation around the z-axis;
[0096] Table 1: Exemplary motion types commanded to a robotic manipulator.
[0097] Table 1 illustrates four examples of different types of movements that can be commanded of a robotic manipulator. The computational complexity increases progressively from top to bottom, with Type 1 having the lowest computational complexity in the example and with Type 4 having the highest computational complexity in the example. Computational complexity describes increasing limitations and problems of mathematical solvability. Computational complexity may alternatively be described as computational load. Computational complexity increases with increasing variables such as the number of rigid segments / number of joints and the maximum velocity of each joint. If the calculations include the use of kinematics, the movement of the robotic manipulator from one state to the next may be complex or challenging, and discretization of the movement with intermediate points may be useful.
[0098] Type 1 motion may include a simple translation of a robotic manipulator from one Cartesian coordinate to another. Type 1 motion does not include control of the orientation of the robotic manipulator or control of the trajectory of the manipulator during the movement. Type 2 motion may include translation of the robotic manipulator from one Cartesian coordinate to another Cartesian coordinate, and additionally includes control of the initial and final orientation of the robotic manipulator. In one embodiment, in Type 2 motion, neither the orientation along the trajectory nor the trajectory itself may be controlled. For example, Type 3 motion may include control of the trajectory of the robotic manipulator to perform linear, circular, and spline trajectories. Type 3 motion does not include control of the orientation of the robotic manipulator during the movement. Type 4 motion may include control of the trajectory of the robotic manipulator and control of the orientation of the robotic manipulator during the movement. Therefore, Type 4 motion can be used to control the motion of the robotic manipulator through complex operations (such as spraying paint or welding), and to control the motion to avoid obstacles in the environment of the robotic manipulator.
[0099] The (inverse) kinematics module is responsible for converting the information input by the user into angle values of the joints for controlling movement types 3 and / or 4. Using as input the initial and final destinations of the tool center point and the type of movement to be performed between them, the prescribed path is divided into small segments (intermediate points). Between each intermediate point, the robot necessarily performs movements of type 1 and / or 2 in a continuous manner until the target position and orientation notified by the user is achieved. The intermediate points enable acceptable trajectory errors in terms of position and orientation to be achieved.
[0100] When the distance between one state and the next is relatively large, the method may include breaking down the movement into intermediate points or extrapolating the operator's instructions to include sub-steps. For example, if a tool at the end of a robotic manipulator is commanded to move along a straight line, but the straight line is longer than the robotic manipulator can achieve with commands to one pair of joints, the command may be broken down into incremental commands to two pairs of joints. The system may include a library of sub-steps useful for implementing complex or difficult commands.
[0101] Figure 21 is a flow chart illustrating a method for determining an intermediate point between a first state and a second state. The method 100 starts at step 102. At step 104, a distance between a current robot position and a destination robot position is calculated. The current robot position and the destination robot position may be the position of a tool connected to an end of a robotic manipulator. In another embodiment, for example, in the case of controlling a robotic manipulator to enter or exit a workpiece, the current robot position and the destination robot position may include the position of a joint portion in the middle of the robotic manipulator, where the position may be transformed to achieve entry or exit. In step 106, the distance between the current robot position and the destination robot position may be discretized or decomposed into sub-portions so that the distance may be defined in discrete steps between the current robot position and the destination robot position. The discrete steps may be collectively described as a commanded motion of the robotic manipulator. At step 108, one of the discrete steps is defined and a robotic manipulator movement that achieves the discrete step is determined. At step 110, it is determined whether the discrete step satisfies linearity and orientation criteria or limitations. If the discrete steps do not satisfy the linearity and orientation criteria, the method returns to step 108, where the discrete steps are determined with an increased variation margin for the linearity and orientation criteria included in the determinations. If the discrete steps do satisfy the linearity and orientation criteria, the method proceeds to step 112, where the discrete steps are saved, and the method proceeds to step 114. At step 114, it is determined whether the most recently saved discrete steps achieve the destination position of the robotic manipulator. If the most recently saved discrete steps do not achieve the destination position, the method returns to step 108, where the next step is determined, and steps 108 to 114 are repeatedly performed. If the most recently saved discrete steps do achieve the destination position, the method proceeds to step 116, where the saved steps are saved as the commanded motion of the robotic manipulator. At step 118, the method 100 ends. Many additional or alternative method steps are contemplated, and the method 100 is not intended to be limited to the exemplary steps provided.
[0102] To determine Figure 2 The timing of the interaction varies depending on the movement complexity and the allocation of parameters to maintain orientation, linearity in the trajectory and the number of joints. Different embodiments of the algorithm enable the use of different parameters. The algorithm can be flexible, for example, inputting or monitoring the current number of joints and hardware capabilities present in the robotic manipulator.
[0103] Once a list of instructions for moving the robotic manipulator through a series of states is generated and saved, the motor control module can use these instructions to command the electric motor provided on the robotic manipulator, command the tool mounted on the end of the robotic manipulator, and additionally command additional equipment associated with the operations performed by the actual robotic device.
[0104] Figure 3 2 is a flow chart illustrating commands issued by a motor control module. Method 200 begins at step 202. At step 204, the motor control module monitors inputs (such as inputs from an operator) and sensor data (e.g., describing a workpiece waiting to arrive at a workstation using a robotic manipulator). At step 206, it is determined whether a condition for commanding a movement to the robotic manipulator is met. If the condition for commanding a movement is not met, the method returns to step 204. If the condition for commanding a movement to the robotic manipulator is met, the method proceeds to step 208, in which the motor control module commands a movement to the robotic manipulator. At step 210, the motor control module provides data to a computerized interface to provide feedback to the operator. At step 212, it is determined whether additional commanded movements are useful. If more commanded movements are useful, the method returns to step 208. If more commanded movements are not useful, the method proceeds to step 214, in which it is determined whether the operation of the robotic manipulator is complete. If the operation of the robotic manipulator is not complete, the method returns to step 204. If the operation of the robotic manipulator is complete, the method proceeds to step 216 where the method ends. Many additional or alternative method steps are contemplated, and the method 200 is not intended to be limited to the exemplary steps provided.
[0105] Figure 3 The method may run linearly. In another example, the method may run repeatedly, or may run in response to new input. For example, the method may run commands based on the data provided in steps 208, 210, and 212. However, new input from the operator during these steps may be run through steps 204 and 206, for example, where the operator instructs the robotic manipulator to restart the method. In one example, an inspector watching a robotic manipulator paint a part may press a button to instruct the robotic manipulator to apply a new layer of paint to the workpiece, where the robotic manipulator restarts its operation from a start or initial state.
[0106] The joint portion of the robotic manipulator may include: an actuator, for example, embodied as an electric motor operable to use electricity to produce movement in the robotic manipulator; a controller or computerized device useful for controlling the actuator; and a gear reducer useful for converting the output torque of the actuator into the desired movement of a rigid segment attached to the joint portion.
[0107] Figure 4 An exemplary robotic manipulator 300 is illustrated that includes two adjacent articulated portions that are operable to bend the robotic manipulator in reference planes that are rotated 90 degrees relative to each other. The robotic manipulator 300 includes a first rigid segment 310 and a second rigid segment 330. The rigid segment 310 is connected to or integrally formed with an articulated portion 320 that is operable to bend about an axis 324. The articulated portion 320 includes a mechanical connection portion 322. The rigid segment 330 is connected to or integrally formed with an articulated portion 340 that is operable to bend about an axis 344. The rigid segment 330 is connected to the mechanical connection portion 322 by fasteners, rivets, or by other connectors so that when the articulated portion 320 is bent, it changes the angle of the rigid segment 330 relative to the rigid segment 310. The articulated portion 340 includes a mechanical connection portion 342 that can be connected to another rigid segment or to a tool to be attached to the end of the robotic manipulator 300.
[0108] Axis 324 may be oriented in a different direction than axis 344. In one embodiment, axis 324 may be rotated 90 degrees relative to axis 344. In this configuration, joint portion 320 and joint portion 340 may collectively bend robotic manipulator 300 in three dimensions. Further, alternating patterns of several rigid segments and joint portions may be utilized to create a robotic manipulator 300 with useful flexibility and maneuverability.
[0109] In one embodiment, the robotic manipulator may include multiple rigid segments connected by multiple joint portions. The rigid segments and joint portions closer to the base of the robot may be subjected to significantly higher forces or torques than the rigid segments and joint portions closer to the ends of the robotic manipulator. In one embodiment, the size and load handling capacity of the rigid segments and joint portions closer to the base may be greater than the rigid segments and joint portions closer to the ends of the robotic manipulator. In one embodiment, the relative sizes of the rigid segments and corresponding joint portions may taper over the length of the robotic manipulator, starting with a relatively large size near the base and gradually decreasing in size over the length of the robotic manipulator. Figure 5An exemplary robot manipulator 400 having rigid segments and joint portions that decrease in size along the length of the robot manipulator is schematically illustrated. A robot base 410 that can be fixed to a stationary surface is illustrated. A joint portion 415 is illustrated as being attached to the robot base 410 and is operable to change the angle of the connected rigid segment 420 relative to the robot base 410. A connecting cable 402 is illustrated as providing power, communication signals, and other connectivity communications between the robot base 410 and the rigid segment 420. A series of rigid segments are illustrated, including a rigid segment 430, a rigid segment 440, a rigid segment 450, and a rigid segment 460, wherein each rigid segment in the series is progressively smaller in size as the rigid segment is farther from the robot base 410. Similarly, a series of joint portions are illustrated, including a joint portion 425, a joint portion 435, a joint portion 445, a joint portion 455, and a joint portion 465. Articulation portion 455 is illustrated as including a revolute joint, thereby enabling rigid segment 460 to rotate about the longitudinal axis of rigid segment 450. Articulation portion 465 is illustrated as including a gimbal joint, thereby enabling adjustment of tool device 470 with two degrees of freedom relative to rigid segment 460. Connecting cables similar to connecting cable 402 are illustrated, including connecting cable 422, connecting cable 432, connecting cable 442, and connecting cable 452. The plurality of modular rigid segments may be interchangeable and operable to be assembled in various combinations, for example, wherein rigid segment 420 is optionally omitted and rigid segment 430 is installed in its place, or in another example, wherein rigid segment 430 is attached to robot base 410 and rigid segment 420 is attached to rigid segment 430.
[0110] According to one embodiment, the robotic manipulator may be configured to include up to a certain number of rigid segments, but may be operable with a certain minimum number of rigid segments connected to the robotic manipulator. For example, the robotic manipulator may be operable with a first rigid segment connected to a base of the actual robotic device and a second rigid segment connected to the first rigid segment through a joint portion. Other rigid segments may be selectively assembled to the robotic manipulator in a modular manner to selectively increase both the length and available degrees of freedom of the robotic manipulator. Figure 6An exemplary robotic manipulator 500 is schematically illustrated that includes modular rigid segments and joint portions that are useful for selectively assembling the robotic manipulator 500 according to a desired overall length of the robotic manipulator 500 and a desired degree of freedom in the robotic manipulator 500. The robotic manipulator is illustrated as including a robot base 510 and a series of rigid segments, including a rigid segment 530, a rigid segment 531, a rigid segment 532, a rigid segment 533, a rigid segment 534, a rigid segment 535, a rigid segment 536, and a rigid segment 537. Each of these rigid segments is connected to an adjacent rigid segment with a joint portion 520. Each of these rigid segments and the connected joint portions 520 are modular, meaning that they can be disconnected from each other and reconnected to other rigid segments to create alternative configurations of the robotic manipulator 500. A relatively large rigid segment 538 and a relatively small rigid segment 539 are illustrated as being separate from the robotic manipulator 500. Rigid sections 538 and 539 may be selectively mounted to the robotic manipulator 500 to increase the length of the robotic manipulator 500 and to increase the number of degrees of freedom in which the robotic manipulator 500 may operate. Tooling device 540 is illustrated as including a vacuum gripping device useful for placing an object on a workpiece. Modular rigid sections and articulation portions 520 may enable modular assembly of the robotic manipulator 500. Figure 6 Seven rigid segments are shown, each connected to another rigid segment with at least one joint portion connected to another of the rigid segments. A robotic manipulator may be constructed with many alternating rigid segments and joint portions.
[0111] The disclosed robotic manipulator may include multiple articulated portions and multiple rigid segments, wherein alignment and duplication of the articulated portions enables the robotic manipulator to move the rigid segments into a large number of configurations. Increasing the number of articulated portions enables more degrees of freedom in the robotic manipulator. A specific work task to be performed may be analyzed to determine the minimum number of degrees of freedom to perform the task, and a robotic manipulator may be created to match or exceed the determined minimum number of degrees of freedom. Figure 7A display screen 600 is schematically illustrated that provides a computerized interface for simulated operation of an actual robotic device. A simulated robotic device 620 is illustrated that includes a plurality of rigid segments 622 and a plurality of articulated portions 624. A workpiece 610 is illustrated on the display screen 600. The computerized interface may be programmed with the capabilities and limitations of the simulated robotic device 620, including the capabilities and limitations driven by the total number and type of articulated portions 624. The computerized interface may monitor the geometry and constraints describing the workpiece 610, and may monitor operations to be performed on the workpiece 610 by the simulated robotic device 620. Monitoring the operations to be performed may include monitoring the operation of a mobile robotic base and the corresponding movement of the workpiece 610. The movement of the simulated robotic device 620 may be analyzed, for example, to determine the number of degrees of freedom useful for moving the simulated robotic device 620 into and out of the workpiece 610 and to determine the operability useful for moving the simulated robotic device 620 from a first position 612 to a second position 614 via a transition 616. The analysis of the simulated robotic device 620 may additionally include an analysis of the geometry of the workpiece 610 and a determination of whether a portion of the simulated robotic device 620 ever impermissibly contacted the workpiece 610 .
[0112] Figure 8 Schematically illustrates Figure 7 600, wherein a new robot configuration may be defined with the requested additional tasks of the simulated robotic device 620 and commands may be input to the simulated robotic device 620. The operator may define that the simulated robotic device may be further tasked with additionally moving from a third position 617 to a fourth position 618 of the workpiece 610 by means of a transition 619. As a result of the added parameters for moving the simulated robotic device, modifications to the simulated robotic device may be simulated to create a modified simulated robotic device 620'.
[0113] A mobile, real robotic device can be utilized to perform work in a complex environment. In one example, a mobile reference system can be utilized with a real robotic device that moves with a mobile workpiece to accomplish a task on the mobile workpiece. Fig. 9An exemplary real robotic device 810 is schematically illustrated and is operable to move alongside a mobile workpiece 870 such that the real robotic device 810 can perform tasks on the mobile workpiece 870. The real robotic device 810 is mounted to an exemplary track assembly 830 between a first track stop 832 and a second track stop 834 such that the real robotic device 810 can be moved to a location along the track assembly 830. The mobile workpiece 870 is illustrated as being mounted to a mobile pallet 850 mounted on a track assembly 860. As the mobile workpiece 870 moves along the track assembly 860, the real robotic device 810 may include a mobile robotic base and may be controlled to similarly move along the track assembly 830 such that a robotic manipulator 820 of the real robotic device 810 may be used to move a tool 822 through an opening 872 in the workpiece 870.
[0114] The modular construction of the rigid segments and associated articulation parts may include many variations. Fig.10 A configuration 900 is illustrated that includes an exemplary rigid segment 910 that is integrally formed with an attached articulation portion 920 and includes mechanical, power, and signal connections at each end. The rigid segment 910 is illustrated as including a female mechanical connection 912, a power cable 914, and a data cable 916. The articulation portion 920 is illustrated as including a male mechanical connection 922, a power cable 924, and a data cable 926. Multiple rigid segments 910 may be connected in series, with the mechanical, power, and data or signal connections connecting each rigid segment 910 in a chain to form a portion of a robotic manipulator.
[0115] Fig.11 An exemplary rigid segment 1000 is illustrated, which is provided separately from an articulation portion 1050, each of which is selectively attached and each of which includes mechanical, power, and signal connections. The rigid segment 1000 and the articulation portion 1050 are similar to the rigid segment 1000, except that the rigid segment 1000 and the articulation portion 1050 are selectively connected at surfaces 1020 and 1056, respectively. Fig.1010 and the joint portion 920 of the rigid segment 910. Bolt holes 1054 are aligned with bolt holes 1022 and are operable to receive threaded bolt fasteners that enable connection of the rigid segment 1000 and the joint portion 1050. The rigid segment 1000 includes a power cable 1002 and a data cable 1004. The rigid segment 1000 further includes auxiliary connectors 1006, such as a tool device that provides a pressurized air flow, paint, water, or a separate power connector to the end of the robotic manipulator. Surface 1020 includes power connectors 1024, data connectors 1026, and auxiliary connectors 1028, which are matched by mating connectors on surface 1056. The rigid segment 1000 further includes mechanical connector surfaces 1010 on both the front surface and the rear surface, each surface including six exemplary bolt holes 1012.
[0116] The articulation portion 1050 includes a servo motor 1060 configured to rotate a mechanical connector portion 1070 relative to the collar 1052. In alternative embodiments, a curved articulation portion may replace the articulation portion 1050. The mechanical connector portion 1070 is operable to connect to a mechanical connector surface similar to the mechanical connector surface 1010 on another rigid segment. The articulation portion 1050 further includes a power cable 1074, a data cable 1076, and an auxiliary connector 1078. The mechanical connector portion 1070 includes a plurality of bolt holes 1072 that match the bolt holes 1012, thereby enabling the mechanical connector portion 1070 to be connected in series to the same or similar rigid segment including bolt holes similar to the bolt holes 1012.
[0117] Figure 12-14 Schematically illustrated is a configuration 1100 including an additional exemplary first rigid segment 1110 and an articulation portion 1120 operable to bend a second attached rigid segment relative to the first rigid segment 1110. The first rigid segment 1110 is illustrated as including a computerized controller device 1112 and a servo motor 1114. The computerized controller device 1112 receives commands from a motor control module and provides power and / or communication signals that command the servo motor 1114 to provide an output torque. The gear transmission 1130 is illustrated as being configured to utilize the output torque of the servo motor 1114 to rotate a mechanical connection portion 1140 about an axis 1122. Fig.12 The first rigid section 1110 and the articulation portion 1120 are illustrated in a perspective view. Fig.13 The first rigid section 1110 and the articulation portion 1120 are illustrated in a front view. Fig.14 The first rigid section 1110 and the articulation portion 1120 are illustrated in a top view.
[0118] Figure 15-17Schematically illustrated is a configuration 1400 including an additional exemplary first rigid segment 1410 and an articulation portion 1420 operable to rotate a second attached rigid segment relative to the first rigid segment 1410. The first rigid segment 1410 is illustrated as including a computerized controller device 1412 and a servo motor 1414. The computerized controller device 1412 receives commands from a motor control module and provides electrical power and / or communication signals commanding the servo motor 1414 to provide an output torque for rotating the articulation portion 1420 relative to the rigid segment 1410 about an axis 1430. Fig.15 The first rigid section 1410 and the articulation portion 1420 are illustrated in a perspective view. Fig.16 The first rigid section 1410 and the articulation portion 1420 are illustrated in a front view. Fig.17 The first rigid section 1410 and the articulation portion 1420 are shown in a top view.
[0119] Fig.181 is a flow chart illustrating a control software and inverse kinematics solver modularization method 1700. The method 1700 starts at step 1702. At step 1704, an operator defines a robotic manipulator configuration including the number or type of joint parts to be utilized in a simulated robotic device. At step 1706, it is determined whether the input configuration is valid. If the input configuration is invalid, the method returns to step 1704, in which an error message is provided and the operator can correct the error. If the input configuration is valid, the method proceeds to step 1708, in which the computerized system compiles available data about the simulated robotic device. At step 1710, it is determined whether new control directives have been generated, which may include information generated about the limitations and capabilities of the simulated robotic device and / or objects simulated within the environment of the device and / or tasks to be performed by the device. If new control directives have not been generated, the method returns to step 1708. If new control directives have been generated, the method proceeds to step 1712, in which it is determined whether programming has been initialized and loaded with the new control directives. If the programming has not been initialized and loaded with the new control instructions, the method returns to step 1708. If the programming has been initialized and loaded with the new control instructions, the method proceeds to step 1714, in which a checksum is generated. At step 1716, the control programming is opened or accessed. At step 1718, it is determined whether the open programming is adapted to the new instructions. If the open programming is not adapted to the new instructions, the method returns to step 1708. If the open programming has been adapted to the new instructions, the method proceeds to step 1720, in which the programming may be said to include a robot reading interface. At step 1722, the method ends. Many additional or alternative method steps are contemplated, and method 1700 is not intended to be limited to the exemplary steps provided.
[0120] Fig.19 Schematically illustrates Figure 1 The motor control module 20 may include a processing device 1810 configured to operate a computerized program. In the illustrative embodiment illustrating optional features of the disclosed system, the motor control module 20 includes a processing device 1810, an input / output interface 1830, a communication device 1820, and a memory device 1840. Note that the motor control module 20 may include other components, and in some embodiments some components may not be present.
[0121] The processing device 1810 may include: a memory (e.g., a read-only memory (ROM) and a random access memory (RAM)) that stores processor-executable instructions; and one or more processors that execute the processor-executable instructions. In embodiments where the processing device 1810 includes two or more processors, the processors may operate in a parallel or distributed manner. The processing device 1810 may execute an operating system for the motor control module 20. The processing device 1810 may include one or more modules that execute programming codes or computerized processes or methods that include executable steps. The illustrated modules may include functionality of a single physical device or across multiple physical devices. In the illustrative embodiment, the processing device 1810 also includes a workpiece geometry and constraint analysis module 1812, a robot state modeling module 1814, and a recommended robot configuration module 1816, which are described in more detail below.
[0122] The input / output interface 1830 is a device that allows a user to interact with the motor control module 20. Although one input / output interface 1830 is shown, the term "user interface" may include, but is not limited to, a touch screen, a physical keyboard, a mouse, a microphone, a speaker, and other user interface devices known in the art. Additionally, the input / output interface 1830 may include hardware useful for the motor control module to provide commands to the controlled robotic device and receive data feedback from the controlled robotic device.
[0123] The communication device 1820 may include a communication / data connection to a bus device configured to communicate data to the different components of the system and may include one or more wireless transceivers for performing wireless communications.
[0124] The memory device 1840 is a device that stores data generated or received by the motor control module 20. The memory device 1840 may include, but is not limited to, a hard disk drive, an optical disk drive, and / or a flash memory drive.
[0125] The workpiece geometry and constraint analysis module 1812 includes programming configured to model and provide analysis of a workpiece associated with the robotic device and to provide details on how the robotic manipulator may move to accomplish work tasks on the workpiece.
[0126] The robotic state modeling module 1814 includes programming configured to utilize details about the workpiece and the work task to be performed to define a plurality of states through which the robotic manipulator may transition to achieve the work task.
[0127] The recommended robotic configuration module 1816 includes programming configured to utilize available information to determine a minimum number of degrees of freedom and / or a recommended robotic manipulator configuration useful for moving the robotic device through the plurality of states defined by the robotic state modeling module 1814 .
[0128] The motor control module 20 is provided as an exemplary computerized device capable of executing programming code to operate a modular robotic device. Many different embodiments of the motor control module 20, devices attached thereto, and modules operable therein are contemplated, and the present disclosure is not intended to be limited to the examples provided herein.
[0129] Fig. 20 1 is a flow chart illustrating a computerized method 1900 for operating a modular robotic device. The method 1900 begins at step 1902. At step 1904, geometry and other system constraints are input, which describe a workpiece and operations to be performed on the workpiece. At step 1906, a plurality of states for operating the robot are defined and transitions between the various states are plotted in accordance with the methods disclosed herein. At step 1908, the plurality of states and the plurality of transitions are analyzed and a number of degrees of freedom in a robotic manipulator of the modular robotic device is determined. At step 1910, the determined number of degrees of freedom is provided or used to generate a recommended robotic manipulator configuration, the robotic manipulator configuration including the number of rigid segments to be used and the type of joint segments to be used. At step 1912, steps determined to command the recommended robotic manipulator configuration through the plurality of states are generated or provided for use by an actual robotic device configured according to the recommended robotic manipulator configuration. At step 1914, the method 1900 ends. The method 1900 is exemplary, numerous additional or alternative steps are contemplated, and the present disclosure is not intended to be limited to the specific examples provided herein.
[0130] While the best modes for carrying out the disclosure have been described in detail, those familiar with the art to which this disclosure relates will recognize various alternative designs and embodiments for practicing the disclosure within the scope of the appended claims.
Claims
1. A modular robotic device comprising: A computerized processor operatively programmed to: monitoring the geometry and constraints describing the workpiece and the operations to be performed on the workpiece; determining, based on the monitored geometry and constraints, a plurality of states through which the modular robotic apparatus will move to achieve the operation to be performed; analyzing the plurality of states and transitions between the states to determine a minimum number of degrees of freedom in a robotic manipulator of the modular robotic apparatus; generating a recommended robotic manipulator configuration based on the determined minimum number of degrees of freedom, the recommended robotic manipulator configuration including the number of rigid segments to be used and the type of joint segments to be used; as well as Configure the actual modular robotic device according to the recommended robotic manipulator configuration; Robot base; and A robotic manipulator connected to the robot base and operable to articulate a tool device connected to an end of the robotic manipulator, wherein the robotic manipulator is configured according to the recommended robotic manipulator configuration, the robotic manipulator comprising a plurality of modular rigid segments, each modular rigid segment comprising an articulated portion and each modular rigid segment operable to be selectively connected to the robotic manipulator.
2. The modular robotic device according to claim 1, wherein: The plurality of modular rigid segments comprises: a first rigid segment including a first articulated portion; a second rigid segment connected to the first articulation portion and including a second articulation portion connected to the second rigid segment; a third rigid segment connected to the second articulation portion and comprising a third articulation portion connected to the third rigid segment; a fourth rigid segment connected to the third articulation portion and comprising a fourth articulation portion connected to the fourth rigid segment; a fifth rigid segment connected to the fourth articulation portion and comprising a fifth articulation portion connected to the fifth rigid segment; a sixth rigid segment connected to the fifth joint portion and including a sixth joint portion connected to the sixth rigid segment; and A seventh rigid segment is connected to the sixth joint portion.
3. The modular robotic device according to claim 1, wherein: Each of the plurality of modular rigid segments includes a connection cable operable to transmit one of data and power through the modular rigid segment.
4. The modular robotic device according to claim 1, wherein: Each of the plurality of modular rigid segments includes a plurality of connection cables operable to transmit data and power through the modular rigid segments.
5. The modular robotic device according to claim 1, wherein: At least one of the articulation portions is operable to change an angle of a longitudinal axis of a first one of the plurality of modular rigid segments relative to a longitudinal axis of a second one of the plurality of modular rigid segments.
6. The modular robotic device according to claim 1, wherein: At least one of the joint portions is operable to rotate a first one of the plurality of modular rigid segments relative to a second one of the plurality of modular rigid segments while maintaining a common longitudinal axis between the first one of the plurality of modular rigid segments and the second one of the plurality of modular rigid segments.
7. The modular robotic device of claim 1, wherein: The robotic base is movable and operable to move alongside a mobile workpiece, the modular robotic apparatus being operable to perform work on the mobile workpiece such that the robotic manipulator can perform a task on the mobile workpiece.
8. The modular robotic device of claim 1, wherein: Determining a plurality of states through which the modular robotic apparatus is to move includes defining an initial state, one or more intermediate states, and a final state through which the robotic manipulator is to transition to complete an operation on the workpiece.
9. The modular robotic device of claim 1, wherein: The plurality of modular rigid sections are interchangeable and operable to be assembled in various combinations.
10. A method of operating a modular robotic apparatus, the method comprising: Operate within a computerized processor programmed to: monitoring the geometry and constraints describing the workpiece and the operations to be performed on the workpiece; determining, based on the monitored geometry and constraints, a plurality of states, the plurality of states comprising an initial state, one or more intermediate states, and a final state, through which the modular robotic apparatus is to move to achieve the operation to be performed; analyzing the plurality of states and transitions between the states to determine a minimum number of degrees of freedom in a robotic manipulator of the modular robotic apparatus; generating a recommended robotic manipulator configuration based on the determined minimum number of degrees of freedom, the recommended robotic manipulator configuration including the number of rigid segments to be used and the type of joint segments to be used; as well as Based on the recommended robotic manipulator configuration, a plurality of modular rigid segments are assembled to a robot base in order to configure an actual modular robotic device, wherein each of the plurality of modular rigid segments includes a joint portion.
11. The method according to claim 10, wherein: Monitoring the geometry and constraints describing the workpiece and the operations to be performed on the workpiece includes monitoring the operation of a mobile robotic base and corresponding movement of the workpiece.
12. The method according to claim 10, wherein: Generating a recommended robotic manipulator configuration including a type of joint portion to be used includes determining an operation including bending a robotic manipulator of the modular robotic apparatus and determining an operation including rotating the robotic manipulator.
13. The method according to claim 10, wherein: The plurality of modular rigid sections are interchangeable and operable to be assembled in various combinations.