Cable robot
10471590 · 2019-11-12
Inventors
Cpc classification
B25J9/104
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1623
PERFORMING OPERATIONS; TRANSPORTING
B25J13/087
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J9/00
PERFORMING OPERATIONS; TRANSPORTING
B25J13/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A suspension cable robot is provided, its stability can be improved by using at least three groups of three cables arranged in a parallelogram manner. The ability to remain stable when subjected to forces acting on the robot platform or end effector is thereby significantly increased.
Claims
1. A cable robot platform apparatus comprising: a platform member; at least three cable groups, each one of said cable groups having at least three cables and being arranged on one side of said platform member and having at least three cable connection supports spaced apart to form vertices of a vertically-arranged polygon to provide a parallelogram support for the platform member about three axes, wherein in use each cable group can extend between the platform member and a wall or ceiling anchor to provide said platform with gravity stabilized resistance to motion from forces and torques acting on said platform suspended from said cable groups within a predetermined limit; and a drive associated with each of said cable groups operable to control a length of said cable groups between said platform member and said anchor, wherein said drive controls a common length for each cable within each one of said at least three cable groups.
2. The apparatus as defined in claim 1, further comprising a motion controller connected to said drive associated with each of said cable groups and responsive to a position input.
3. The apparatus as defined in claim 1, wherein said drive comprises a spool for each cable of said cable groups.
4. The apparatus as defined in claim 3, wherein said spool is located at said platform member, said cable groups being fixedly anchorable to wall or ceiling anchors.
5. The apparatus as defined in claim 1, further comprising a tension measurement element associated with said cable groups for providing a tension signal representing tension in said cable groups.
6. The apparatus as defined in claim 5, further comprising an alarm condition detector having as input said tension signal and as output a signal representing a risk of instability due to a loss of tension in at least one cable of said cable groups.
7. The apparatus as defined in claim 5, further comprising a stretch calculator having as input said tension signal and a measurement of said length of said cable groups, and as output a signal representing an adjustment to said measurement of said length of said cable groups.
8. The apparatus as defined in claim 1, wherein said platform member comprises an active tooling attachment platform.
9. The apparatus as defined in claim 1, further comprising position sensors operative for sensing a position in space of said platform member.
10. The apparatus as defined in claim 1, wherein the number of said cable groups is three and each cable group comprises three cables.
11. The apparatus as defined in claim 1, wherein said cable groups comprise toothed cables or belt.
12. The apparatus as defined in claim 1, further comprising a vertical, ceiling mountable cable or support for supporting the weight of the platform when not in use so as to reduce stretching of the cables over time.
13. The apparatus as defined in claim 1, further comprising a power cable connected to said platform, said power cable being arranged above said platform.
14. The apparatus as defined in claim 1, further comprising said wall or ceiling anchor, wherein said wall or ceiling anchor comprises at least three cable group anchorage members attachable to a wall or a ceiling and having cable anchor locations spaced apart to correspond to said vertices of said vertically-arranged polygon.
15. A method of manufacturing a product comprising the steps of: providing a cable robot platform apparatus comprising: a platform member; at least three cable groups, each one of said cable groups having at least three cables and being arranged on one side of said platform member and having at least three cable connection supports spaced apart to form vertices of a vertically-arranged polygon to provide a parallelogram support for the platform member about three axes, wherein in use each cable group can extend between the platform member and a wall or ceiling anchor to provide said platform with gravity stabilized resistance to motion from forces and torques acting on said platform suspended from said cable groups within a predetermined limit; and a drive associated with each of said cable groups operable to control a length of said cable groups between said platform member and said anchor, wherein said drive controls a common length for each cable within each one of said at least three cable groups; attaching an end effector or tool to said apparatus; and performing object handling and/or processing using said end effector or tool to manufacture the product.
16. A cable robot platform apparatus comprising: a platform member; at least three wall or ceiling anchors each having at least three cable anchor locations spaced apart to form vertices of a vertically-arranged polygon; at least three cable groups, each one of said cable groups having at least three cables and being arranged on one side of said platform member and having at least three cable connection supports spaced apart to form vertices of said vertically-arranged polygon to provide a parallelogram support for the platform member about three axes, wherein in use each cable group can extend between the platform member and said wall or ceiling anchors to provide said platform with gravity stabilized resistance to motion from forces and torques acting on said platform suspended from said cable groups within a predetermined limit; and a drive associated with each of said cable.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
DETAILED DESCRIPTION
(29) Overall Functionality
(30) A suspended robotic platform using cables can be used to operate precision displacement in 3 dimensions of specialized tools (53) over larger distances (see
(31) To maximize effect of weight of the central module and to facilitate robotic platform integration in its environment, all active components may be included in central module (50). In some cases, active components can be installed on the supporting structure with the same integrated principle, whereas central module (50) would only retain components related to the specialized tools (53).
(32) Application
(33) The robotic platform (
(34) Here are domains of applications when the robotic platform is associated with a specialized tool that is specifically adapted and where automation is involved. Here are examples of where the combination of the robotic platform and the specialized tool can have a realistic purpose, but not limited to: Material handling (see
Overall Design
(35) The robotic platform suspended by cable and stabilized by gravity (See
(36) Cable groups (51) comprise cables (56), cable management units (57) and a cable group anchorage (52).
(37) The minimal setup to suspend a specialized tooling and move it in a 3D area is when using 3 cable groups of 3 cables.
(38) All the active systems can be centralized on the central module (50), see
(39) Cable Group
(40) A cable group (51) represents a predefined number of cables (56) (3 or 4) used together. Cables in cable groups are configured in parallelograms (80) that enable the initial stability. Cables (56) are wound and un-wound mostly evenly in a way that parallelograms keep their characteristics while producing movement. One cable traction unit (71) per cable can be used to balance tension and to react to elasticity in the cable group while preserving the parallelogram geometry.
(41)
(42) The cable groups (51) may comprise: 1A given number of 3 or 4 cables (56), a. Cables are made from metal ropes or wires, synthetic or natural fiber ropes, belts or chains. A toothed belt has been found to perform well. 2One cable group anchorage (52) 3The same number of cable management units (57) than cables (56). In some cases, one cable management units (57) can manage 2 or more cables (56) at the same time by using one motor.
(43) The cable groups (51) connect the central module (50) to the cable group anchorage (52). When the cables comprise chains or are otherwise suitably flexible, the cable management can include a storage container instead of a spool, reel or cassette arrangement.
(44) The attachment points (67) are solid enough points in the operational environment that are used to install the cable group anchorage (52). They are set higher than the central module (50) area or volume of operation.
(45) The cables (56) included in the cable groups (51) can be arranged in any way that can create parallelograms (80). In the case of 3 cables in a cable group, which the attachment points would form a triangle, can also be used in a non-equilateral attachment configuration without any pre-defined orientation. In the case of 4 points of attachment, the attachment points could have any quadrilateral configuration without any pre-defined orientation.
(46) Central Module
(47) The central module (50) can support a separate tooling attachment platform (60) that supports the specialized tool or tools (53). The central module (50) can also include all active control components, power components of the robotic platform. It can also support all control and power items related to the tooling and the tooling attachment platform (60) in active mode.
(48) The central module (50) can be linked to the attachment points (67) through 3, 4, 5 or 6 cable groups (51). The cable groups (51) are attached on the sides of the central module (50) in a way to maximize stability according to the final application.
(49)
(50) The central module (50) can support a specialized tool (53) most likely under it but can also support specialized tools (53) on its tops or on its sides. The platform (60) can also comprise an L-shaped or a C-shaped arm member to allow a robot arm tool (53) to be mounted onto a conventional base at an upper side of a lower end of the arm. The specialized tools (53) can be directly installed on the central module through a passive tooling attachment platform (
(51) Tooling Attachment Platform
(52) The tooling attachment platform (60) can be part of the central module (50) and can be passive and active.
(53) A passive tooling attachment platform (60) can be a specialized assembly plate that connects a specialized tool (53) to the central module (50). It can be installed in a way to connect the specialized tools (53) under the central module (50). In some cases, the plate passive tooling attachment platform (60) can take a specific form and be installed on the sides or on top of the central module (50).
(54) An active tooling attachment platform (
(55) Cable Group Anchorage
(56) The cable group anchorage (52) can be orientable to maintain the integrity of the parallelograms (80). Once oriented, they can sustain the tension of cables (56) in a way that does not compromise robotic platform's stability by inserting new degrees of elastic bending. The cable group anchorage structure (66) can be strong in a way that it would add negligible elasticity to the cable groups (51) in every direction.
(57) The cable fastener (65) on the cable group anchorage (52) can follow the tension direction without inducing cables (56) bending so that the cable never bends, for example using a universal joint. The bending of the cables (56) depend on the tension and can compromise precision of positioning of the central module (50) and can induce more elasticity.
(58) The cable group anchorage (52) can be installed at the attachment points (67) identified in the operational area according to the minimal structure stability requirements.
(59) Cable Management Module
(60) The cable management module (57) can include the cable traction unit (71), the cable winding cassette (73) or spool, and the tension pulley (70) which can include the tension sensor and that is also used for final positioning of cables (56). It can be used to manage one (mostly) or up to all cables (56) of cable group (51), according to the application, with one motor.
(61) It can be attached to the central module (50) through passive hinges (75) that orient the entire cable management module (57) in the direction of the tension caused by the cables (56) configuration and by gravity.
(62) The cable traction unit (71) includes a motor that can be used in a direct shaft to minimize induced elasticity. In the case that a gear is used to reorient motor direction or that changes the rotation ratio, a non-elastic coupling and a no-dead band gear system can be used.
(63) Cable winding cassette (73) winds up the cable (56) that as it is pulled by the cable traction unit (71). The winding orientation pulley (77) ensures that the cable is always well wrapped around the cable traction unit (71) main pulley. The winding action by the cable winding cassette (73) can be managed passively using a spiral spring assembly (76).
(64) All of the components included in the cable management module (57) can be installed on the cable management structure (74).
(65) Stabilization Gyroscopes
(66) External disturbing forces or forces resulting from specialized tool movement inertia, combined with the elasticity of the cables may influence the robotic platform stability. They will mainly produce torque acting on the robotic platform where around the x and y axes will be slightly off-axis because of the uneven tensions in the cables. Each cable will stretch differently producing a point of rotation initially at the center of the central module.
(67) Consequently, the secondary element that stabilize the robotic platform can be the integration of stabilization gyroscopes (85a and 85b) positioned at certain points of the robotic platform. These stabilization gyroscopes (85a and 85b) can prevent some of the external interference to have influence on the stability and the precision by countering axial movements on the central module (50). The precession force resulting from the stabilization gyroscope (85a and 85b) countering external torques produces less rapid angular additional torques that can be managed more easily with stabilisation algorithms applied at the cable traction unit (71).
(68) To benefit from this concept across all torque possibilities, the robotic platform can include 1 central vertically oriented (by its axis) stabilization gyroscopes (85a) or 1 or 2 as many vertically oriented stabilization gyroscopes (85a) as there are cable groups (51) which would be installed on the cable management module (57). One horizontally oriented stabilization gyroscope (85b) can be installed in the central module (50) to counter torques disrupting orientation of the central module (50) in space.
(69) Note that a stabilization gyroscope (85a and 85b) as defied here is simply a mass in the form of a disk that is balanced to turn at high speed without inducing vibration in the structure.
(70) Safety Top Belt
(71) The safety or security top belt (96) can suspend the central module (50) in case of: there is an emergency stop identified, the robotic platform must be parked to free operational environment a maintenance is required while it is suspended.
(72) In all cases, the security top belt (96) can wind up using the belt winding mechanism (95) which can be done using a reel actioned with a spiral spring while the robotic platform is in operation. The tension on the security top belt (96) does not interfere with the robotic platform stability. The belt needs to be as long as the movement in the operational environment requires it.
(73) The security top belt (96) blocks in theses conditions: Power is off, One of the motor's power is cut, Kill switch is pressed, Soft kill switch is activated.
(74) The belt winding mechanism (95) can be passive or active. In passive mode, the blocking systems is by default activated and can be deactivated if a signal is properly received. In active mode, the security top belt (96) can include passive mode features and add a traction motor that provides a ceiling traction unit.
(75) If the safety or security top belt (96) attaches to the suspended electrical box (90), an additional security anchorage cable (97) can link the ceiling or another structure that can support the full weight of the robotic platform and its payload. This can be used to support the weight of the platform when not in use so as to reduce stretching of the cables over time, particularly when the rest or parked position is chosen to high up when the tension on the cable groups is much higher than lower down in a normal working position. The top belt can also be any support connected to the ceiling that the platform can connect to. When the top belt is not always connected to the platform but instead the platform connects to the top belt or support when it is time for the platform to be docked or parked, the platform can have any suitable connector for connecting to the top belt or support, such as an electromagnetic coupling, a hook and eye coupling, etc. The objective is to allow the platform to be suspended at least with most of its weight borne by the vertical top belt or support.
(76) Power Management
(77) In the embodiments in which the cable drives are centralized at platform (50), the power requirements at the platform (50) can be substantial. Likewise, the end effector/robot arm system (53) can require substantial amounts of power.
(78) Power source (93) may come from the operational environment and can be brought to the robotic platform. A power cable (92) can be brought to the robotic platform from the top using tensioned cable (91) that can be links in the middle but over of the operational area to the suspended electrical box (90). These tensioned cables can be attached to the structure through the cable group anchorage (52).
(79) If the cables (56) have an electrically conductive core and have a certified electrical insulation, the necessary power for the robotic platform can be received through these cables.
(80) A battery can be used to power the robotic platform when it is appropriate and meets autonomy requirements for the application. Since it can be an advantage to have extra weight onboard platform (50) for stability purposes, extra battery weight can be suitable.
(81) Stability Kinematic
(82) The robotic platform can be stabilized in at least one of the following ways:
(83) 1Cable groups (51) disposed as parallelograms (80)
(84) 2Gyroscopes (85) add high frequency stability
(85) 3Closed loop motor control using algorithms specific to this robotic platform.
(86) Parallelogram's Macro Stability
(87) Macro-stability is directly induced by the parallelograms (80) when the cables are tensioned by gravity. At any position, the parallelograms force the central module (50) to be leveled (about the x and y axes) and oriented (about the z axis) in a certain direction and so counter, up to a certain level, any disrupting forces that would affect precision in motion. The parallelograms create a hysteresis in relation to the cable's angle (99), the parallelogram geometry and the central module (50) weight.
(88) Parallelograms (80) procure a certain hysteresis effect when cable attachment points are at a certain distance from each other. Depending on the total weight, to enhance general stability required by the application, or for specific stability in corners, the distance between attachment points of the cable may be adapted.
(89) More precisely, about the x and y axes (
(90) The principle is similar regarding the orientation hysteresis about the z axis (
(91) When in movement, inertia of the robotic platform can affect stability and so is limited to certain values of acceleration and deceleration of the central module. These values also depend on the cable's angles (central module position in space) and total suspended weight but also of the speed variations applied to the central module and the center of mass position and variance due to the operating specialized tool (53).
(92) Effect of Elasticity
(93) Elasticity could only depend on the cable construction which is translated in an elasticity constant. But in some cases, where operation area provides a low-quality cable group anchorage structure (66), some extra elasticity can add to the compensation complexity. In this case, tests on structure must be done to characterize vectoral elasticity effects.
(94) Elasticity can cause position imprecision and can make the central module oscillate. This constant can be used in stability algorithms that also have a relation with cable length, with cable angle, with attachment point position, central module weight, on central module dimension and on central module velocity.
(95) Gyroscopes, disposed the way explained previously, will help attenuate the effect of elasticity on stability when robotic platform velocity changes (speed variation od direction changes).
(96) Limitations
(97) Lateral stability, which exists because of the lateral tension component in cables, is in relation with gravity effect on the central module (50) and the angle of cables. When central module (50) is in the corners of the operation environment, 90-degree angles appears (in reference to horizontal) and some of the cables (56) cannot be laterally tensioned. This robotic platform cannot guarantee stability in this situation and so the area of operation can be confined in a smaller 3D space, limited by maximum angles that the cables makes to procure the minimal lateral tension for the application. The robotic platform cannot operate with good stability beyond the area where its cables make 90-degree angles.
(98) To solve some issues related to stability in corners because of a parallelogram (80) that becomes too lean, the cable group anchorage (52) can be inclined. This also would influence the position of cable management module (57).
(99) There is also a limitation in reaching a certain height because the smallest the angle (99) of the cables with the horizon, the more the motor are working against each other. The maximum height depends on the application requirement and will imply using the appropriate motor sizing.
(100) Initialization: finding robotic platform's position of origin
(101) Calibration Minimal Requirements Characteristics of motor encoder: number of ticks, precision of motor Characteristics of the winding gear: circumference. Characteristics of the last tensioning gear: circumference, tension sensor flexibility Distance between the central module edge and the last tensioning gears Dimension of the central module and relation to the point of reference All distance between the last tensioning gears Distance of cable a connection on anchorage Maximum tension allowed in the cables Gyroscope and accelerometer precision Theoretical cable tension data matrix at level vs position in space.
(102) Initial Conditions Robotic platform can be: On the floor Suspended in the center Suspended in a un-centralized position
(103) Initialisation Sequence 1. Adjust tension in cables while finding level using 2 electronic level sensors a. Get initial level reading for both rotation b. Calibrate tension over top cables by pair. c. Set each bottom cable the tension to get proper level d. Find middle by having the same tension scheme in each top cable e. Get level reading for both rotation f. Loose bottom cable g. Re-adjust tensions on each top cable h. Adjust tension on bottom cables 2. Find relative position by reading cable measurement stubs 3. Find top max distance: a. by winding all cable till tension sensor hits the threshold value of the motor capacity. (Setting in the calibration data) 4. Find floor distance with one of these methods: by lowering down the robotic platform slowly till the proxy switch is triggered. by measuring with a laser, the height distance from a reference beacon (which position is measured). by measuring the floor distance with a laser distance sensor. by knowing the distance from each of the cable group anchorage (52) to the reference floor (included in calibration data at installation) 5. Perform dynamic tests to validate resonances and adapt acceleration and deceleration constraints. 6. Perform a sequence with specialized tool to adapts stability compensation algorithms.
Functional Diagram
Main Context of Usage
(104) The robotic platform is used in a context where it contributes in a manufacturing or a in handling operation. This can include painting, welding, cutting, optical, X-ray or ultrasound inspection, object sorting, etc. The robotic platform can be controlled by a master controller (16) that is responsible for the full operation specific to the application. The robotic platform can be part of simple operation where it is central to the task or of a complex operation requiring many robots, many automated specialized tools and external sensors (18). The robotic platform can gather information through feedback from external sensors (18) that will assist it to achieve targeted precision of movement. To counter the possible incapacity of the robotic platform of getting the required precision, is also capable of taking full or partial control the specialised tool to do final adjustments to its movements or its positioning.
(105) Description of the Master Controller
(106) The master controller (16) is the entity that commands the different items that are used to perform an automated operation. It sends commands to the robotic platform controller (15) and to the specialized tool controller (17) and receives feedback from these entities to adjusts its course of action.
(107) Description of the Specialized Tool Controller
(108) The specialized tool controller (17) is the entity to which the master controller (16) gives commands to perform a part of the manufacturing or handling operation. This tool is usually part of what would perform the specific processing in the manufacturing operation. The specialised tool is attached to the robotic platform and can also be controlled directly by the robotic platform controller (15).
(109) Description of the External Sensor
(110) The external sensors (18) is one or many devices that are not part of the robotic platform but that are used to feed the robotic platform with additional positioning and movement information. The information received will be processed to validated positioning or to add precision in the robotic platform movement.
(111) Description of the Robotic Platform Controller
(112) Part of the movement command center.
(113) Block 1: Motor N Control Modules
(114) The motor N control module (1) can control individually each motor depending on its type through the specific controller's API. Such a motor controller having an API interface is known in the art. It can send the commands to produce movement of a motor and acknowledge that the request has been successfully executed. The motor N control module (1) can be always aware of motor rotary position by command accumulation and by feedback from encoders (or the motor controller's feedback), by the status of the limit switches and the status of the motor brake (or clutch). It can also be aware and consider the default settings, the minimum and the maximums of the motor capacities.
(115) Each motor N control module (1) can receive its position, speed, accelerating and timestamp from the relative kinematic Control module (2). It must respect every parameter or send an error code. The Motor N control module (1) feeds back the executed distance after each movement.
(116) Block 2: Relative Kinematic Control Module
(117) The relative kinematic control module (2) can sequence requests to each motor N control module (1) to ensure that movement path is respected in speed and in acceleration to obtain final positioning. This module can consider the information received by the sensors and adjust the commands sent to each motor N control module (1) to ensure proper movement and positioning. This module can comprise a microcontroller with suitable code.
(118) The relative kinematic control module (2) can send commands on a per-motor basis to the different motor N control module (1). Relative position control module (3) can have information on robotic platform position and path and can be transmitted to the relative kinematic control module (2). Position can be in relation of a reference point on the robotic platform. Adjustment can be made while the onboard position sensor control module (4) gives feedback to the relative kinematic control module (2). The calibration tables (5) can give per motor pre-set metrics relative to the robotic platform's construction for the relative kinematic control module (2).
(119) Block 3: Relative Position Control Module
(120) The relative position control module (3) is the robotic platform's awareness of the position of the platform. It can receive the commands to move and determine using the various information received in feedback the compensation to acquire new position.
(121) This module need not comprehend the context of each motor. Most of the compensation instructions can be transmitted to the relative kinematic control module (2).
(122) The RP-API (8) can transmit movement instructions from the master controller (16) to the relative position control module (3). The position error calculator (9) can give compiled and processed feedback from external sensors controller (18), from the specialized tool controller (17) and from the active platform controller (12) to adjust positioning of the robotic platform. The initialization function (14) can give the commands and receive the feedback to find positions in space. The calibration tables (5) can give overall pre-set metrics relative to the robotic platform's construction for the relative position control module (3). The onboard positioning sensors (4) can give constant feedback to the relative position control module (3) to adjust positioning of the robotic platform. The relative kinematic control module (2) can receive movement instructions from the relative position control module (3) and execute them.
(123) Other Modules
(124) Block 4: Onboard Positioning Sensors
(125) The onboard positioning sensors (4) module can interface with various standard sensors used on the robotic platform to ensure its correct positioning. It can give a timestamp to all readings, accumulate them and transmit to other modules the requested values.
(126) Sensors types can comprise one or more of: Tension sensors Cable (56) position sensors Proxy switches (limit switches) Accelerometers and electronic gyroscope sensors Angle sensors
(127) This module can also store and retransmit values from the motors (current sense, rotary encoders)
(128) The relative position control module (3) and the relative kinematic control (2) can receive position and stability information from the onboard positioning sensors (4) in a formatted and time stamped form.
(129) Block 5: Calibration Tables
(130) The calibration tables (5) may contain calibration parameters that are defined at manufacturing and stored in the robotic platform's memory.
(131) Examples of calibration data that other modules can use: Cable elasticity coefficient Motor rotary settings and feedback configuration Structure traction added elasticity Structure torsion elasticity Mechanicals characteristics (pulley diameter, distance between each cable management module). Off-axis angles of the cable management module (57). Parallelogram unevenness.
(132) The relative position control module (3) can take into account the data in the calibration tables (5) to calculate its trajectory and fine tune its relative position. The relative kinematic control (2) can take into account the data in the calibration tables (5) to control the motor controller modules. The RP-API (8) can read and write in this module when in factory mode.
(133) Block 6: Logs Module
(134) The logs module (6) can store information from all modules, including all commands received from the master controller (15). Depending on the amount of space available to store logs, rotation of logs can be done depending on the type of information to retain.
(135) Logs can be used for debugging purposes and to feed other monitoring modules (Onboard supervisor such as the position error calculator (9) or from the master controller (16).
(136) All modules can receive and store information relative to the function of the modules.
(137) Block 7: Manual Control Interface
(138) The manual control interface (7) can be a GUI that allows for manual steering of the robotic platform. The GUI can be a web page and can be accessed directly on the onboard PC or can be remotely accessed with the help of a browser using a Wi-Fi connection (this module can be supported on a web server).
(139) The RP-API (8) can receive movement instructions from the manual control interface (7) as if they where sent from the master controller (16).
(140) Block 8: RP-API
(141) The RP-API (8) (Robotic Platform Application Protocol Interface) is the interface with which the master controller (15) can communicate with the robotic platform. All commands can be pre-defined. The RP-API (8) can receive instructions or give back information to the master controller (15). A time stamp can be associated with each request.
(142) The RP-API (8) can have commands that interact with each module included in the robotic platform controller (15), for configuration purposes. For movement requests, it can act mainly with the relative position control module (3).
(143) Optional Modules
(144) Block 9: Positioning Error Calculator
(145) The positioning error calculator (9) can act as the precision supervisor for positioning and movement. The module can receive absolute positioning information from the external sensor reading and control (13) and can be aware of the positioning context of the relative position control module (3). Through data aggregation and calculation, this module can give feedback to the relative position control module (3) to reduce the gap between the relative position to the absolute position.
(146) When compliance with precision requirements is impossible just using the robotic platform, it can: create an alarm that stops the robotic platform feed commands to the specialized tools (53) through the on-board co-master controller (11) to adjust the tip position in regards of the position variation. feed commands to the active tooling attachment platform (60) to reduce the gap with the position differences.
(147) The module can also correct paths while moving and not only final positions. This module can be managed using artificial intelligence.
(148) Sensor information coming from the external sensor reading and control (13) must be validated by the positioning error calculator (9) with the all other feedback to ensure that the absolute positioning calculation is the most relevant. The positioning error calculator (9) module gives movement instructions to the relative position control module (3) to adjust positioning according to the external sensors (18). The positioning error calculator (9) gives positioning information to the active micro-positioning platform controller (12) to adjust position to the specialised tool. The positioning error calculator (9) give positioning information to the on-board co-master controller (11) to do specific adjustments of the position to the specialized tools (53). The positioning error calculator (9) send an error code to the conformity alarm module (10) if it cannot resorb position or movement errors with the various actions it can take.
(149) Block 10: Conformity Alarm Module
(150) The conformity alarm module (10) can be the only module responsible for stopping the robotic platform or to execute an overriding sequence of commands. This module can be used for all safety and security processes in reaction to all non-conformity. Errors detected can be cleared by the master controller (16).
(151) The positioning error calculator (9) can send a command to the conformity alarm module (10) if it cannot resorb position or movement error with its various actions it can take. The RP-API can retransmit conformity alarm module (10) information to the master controller (16).
(152) Block 11: Onboard Co-Master Controller
(153) The onboard co-master controller (11) for specialized tools is an interface included in the robotic platform that communicates commands for the specialized tools (53). It can be driven by the master controller (16) or by the positioning error calculator (9). This module can serve the needs of implementing position and movement corrections at the specialized tools (53) level to ensure accuracy that is higher than the robotic platform can sustain. It can also be used to ensure coordinated movements between the robotic platform and specialized Tools (53).
(154) The positioning error calculator (9) can transmit to the onboard co-master controller (11) the position of movement error correction that can be required to obtain the correct precision. The RP-API can retransmit commands from the master controller (16) to the onboard co-master controller (11).
(155) Block 12: Active Micro-Positioning Platform Controller
(156) The robotic platform can include an attachment platform where the specialized tools (53) can be attached. In the case the attachment platform is active, through commands, the active micro-positioning platform controller (12) can carry out the signals that control the active platform.
(157) The positioning error calculator (9) can indicate to the active micro-positioning platform controller (12) the position and movement adjustments to achieve the required precision.
(158) Block 13: External Sensor Reading and Control
(159) The external sensor reading and control (13) can take information of external sensors that have been added to the application to ensure better absolute positioning or movement acquisition. The external sensor reading and control (13) also can have the ability of configuring these sensors to get from them the requires information.
(160) The positioning error calculator (9) can receive in inputs the readings made by the external sensors (54) reading and control module.
(161) Variants of Usages
(162) Flow 1: Commanded Direct movement execution
(163) 30The master controller (16) request the robotic platform to perform a movement toward a specific position.
(164) 31The robotic platform acknowledges request and send the instructions in a standardized way to the relative position control module (3).
(165) 32The relative position control module (3) refers to the onboard positioning sensors (4) to calculate the movement to be done.
(166) 33The onboard positioning sensors (4) refers to the calibration tables (5) to calculate the movement to be done.
(167) 34The onboard positioning sensors (4) send out the segmented movements to the relative kinematic control module (2).
(168) 35The relative kinematic control module (2) gives feedback to the relative position control module (3) over feasibility and on actual movement details.
(169) 36The relative position control module (3) refers to the calibration tables (5) to calculate the movement to be done for each motor.
(170) 37The relative position control module (3) send out standardized commands per motor N control module (1) to generate movement.
(171) 38The motor N control module (1) sends back information on position and movement so that the relative position control module (3) can validate moment and acknowledge command.
(172) 39Once movement is completed, relative position control module (3) is informed of the request is completed.
(173) 40RP-API (8) is informed and ready to transmit movement completion status to master controller (16).
(174) Flow 2: Commanded direct movement execution with external feedback
(175) 31aThe positioning error calculator (9) is also informed of the movement requested from the master controller (16).
(176) 43The positioning error calculator (9) is informed from the external positioning feedback.
(177) 44The positioning error calculator (9) informs constantly the relative position control module (3) of its version of the position
(178) 42Once the movement is done, the relative position control module (3) gives feedback to the positioning error calculator (9).
(179) 41If final positioning is correct, it's the positioning error calculator (9) that informs the master controller (16).
(180) Flow 3: Commanded Movement Execution with Specialized Tool Management.
(181) 45RP-API (8) gives normalized instruction to the onboard co-master controller (11).
(182) 45aThe RP-API (8) informs the positioning error calculator (9) of the specialized tools (53) commands to validate error on expected result.
(183) 46Movement produce on the specialized tools (53) affect reading from the external sensors (54).
(184) 47The positioning error calculator (9) gives specific instruction to the onboard co-master controller (11) to adjust the specialized tools (53) according to the final positioning requested.
(185) Flow 4: commanded movement execution with active attachment platform micro-positioning.
(186) 48The positioning error calculator (9) orients the active attachment platform to fill the gap with the positioning instruction.
(187) 49The external sensors (54) are influences by the active tooling attachment platform (60) adjusted orientation.