WO2020048664A1 - Steuervorrichtung für eine roboteranordnung, roboteranordnung, verfahren, computerprogramm und maschinenlesbares speichermedium - Google Patents

Steuervorrichtung für eine roboteranordnung, roboteranordnung, verfahren, computerprogramm und maschinenlesbares speichermedium Download PDF

Info

Publication number
WO2020048664A1
WO2020048664A1 PCT/EP2019/068559 EP2019068559W WO2020048664A1 WO 2020048664 A1 WO2020048664 A1 WO 2020048664A1 EP 2019068559 W EP2019068559 W EP 2019068559W WO 2020048664 A1 WO2020048664 A1 WO 2020048664A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
control device
robot
module
designed
Prior art date
Application number
PCT/EP2019/068559
Other languages
English (en)
French (fr)
Inventor
Felix Beuke
Simon Jessen
Sergey Alatartsev
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to EP19739267.3A priority Critical patent/EP3846976A1/de
Priority to JP2021512627A priority patent/JP7179971B2/ja
Publication of WO2020048664A1 publication Critical patent/WO2020048664A1/de

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40476Collision, planning for collision free path

Definitions

  • the present invention relates to a control device for a robot arrangement, the robot arrangement comprising at least one robot, the robot being operable in a work area and having an end effector, the end effector being movable in the work area for carrying out a process sequence, with a control device for Input, definition and / or setting of the process flow, the control device being designed to plan a trajectory for carrying out the process flow and to control the robot based on the trajectory for carrying out the process flow.
  • Kinematics are often used in production plants, such as in logistics and other plants, for example to transport and / or assemble parts.
  • a user typically pre-programs the movements or tasks that the robots are to process. To do this, the user must know exactly how the robot behaves and / or moves in order to avoid collisions between the robot and the environment and / or between the robot and robot. Problems arise in particular when dynamic starting points and / or destination points are added, which are specified, for example, by a sensor. It is then as complicated as desired for the user to ensure a collision-free movement of the robot at all times.
  • the document DE 10 2013 203 547 A1 which probably forms the closest prior art, describes a robot work station arrangement with a robot that can be operated in a work mode and in a collaboration mode and has a detection device for detecting a person in the detection area. Furthermore, the robot work station arrangement comprises a control device for controlling the robot, wherein the control device controls the robot when the person is detected in the detection area to switch from work mode to collaboration mode. If the person steps out of the detection area section, the robot is still blocked for a blocking period.
  • a control device for a robot arrangement with the features of claim 1 is proposed.
  • a robot arrangement, a method, a computer program and a machine-readable storage medium are also proposed. Preferred and / or advantageous embodiments result from the following description, the subclaims and the attached figures.
  • a control device for a robot arrangement is proposed.
  • the control device can be integrated and / or integrated in the robot arrangement.
  • the control device is preferably designed as a hardware module, alternatively the control device can be designed as a software module.
  • the robot arrangement is, for example, a robot arrangement in production, in measurement technology or in logistics. Objects can be processed, transported and / or measured using the robot arrangement.
  • the robot arrangement is part of a production line or a logistics line.
  • the control device can be designed for a plurality of robot arrangements, the control device being connected to and / or to the robot arrangements in terms of data technology.
  • the robot arrangement comprises at least one robot.
  • the robot arrangement preferably comprises a plurality of robots, for example at least five or ten robots.
  • the robots can be Cartesian robots, Scara robots or articulated arm robots.
  • the robot can also be designed as a linear axis. If the robot arrangement comprises several robots, the robots can be of the same or different designs. It is further provided that the robots of a robot arrangement can interact with one another and are designed for collaboration operation.
  • the robot can be operated and / or arranged in a work area.
  • the work area is, for example, a section of the production line, the logistics line or the manufacturing plant.
  • the work area is in particular a spatial area.
  • the robot has an end effector.
  • the end effector is designed in particular as a gripper and / or tool. By means of the end effector, an object, an object and / or a workpiece can be gripped, held, processed and / or measured.
  • a robot can have more than one effector, the end effectors preferably being designed for collaboration with one another, and for example an object can be transferred from one actuator to the next actuator.
  • the robotoer has, for example, a robotic arm, the robotic arm comprising the end effector.
  • the end effector is movable in the work area. For example, the end effector can be pivoted, moved and / or rotated in the work area.
  • the robot is designed to carry out a process flow.
  • the process sequence is, for example, a sub-step or an entire sequence for manufacturing, processing, transporting and / or measuring the workpiece, the object and / or the object.
  • a process flow can in particular comprise several process steps, for example transporting, gripping, processing and / or holding.
  • the process flow has, in particular, a sequence plan of the process steps in which the process steps are to be carried out.
  • different process sequences can be represented, operated and / or executed using the robot and / or the robot arrangement.
  • the control device has a control device.
  • the control device is preferably a hardware module.
  • the control device as one Software module be formed, for example on a computer unit, a processor or a microchip.
  • the control device is preferably a central control device for the and / or the plurality of robots.
  • the robot and control device are connected to one another in terms of data technology, for example by a cable line, or alternatively by a wireless connection.
  • the process sequence can be set, entered and / or defined by a user on the control device.
  • the control device has an input unit.
  • the user can use the input unit to configure, enter and / or define the process flow.
  • the input and / or the definition of the process flow is the compilation, in particular the time flow of the individual process steps.
  • the input and / or definition of the process flow can also have an assignment of robots to process steps.
  • the user specifies that a first process step of the process sequence is to be carried out by a first robot, with a further process step being carried out simultaneously and / or afterwards by a further robot of the robot arrangement.
  • the process flow is preferably entered, defined and / or set in a programming environment.
  • the programming environment enables, for example, graphic input, definition and / or setting of the process flow.
  • the programming environment can enable a command line-based input procedure.
  • a start point and / or an end point of the process steps and / or the process flow can be determined by means of the control device when entering, defining and / or setting the process flow.
  • the control device is designed to plan a trajectory for carrying out the process sequence and to control the robot based on the trajectory for carrying out the process sequence.
  • the control device can be designed to plan a path for carrying out the process sequence.
  • the trajectory can also be understood in general as the trajectory.
  • a path is understood in particular to be a function of the path, for example the path.
  • a trajectory is preferably understood to be a function of time, in particular Accelerations and / or kinematic limits of the robot are taken into account.
  • the planning of the trajectory and / or the path and the control of the robot are preferably carried out in a common module and / or in the common programming environment.
  • the trajectory is in particular a path and / or a description of the movement of the end effector in the work area.
  • the trajectory in the path can take place, for example, in the form of a location vector, the location vector being time-dependent, and assigning each time t to a location vector of the end effector, this assignment taking place in a reference system or focal point system.
  • the trajectory can form an assignment of axis divisions of the robot, in particular articulated arm robot, at any time.
  • the control device has a test function.
  • the test function can form a module, a software module or a process step.
  • the test function is a method step and / or a program step.
  • the control device and in particular the test function is designed to test the trajectory for freedom from collisions.
  • the trajectory is checked for freedom from collisions in particular before the robot is activated to carry out the process flow.
  • the setting and / or determination of the process flow and, for example, the planning of the trajectory for carrying out the project flow are carried out first, followed by a check for freedom from collisions, and then the control is carried out.
  • the collision-free test is in particular a test for a collision-free nature of the robot, in particular the end effector, with objects in the work area and / or the surroundings, these objects preferably being fixed objects and / or immovable objects.
  • the check for the absence of collisions can also be a check for the absence of collisions of a robot with another robot, so that, for example, both robots of the robot arrangement can be operated simultaneously without a collision.
  • the test function and / or the check of the collision freedom of the trajectory can be carried out and / or called in the same program and / or programming environment.
  • This configuration is based on the consideration that the user who undertakes the input, definition and / or setting of the process flow in the control device can also take over the checking of the freedom from collisions. Entry, definition and / or setting of the Process flow, as well as planning of the trajectory and the check for freedom from collisions can thus be carried out, called up and / or operated in a common control device.
  • the invention is based on the consideration that hitherto users have not been able to work in a familiar programming and / or programming environment if they want to check a trajectory for freedom from collisions. So far, users have had to deal with different programming and / or logic, for example, since different units are responsible for defining and / or setting the program sequence and for trajectory planning. Furthermore, especially in units for collision monitoring, robot functionalities cannot be mapped and / or integrated. The training effort for personnel and / or users of the robot arrangement has therefore been very immense to date and causes high costs. By providing the collision check as a functionality in the control device itself, in particular as a higher-value function, the training effort can be reduced and the costs reduced. The user with his expertise in robot-specific control thus has the option of also being able to use the collision check function without having to deal with the logic and / or programming of another unit. In particular, previous robot arrangements can be retrofitted using the control device.
  • the particular advantage is that the user can continue to use the functional scope of the previous robot controller and can work in his usual robot-specific programming environment. In this way, the user does not have to learn a new programming language in order to be able to operate a higher-level system and / or unit for trajectory checking and / or to be able to edit the trajectory based thereon.
  • the test function can be selected by a user using an input device.
  • the input device is part of the control device.
  • the test function can be selected as an application, as a software module or as a callable application.
  • the test of the trajectory is opened in particular Collision-free execution. For example, it is possible for the user to first define the process flow and to determine a trajectory for this process flow, whereby after the process flow has been set and the trajectory has been planned, this defined trajectory is checked for freedom from collisions by calling up and / or selecting the test function.
  • This embodiment is based on the consideration that the user can continue to use the robot controller in his familiar programming environment and can plan the trajectory there without collision, and can initiate a check for a collision by selecting the test function without having knowledge of the programming and / or functionality of the collision monitoring have to.
  • control device is designed to plan and / or reschedule the trajectory based on the process sequence without collision.
  • the control device can be designed to check a trajectory for carrying out the process flow for collisions and / or freedom from collisions and, for example, to reschedule the trajectory when the collision is established in such a way that the process flow can be carried out further, but the trajectory is then collision-free.
  • the rescheduling and / or the planning of the collision-free trajectory is carried out in such a way that the rescheduled trajectory and / or the collision-free trajectory deviates as little as possible from a minimal trajectory, the minimal trajectory being in particular the trajectory and / or the path that makes the process flow as fast as possible.
  • a plurality of trajectories for executing the process flow are planned by the control device during the definition and / or after the definition, input and / or setting of the process flow and the control device is designed, in particular based on the test function and / or after selecting the test function to check the trajectories for freedom from collisions and / or to select one and / or one of the collision-free trajectories as a trajectory for controlling and / or executing the process flow.
  • the control device is designed, in particular based on the test function and / or after selecting the test function to check the trajectories for freedom from collisions and / or to select one and / or one of the collision-free trajectories as a trajectory for controlling and / or executing the process flow.
  • the control device specifies to pick up an object from one position and to transport it to another position, the control device then being designed to determine a trajectory that the Picking up, transporting and depositing the object without collision.
  • control device is designed to extract a starting point and / or an end point from the process sequence and / or the trajectory to the process sequence.
  • the user must determine the starting point and / or a starting coordinate when determining the process sequence, and it may also be the case that the user must define an end point and / or an end coordinate.
  • the control device can also be designed to intermediate points of the
  • Extract process flow and / or the trajectory are points of the process flow at which a
  • a transfer step or a holding step takes place.
  • the check of the freedom from collisions and / or the planning of the collision-free trajectory and / or the rescheduling of the trajectory to a collision-free trajectory is based on the starting point, the end point and / or the intermediate points.
  • the control unit is designed to plan a trajectory between the starting point and the end point so that there is no collision with the surroundings and the robot.
  • the control device comprises one or more sensor devices.
  • the sensor device is designed to determine environmental data.
  • the sensor devices are designed for optical, acoustic, mechanical or electrical monitoring of the environment and / or the robot.
  • Environmental data are, for example, coordinates and / or positions of objects in the work area and / or a position of the robot and / or the end effector during and / or during the execution of the process.
  • the sensor device comprises the working area at regular intervals, for example whether changes have taken place and / or obstacles have been added or have disappeared.
  • the control device is designed in particular to check the freedom from collisions based on the environmental data.
  • control device can be designed to carry out the collision-free trajectory and / or the rescheduling to the collision-free trajectory based on the environmental data.
  • control device is configured to compare each point of the trajectory and / or the path with the environmental data.
  • the control device comprises a process module and a trajectory checking module, the trajectory checking module in particular having the checking function and / or being designed to carry out the trajectory checking.
  • the trajectory checking module in particular forms a higher-level unit.
  • the trajectory test module and the process module preferably form two physically separate modules and / or units.
  • the trajectory checking module is a superordinate module and, for example, forms a computer unit.
  • the two, in particular physically separate modules can both be encompassed by the robot and / or the control device.
  • the process module and the trajectory test module can form logically separate modules and, for example, form program sections.
  • the trajectory checking module is designed to check the trajectory and / or the web for freedom from collisions.
  • the process module is designed for the input, definition and / or setting of the process flow by the user. Furthermore, the process module can plan a first trajectory and / or the trajectory. Alternatively and / or in addition, the planning of the collision-free trajectory and / or the rescheduling of the trajectory into a collision-free trajectory is implemented and / or executable on the trajectory check module.
  • the trajectory test module and the process module are interconnected in terms of data technology. In particular, the starting point, the ending point and / or intermediate points can be provided to the trajectory checking module via the process module.
  • the test function can be called up in particular from the process module on the trajectory test module and can be used to check the trajectory for freedom from collisions.
  • This configuration is based on the consideration of outsourcing the computationally complex checking of the trajectory and / or rescheduling and planning of a collision-free trajectory to a higher-level system, for example a central computer unit, the function of the collision-free test, planning and / or rescheduling still being carried out by the control device and in particular callable from the process module and / or is applicable so that the user can work in his familiar environment, but can use the complex checking function.
  • the input, definition and setting of the process flow as well as the checking of the absence of collisions are implemented in a common programming environment and / or can be used by a user there.
  • the functionality of rescheduling the trajectory to a collision-free trajectory and the planning of a collision-free trajectory can also be implemented in this programming environment in this programming environment.
  • the programming environment is designed for graphical input, definition, setting and / or testing, so that in particular no explicit programming languages and / or programming knowledge are required to operate the control device and / or control device.
  • the control device has a function database.
  • the function database is an expandable function database.
  • the function database preferably has program sequences, process sequences, process sequence modules and / or typical functionalities.
  • a function database for each robot in the robot arrangement is stored and / or can be stored.
  • the process flow modules represent, for example, the functional scope of the robot, wherein these process flow modules can be selected for carrying out the process flow and / or can be used in a chronological order.
  • the test function is implemented as a function block in the control device.
  • the rescheduling of the trajectory to a collision-free trajectory and the planning of a collision-free trajectory can be stored as a process sequence module and / or as a function in the function database. This embodiment is based on the consideration of enabling the robot arrangement to be controlled in a particularly intuitive manner.
  • control device is designed to determine a robot position and / or a robot position can be entered or extracted.
  • control device can extract the current position of the robot and / or the robot and / or determine.
  • the control unit is in particular designed to check the robot position for a collision, for example when the test function is selected and / or executed, for example whether the position will lead to a collision now or in the future.
  • a trajectory type can be set by a user via the control device, in particular by means of the input device.
  • a type of trajectory is, for example, the type of trajectory and / or the path. Specifically, a type of trajectory is a linear trajectory, a curved trajectory, a parabolic trajectory, or a closed path trajectory.
  • the control device is designed to determine the trajectory so that it corresponds to the trajectory type. In particular, the control device is designed to determine a collision-free trajectory of the corresponding trajectory type.
  • the robot arrangement has at least one robot, preferably a plurality of robots.
  • the robot and / or the robots can be operated in a work area.
  • the robots can be operated in a common work area.
  • the robot and / or the robots each have at least one end effector, the end effector being designed, for example, as an actuator.
  • the end effector can be moved in the work area of the robot and / or in the work area of the robot arrangement in order to carry out the process sequence.
  • the robot arrangement has the control device, in particular as previously described.
  • the control device can be used to plan a trajectory for carrying out a process sequence by the robot and / or by the robot arrangement.
  • the process flow can be entered, defined and / or set by the user on the control device.
  • the robot arrangement with the control device is designed to check the planned trajectory for freedom from collisions, it also being possible for the control device to determine a collision-free trajectory.
  • the control device of the robot arrangement has a trajectory checking module and a process module, the trajectory checking module being in particular a central trajectory checking module for a plurality of robots, and that Trajectory test module is connected to the process module and / or the process modules in terms of data technology.
  • the process module is preferably part of the robot.
  • Another object of the invention is a method for controlling a robot arrangement. It is provided that, in particular by means of the control device, a process sequence is defined, entered and / or set by a user. In particular, the user can configure, enter and / or define the process flow by selecting process flow modules. The entry, definition or setting takes place in particular in a programming environment.
  • a test function can be selected by the user. When the test function is selected, the trajectory is checked for freedom from collisions. In particular, the trajectory can be planned and / or rescheduled in such a way that it carries out the process sequence without collisions. The check for freedom from collisions and / or the selection of the test function for checking for freedom from collisions is carried out in particular in the same program and / or programming environment.
  • the method thus provides that a user can define the process flow as well as the trajectory planning and check for freedom from collisions in the same programming environment and does not have to separately control and / or operate several programming languages and / or different modules.
  • Another object of the invention is a computer program.
  • the computer program is in particular stored and / or storable on a data carrier.
  • the data carrier is preferably a CD, a DVD or some other mass storage device.
  • the computer program is designed to carry out the steps of the previous method when executed on a computer, a computer, the robot arrangement and / or the control device.
  • Another object of the invention is a machine-readable storage medium.
  • the machine-readable storage medium is designed in particular as the data carrier and in particular a CD, DVD or USB stick.
  • the computer program is stored on the machine-readable storage medium as previously described.
  • FIG. 1 shows a robot arrangement as an exemplary embodiment
  • FIG. 2 control of a robot arrangement in the prior art
  • Figure 3 exemplary control with the control device
  • FIG. 4 shows an exemplary sequence for collision-free path planning
  • FIG. 5 shows an exemplary program sequence for control based on a collision-free trajectory
  • FIG. 6 shows an exemplary program sequence for checking freedom from collisions in a robot position.
  • FIG. 1 shows a robot arrangement 1.
  • the robot arrangement 1 is, for example, part of a manufacturing, production or transport system.
  • the robot arrangement 1 comprises at least one robot 2.
  • the robot arrangement 1 can also comprise more than five or more than twenty robots 2.
  • the robot 2 is arranged in a work area 3.
  • the work area 3 is formed, for example, by a section of the production hall, logistics center or a room.
  • the robot 2 has an end effector 4.
  • the end effector 4 has an actuator 5 as a gripper.
  • the end effector 4 can be moved, pivoted and / or rotated in the work area 3.
  • the robot 2 forms, for example, an articulated arm robot.
  • An object can be gripped and / or held by means of the actuator 5.
  • the robot 2 is designed to be able to transport the end effector 4 and / or the gripped object along a trajectory 6.
  • the trajectory 6 is a path in the work area 3.
  • a process sequence or a process step of the process sequence can be carried out
  • the robot arrangement 1 comprises a control device 7.
  • the control device 7 has a process module 8 and a trajectory checking module 9.
  • the Trajectory checking module 9 is preferably designed as a central computer unit.
  • the process module 8 can be designed as a computer unit, preferably the process module 8 is integrated in the robot 2.
  • the process module 8 is connected to the trajectory checking module 9 in terms of data technology. Furthermore, the process module 8, and thus also the control device 7, is connected to the robot 2 for data control purposes.
  • the process module 8 has an input device 10.
  • the input device 10 is designed, for example, as a touchpad; alternatively and / or additionally, the input device 10 has a keyboard, a mouse and / or a joystick.
  • a user can enter, define and / or set a process flow.
  • process flow blocks are stored, which the user can select.
  • the user can define a starting point and / or an end point, as well as work processes, stopping times and / or stopping points.
  • the process module 8 is connected to the trajectory checking module 9 in terms of data technology.
  • the process sequence as set and / or defined by the user is provided to the trajectory checking module 9.
  • the trajectory checking module 9 in particular also obtains the starting point, end point and / or intermediate points from the process module 8.
  • the trajectory checking module 9 is designed to plan a collision-free trajectory for carrying out the process.
  • the trajectory checking module 9 checks that the calculated trajectory 6 is free of collisions.
  • the calculated collision-free trajectory is provided to the process module 8 in terms of data technology, the process module 8 controlling the robot 2 based on the collision-free trajectory 6 to carry out the process sequence.
  • the user can select a function on the process module 8 which controls and causes the trajectory checking module 9 to determine the collision-free trajectory 6 and / or to check it for freedom from collisions.
  • the trajectory test module 9 is in particular also prompted to make the collision-free trajectory available to the process module 8.
  • the robot arrangement 1 also has a sensor device 11.
  • the sensor device 11 is designed, for example, as a video camera, which monitors the work area 3 using video technology.
  • obstacles for example objects, vehicles or people, can be detected in the working area 3 by means of the sensor device 11, the detected objects being provided as environmental data of the control device 7, the control device 7, and in particular the trajectory checking module 9, based on the environmental data, ensuring that the collision is free Can determine and / or check trajectory.
  • FIG. 2 shows a concept for controlling a robot arrangement, as can be found for example in the prior art.
  • the process sequence 12 is not implemented on the robot motion control 13, but in a higher-level unit, for example a higher-level computer unit 14.
  • the robot is controlled by the higher-level unit as a remote control.
  • This superordinate computer unit 14 has a planning module 15, the planning module 15 being able to calculate a collision-free path between a start and a destination.
  • the user programs the logical sequence of the robot 2 and can use the module 15 to calculate collision-free paths between points.
  • the component for determining the process sequence 12 controls the robot movement control 13 (remote control) during operation, which in turn controls the robot 2 and its kinematics 16 and thus moves the robot 2 without collision.
  • the gripping position is predetermined by a sensor device, for example a 3D sensor, the target position being, for example, a conveyor belt on which the object is to be placed.
  • the user implements the process flow here as follows: 1. Calculate the collision-free path from the actual position to the basic position. 2. Open gripper. 3. Drive the robot along the calculated path in the basic position. 4. Calculate the collision-free path from basic position to gripping position in the box. 5. Drive the robot along the calculated path to the gripping position in the box. 6. Close the gripper. 7. Calculate the collision-free path from the gripper position in the box to the deposit point. 8. Drive the robot along the calculated path to the drop point. 9. Open the gripper. 10. Calculate the collision-free path from the drop point to the gripper position in the box. 11. Drive the robot along the calculated path to the gripping position in the box. 12. Close the gripper. 13. As point 7 below.
  • FIG. 3 shows the functional distribution of an exemplary embodiment of a robot arrangement 1.
  • the control device 7 has the trajectory checking module 9 and the process module 8.
  • the process module 8 is for controlling the trajectory test module 9 and for controlling the robot 2.
  • the process module 8 has an input device 10, the user being able to define and / or set the program sequence 12 on the input device 10.
  • the input device is designed, for example, as a screen with a keyboard and / or mouse.
  • the input device 10 is designed as a touchpad.
  • the process module 8 forms an interface for controlling the trajectory test module 9 and the robot 2.
  • the process module is part of the robot 2, wherein the input device 10 is also preferably part of the robot and the user can use it to program the robot and define the program sequence and / or can adjust. If the user wants a collision-free trajectory to be determined on the process module 8 after the process flow has been set and / or defined, then he selects a corresponding function on the process module 8, for example by means of the input unit 10, for example the test function. After selecting the test function, the desired start and / or target position is transferred to the trajectory test module 9. The trajectory checking module 9 determines a collision-free trajectory based on the environmental data, the starting position and the target position and transfers this collision-free trajectory to the process module 8. The user is thus provided with the collision-free trajectory.
  • the process module 8 is then designed to control the robot 2 based on the collision-free trajectory provided.
  • the process module 8 transfers the process sequence 12 to the higher-level unit, the trajectory checking module 9, the trajectory checking module 12 planning the collision-free trajectory and transmitting the collision-free trajectory to the process module 8.
  • the control of the robot with the collision-free trajectory is carried out by the process module 8 and thus not in remote operation by the higher-level unit.
  • only logic and / or computing power for collision-free path planning is stored and / or outsourced in the trajectory checking module 12, the remaining logic and / or programming remaining in the planning module 12 and thus being in the robot 2 and / or at the robot level.
  • FIG. 4 schematically shows the sequence for controlling the robot arrangement 1.
  • the user can define and / or set a process sequence 12.
  • the process module 8 is in particular designed to determine a start position, an end position and / or axis configurations from the process sequence. Furthermore, the start position, the end position and / or the axis configuration can also be set and / or predefined by the user.
  • the process sequence 12, the start position, the end position and / or the axis configuration are provided to an intermediate module 17, which can act in particular as an interface.
  • This intermediate module 17 provides the application 12, the start position, the end position and / or the axis configuration, in particular in a data format which can be processed by the trajectory checking module 9 Trajectory check module 9 available.
  • the trajectory check module 9 comprises a computer unit 18, which can determine a collision-free trajectory 19 based on the process sequence, start position, end position and / or axis configuration provided.
  • the trajectory 19 is provided to the process module 8, which in particular is captured and / or accepted by the intermediate module 17 and, for example, is converted into a data format or program format which can be used and / or used in the process module 8 and in particular by the user.
  • the collision-free trajectory 19 is then provided to the user.
  • it is provided to the user on the input device 10, which can also include an output device such as a screen.
  • FIG. 5 shows the control sequence similar to that in FIG. 4, the collision-free trajectory being implemented on the input device 10 instead of the collision-free trajectory being output.
  • the collision-free trajectory 19 is implemented by the intermediate module 17 in a movement command 20.
  • the movement command 20 is used by the process module 8 to control the robot and / or the actuator to carry out the process function and to move along the collision-free trajectory.
  • the intermediate module 17 issues a confirmation command 21 which is displayed on the input device 10 and is intended to signal to the user that the process sequence has been completed and / or has been carried out. Furthermore, an error message can be displayed if the execution of the process could not take place and / or had to be canceled.
  • FIG. 6 shows an exemplary sequence for checking a position of the robot.
  • a robot position 22 can be entered on the process module, in particular by means of the input device 10.
  • the robot position is a desired position, a starting point or an ending point.
  • the robot position 22 is provided in the process module 8 to the intermediate module 17, which in particular carries out a conversion into a data format and provides the converted robot position 22 to the trajectory checking module 9.
  • the trajectory checking module 9 is designed to check the robot position and to examine whether there is a position at this position Collision with the environment would take place.
  • the result 23 of the collision check is provided by the trajectory checking module 9 to the process module 8, the intermediate module 17 converting the information 23 provided into a format which can be made available to the input device 10 and which can be output by the user as information.
  • an OK can be output if the position is collision-free, or a collision if there would be a collision at this position.
  • the user can check beforehand whether certain points, for example the destination, start or intermediate points, are risk of collision.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Steuervorrichtung für eine Roboteranordnung (1), wobei die Roboteranordnung (1) mindestens einen Roboter (2) umfasst, wobei der Roboter (2) in einem Arbeitsbereich (3) betreibbar ist und einen Endeffektor (4) aufweist, wobei der Endeffektor (4) zur Durchführung eines Prozessablaufs (12) in dem Arbeitsbereich (3) bewegbar ist, mit einer Steuereinrichtung (7) zur Eingabe, Festlegung und/oder Einstellung des Prozessablaufs (12), wobei die Steuereinrichtung (7) ausgebildet ist, eine Trajektorie (6) zur Durchführung des Prozessablaufs (12) zu planen und den Roboter (2) basierend auf der Trajektorie (6) zur Durchführung des Prozessablaufs (12) anzusteuern, wobei die Steuereinrichtung (7) eine Prüffunktion aufweist und ausgebildet ist, vor Ansteuerung des Roboters (2) die Trajektorie (6) auf Kollisionsfreiheit zu prüfen.

Description

Beschreibung
Titel
Steuervorrichtung für eine Roboteranordnung, Roboteranordnung, Verfahren,
Computerprogramm und maschinenlesbares Speichermedium
Stand der Technik
Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung für eine Roboteranordnung, wobei die Roboteranordnung mindestens einen Roboter umfasst, wobei der Roboter in einem Arbeitsbereich betreibbar ist und einen Endeffektor aufweist, wobei der Endeffektor zur Durchführung eines Prozessablaufs in dem Arbeitsbereich bewegbar ist, mit einer Steuereinrichtung zur Eingabe, Festlegung und/oder Einstellung des Prozessablaufs, wobei die Steuereinrichtung ausgebildet ist, eine Trajektorie zur Durchführung des Prozessablaufs zu planen und den Roboter basierend auf der Trajektorie zur Durchführung des Prozessablaufs anzusteuern.
In Produktionsanlagen, wie z.B. in der Logistik und in anderen Anlagen, kommen häufig Kinematiken (Roboter) zum Einsatz, um beispielsweise Teile zu transportieren und/oder zu montieren. Die Bewegungen beziehungsweise Aufgaben, die die Roboter abarbeiten sollen, programmiert ein Benutzer typischerweise vorher ein. Dazu muss der Benutzer genau wissen, wie sich der Roboter verhält und/oder bewegt, um Kollisionen zwischen Roboter und der Umgebung und/oder zwischen Roboter und Roboter zu vermeiden. Probleme entstehen insbesondere dann, wenn dynamische Startpunkte und/oder Zielpunkte hinzukommen, die beispielsweise ein Sensor vorgibt. Für den Benutzer ist es dann beliebig kompliziert, eine kollisionsfreie Bewegung des Roboters zu jedem Zeitpunkt zu gewährleisten. Die Druckschrift DE 10 2013 203 547 Al, die wohl den nächstkommenden Stand der Technik bildet, beschreibt eine Roboterarbeitsplatzanordnung mit einem Roboter, der in einem Arbeitsbetrieb und in einem Kollaborationsbetrieb betreibbar ist und eine Erfassungseinrichtung zur Erfassung einer Person in dem Erfassungsbereich aufweist. Ferner umfasst die Roboterarbeitsplatzanordnung eine Steuereinrichtung zur Ansteuerung des Roboters, wobei die Steuereinrichtung den Roboter bei der Erfassung der Person im Erfassungsbereich dazu ansteuert, vom Arbeitsbetrieb in den Kollaborationsbetrieb zu wechseln. Bei einem Heraustreten der Person aus dem Erfassungsbereichsabschnitt wird der Roboter noch für eine Blockierdauer blockiert.
Offenbarung der Erfindung
Erfindungsgemäß wird eine Steuervorrichtung für eine Roboteranordnung mit den Merkmalen des Anspruchs 1 vorgeschlagen. Ferner wird eine Roboteranordnung, ein Verfahren, ein Computerprogramm und ein maschinenlesbares Speichermedium vorgeschlagen. Bevorzugte und/oder vorteilhafte Ausführungsformen ergeben sich aus der nachfolgenden Beschreibung, den Unteransprüchen und den beigefügten Figuren.
Es wird eine Steuervorrichtung für eine Roboteranordnung vorgeschlagen. Insbesondere kann die Steuervorrichtung integrierbar und/oder integriert in der Roboteranordnung sein. Die Steuervorrichtung ist vorzugsweise als ein Hardwaremodul ausgebildet, alternativ kann die Steuervorrichtung als ein Softwaremodul ausgebildet sein. Die Roboteranordnung ist beispielsweise eine Roboteranordnung in der Produktion, in der Messtechnik oder in der Logistik. Mittels der Roboteranordnung können Gegenstände bearbeitet, transportiert und/oder vermessen werden. Beispielsweise ist die Roboteranordnung Teil einer Fertigungslinie oder einer Logistiklinie. Im Besonderen kann die Steuervorrichtung für mehrere Roboteranordnungen ausgelegt sein, wobei die Steuervorrichtung mit der und/oder mit den Roboteranordnungen datentechnisch verbunden ist.
Die Roboteranordnung umfasst mindestens einen Roboter. Vorzugsweise umfasst die Roboteranordnung eine Mehrzahl an Robotern, beispielsweise mindestens fünf oder zehn Roboter. Bei den Robotern kann es sich um kartesische Roboter, um Scara- Roboter oder um Knickarmroboter handeln. Insbesondere kann der Roboter auch als eine lineare Achse ausgebildet sein. Umfasst die Roboteranordnung mehrere Roboter, so können die Roboter gleichartig oder unterschiedlich ausgebildet sein. Ferner ist es vorgesehen, dass die Roboter einer Roboteranordnung miteinander interagieren können und zum Kollaborationsbetrieb ausgebildet sind.
Der Roboter ist in einem Arbeitsbereich betreibbar und/oder angeordnet. Der Arbeitsbereich ist beispielsweise ein Abschnitt der Produktionslinie, der Logistiklinie oder der Fertigungsanlage. Der Arbeitsbereich ist insbesondere ein räumlicher Bereich. Der Roboter weist einen Endeffektor auf. Der Endeffektor ist insbesondere als ein Greifer und/oder Werkzeug ausgebildet. Mittels des des Endeffektors ist ein Objekt, ein Gegenstand und/oder ein Werkstück greifbar, haltbar, bearbeitbar und/oder vermessbar. Insbesondere kann ein Roboter mehr als einen Effektor aufweisen, wobei die Endeffektoren vorzugsweise miteinander zur Kollaboration ausgebildet sind, und beispielsweise ein Objekt von einem Aktor zum nächsten Aktor übergeben werden kann. Der Robotoer weist beispielsweise einen Roboterarm auf, wobei der Roboterarm den Endeffektor umfasst. Der Endeffektor ist in dem Arbeitsbereich bewegbar. Beispielsweise ist der Endeffektor in dem Arbeitsbereich verschwenkbar, verfahrbar und/oder verdrehbar.
Der Roboter ist zur Durchführung eines Prozessablaufs ausgebildet. Der Prozessablauf ist beispielsweise ein Teilschritt oder ein gesamter Ablauf zur Herstellung, zur Bearbeitung, zum Transport und/oder zum Vermessen des Werkstücks, des Objektes und/oder des Gegenstandes. Ein Prozessablauf kann insbesondere mehrere Prozessschritte umfassen, beispielsweise transportieren, greifen, bearbeiten und/oder halten. Der Prozessablauf weist insbesondere einen Abfolgeplan der Prozessschritte auf, in welchem die Prozessschritte durchzuführen sind. Im Speziellen sind mittels des Roboters und/oder der Roboteranordnung unterschiedliche Prozessabläufe darstellbar, betreibbar und/oder ausführbar.
Die Steuervorrichtung weist eine Steuereinrichtung auf. Die Steuereinrichtung ist vorzugsweise ein Hardwaremodul. Alternativ kann die Steuereinrichtung als ein Softwaremodul ausgebildet sein, beispielsweise auf einer Rechnereinheit, einem Prozessor oder einem Mikrochip. Die Steuereinrichtung ist vorzugsweise eine zentrale Steuereinrichtung für den und/oder die Mehrzahl an Robotern. Roboter und Steuereinrichtung sind dabei datentechnisch miteinander verbunden, beispielsweise durch eine Kabelleitung, alternativ durch eine kabellose Verbindung.
Auf der Steuereinrichtung ist der Prozessablauf einstellbar, eingebbar und/oder festlegbar durch einen Benutzer. Beispielsweise weist dazu die Steuereinrichtung eine Eingabeeinheit auf. Mittels der Eingabeeinheit kann der Benutzer den Prozessablauf konfigurieren, eingeben und/oder festlegen. Beispielsweise ist die Eingabe und/oder die Festlegung des Prozessablaufes die Zusammenstellung, insbesondere der zeitliche Ablauf der einzelnen Prozessschritte. Ferner kann die Eingabe und/oder Festlegung des Prozessablaufes auch eine Zuordnung von Robotern zu Prozessschritten aufweisen. Beispielsweise wird von dem Benutzer festgelegt, dass ein erster Prozessschritt des Prozessablaufs durch einen ersten Roboter ausgeführt werden soll, wobei ein weiterer Prozessschritt gleichzeitig und/oder danach durch einen weiteren Roboter der Roboteranordnung auszuführen ist. Vorzugsweise erfolgt die Eingabe, Festlegung und/oder Einstellung des Prozessablaufes in einer Programmierumgebung. Die Programmierumgebung ermöglicht beispielsweise ein grafisches Eingeben, Festlegen und/oder Einstellen des Prozessablaufes. Alternativ kann die Programmierumgebung ein kommandozeilenbasiertes Eingabeverfahren ermöglichen. Insbesondere sind mittels der Steuereinrichtung bei der Eingabe, Festlegung und/oder Einstellung des Prozessablaufes ein Startpunkt und/oder ein Endpunkt der Prozessschritte und/oder des Prozessablaufes festlegbar.
Die Steuereinrichtung ist ausgebildet, eine Trajektorie zur Durchführung des Prozessablaufes zu planen und den Roboter basierend auf der Trajektorie zur Durchführung des Prozessablaufes anzusteuern. Insbesondere kann die Steuereinrichtung ausgebildet sein eine Bahn zur Durchführung des Prozessablaufs zu planen. Im Speziellen kann im Folgenden als Trajektorie allgemein auch die Bahn verstanden werden. Als Bahn wird insbesondere eine Funktion des Weges verstanden, beispielsweise des Pfades. Als Trajektorie wird vorzugsweise eine Funktion der Zeit verstanden, wobei insbesondere Beschleunigungen und/oder kinematische Begrenzungen des Roboters berücksichtigt werden. Vorzugsweise erfolgt die Planung der Trajektorie und/oder der Bahn und das Ansteuern des Roboters in einem gemeinsamen Modul und/oder in der gemeinsamen Programmierumgebung. Die Trajektorie ist insbesondere ein Pfad und/oder eine Beschreibung der Bewegung des Endeffektors im Arbeitsbereich. Die Trajektorie kann im Pfad beispielsweise in Form eines Ortsvektors erfolgen, wobei der Ortsvektor zeitabhängig ist, und jeden Zeitpunkt t einem Ortsvektor des Endeffektors zuordnet, wobei diese Zuordnung in einem Referenzsystem oder Schwerpunktsystem erfolgt. Ferner kann die Trajektorie als eine Zuordnung von Achssteilungen des Roboters, insbesondere Knickarmroboters, zu jedem Zeitpunkt bilden.
Die Steuereinrichtung weist eine Prüffunktion auf. Die Prüffunktion kann ein Modul, ein Softwarebaustein oder einen Verfahrensschritt bilden. Beispielsweise ist die Prüffunktion ein Verfahrens- und/oder ein Programmschritt. Die Steuereinrichtung und insbesondere die Prüffunktion ist ausgebildet, die Trajektorie auf eine Kollisionsfreiheit zu prüfen. Die Überprüfung der Trajektorie auf Kollisionsfreiheit erfolgt insbesondere vor der Ansteuerung des Roboters zur Durchführung des Prozessablaufes. Vorzugsweise erfolgt zuerst die Einstellung und/oder Festlegung des Prozessablaufes sowie beispielsweise die Planung der Trajektorie zur Durchführung des Projektablaufes, worauf die Überprüfung auf Kollisionsfreiheit folgt und anschließend die Ansteuerung erfolgt. Die Kollisionsfreiheitsprüfung ist insbesondere eine Prüfung auf eine Kollisionsfreiheit des Roboters, insbesondere des Endeffektors, mit Gegenständen im Arbeitsbereich und/oder der Umgebung, wobei diese Gegenstände vorzugsweise fest angebrachte Gegenstände und/oder unbewegliche Gegenstände sind. Ferner kann die Prüfung der Kollisionsfreiheit auch eine Prüfung auf Kollisionsfreiheit eines Roboters mit einem anderen Roboter sein, sodass beispielsweise beide Roboter der Roboteranordnung gleichzeitig ohne Kollision betreibbar sind. Insbesondere ist es vorgesehen, dass die Prüffunktion und/oder die Prüfung der Kollisionsfreiheit der Trajektorie in dem gleichen Programm und/oder Programmierumgebung durchführbar und/oder aufrufbar ist. Dieser Ausgestaltung liegt die Überlegung zugrunde, dass der Benutzer, der die Eingabe, Festlegung und/oder Einstellung des Prozessablaufs in der Steuereinrichtung vornimmt, auch die Prüfung der Kollisionsfreiheit übernehmen kann. Eingabe, Festlegung und/oder Einstellung des Prozessablaufes, sowie Planung der Trajektorie und die Überprüfung auf Kollisionsfreiheit ist damit in einer gemeinsamen Steuereinrichtung ausführbar, aufrufbar und/oder bedienbar.
Der Erfindung liegt die Überlegung zugrunde, dass bisher Benutzer nicht in einer gewohnten Programmierung und/oder Programmierumgebung arbeiten können, wenn sie eine Trajektorie auf Kollisionsfreiheit überprüfen möchten. Bisher müssen sich Benutzer beispielsweise mit unterschiedlichen Programmierungen und/oder Logiken auseinandersetzen, da zur Festlegung und/oder Einstellung des Programmablaufs und zur Trajektorienplanung unterschiedliche Einheiten zuständig sind. Ferner sind insbesondere in Einheiten zur Kollisionsüberwachung Roboterfunktionalitäten nicht abbildbar und/oder integrierbar. Der Schulungsaufwand für Personal und/oder Benutzer der Roboteranordnung ist daher bisher sehr immens und verursacht hohe Kosten. Durch die Bereitstellung der Kollisionsüberprüfung als eine Funktionalität in der Steuereinrichtung selbst, insbesondere als eine höherwertige Funktion, kann der Schulungsaufwand reduziert und die Kosten gesenkt werden. Der Benutzer mit seiner Fachkenntnis in der roboterspezifischen Steuerung hat so die Möglichkeit, zusätzlich die Funktion der Kollisionsüberprüfung nutzen zu können, ohne sich mit der Logik und/oder Programmierung einer anderen Einheit befassen zu müssen. Insbesondere sind bisherige Roboteranordnungen mittels der Steuervorrichtung nachrüstbar.
Als Vorteil ergeben sich somit insbesondere, dass der Benutzer weiterhin den Funktionsumfang der bisherigen Robotersteuerung nutzen kann und in seiner gewohnten roboterspezifischen Programmierumgebung arbeiten kann. Der Benutzer muss so keine neue Programmiersprache lernen, um ein übergeordnetes System und/oder Einheit zur Trajektorienüberprüfung bedienen zu können und/oder die Trajektorie darauf basierend editieren zu können.
Besonders bevorzugt ist es, dass die Prüffunktion von einem Benutzer mittels einer Eingabeeinrichtung auswählbar ist. Insbesondere ist die Eingabeeinrichtung Teil der Steuereinrichtung. Beispielsweise ist die Prüffunktion als eine Applikation, als ein Softwaremodul oder als eine abrufbare Anwendung auswählbar. Mittels dem Auswählen der Prüffunktion wird insbesondere die Prüfung der Trajektorie auf Kollisionsfreiheit ausgeführt. So ist es beispielsweise möglich, dass der Benutzer zuerst den Prozessablauf festlegt und eine Trajektorie für diesen Prozessablauf bestimmt, wobei nach der Einstellung des Prozessablaufs und der Planung der Trajektorie durch Aufrufen und/oder Auswählen der Prüffunktion diese festgelegte Trajektorie auf Kollisionsfreiheit überprüft wird. Dieser Ausgestaltung liegt die Überlegung zugrunde, dass der Benutzer so weiterhin die Robotersteuerung in seiner gewohnten Programmierumgebung verwenden kann und die Trajektorie dort kollisionsfrei planen kann Überprüfung auf Kollision durch Auswahl der Prüffunktion veranlassen kann, ohne Kenntnisse in der Programmierung und/oder Funktionalität der Kollisionsüberwachung haben zu müssen.
Optional ist es vorgesehen, dass die Steuereinrichtung ausgebildet ist, die Trajektorie basierend auf dem Prozessablauf kollisionsfrei zu planen und/oder umzuplanen. Beispielsweise kann die Steuereinrichtung ausgebildet sein, eine Trajektorie zur Durchführung des Prozessablaufs auf Kollisionen und/oder Kollisionsfreiheit zu überprüfen und beispielsweise bei festgestellter Kollision die Trajektorie so umzuplanen, dass der Prozessablauf weiter durchführbar ist, die Trajektorie dann jedoch kollisionsfrei ist. Insbesondere erfolgt die Umplanung und/oder die Planung der kollisionsfreien Trajektorie so, dass die umgeplante Trajektorie und/oder die kollisionsfreie Trajektorie möglichst wenig von einer Minimaltrajektorie abweicht, wobei die Minimaltrajektorie insbesondere die Trajektorie und/oder der Pfad ist, der den Prozessablauf möglichst schnell, kostengünstig ausführt und/oder eine andere Nebenbedingung optimiert. Beispielsweise kann es vorgesehen sein, dass von der Steuereinrichtung bei der Festlegung und/oder nach der Festlegung, Eingabe und/oder Einstellung des Prozessablaufes eine Mehrzahl an Trajektorien zur Durchführung des Prozessablaufes geplant werden und die Steuereinrichtung ausgebildet ist, insbesondere basierend auf der Prüffunktion und/oder nach Auswahl der Prüffunktion, die Trajektorien auf Kollisionsfreiheit zu prüfen und die und/oder eine der kollisionsfreien Trajektorien als Trajektorie zur Ansteuerung und/oder Durchführung des Prozessablaufes auszuwählen. Beispielsweise legt der Benutzer als Prozessablauf fest, einen Gegenstand von einer Position aufzunehmen und zu einer anderen Position zu transportieren, wobei die Steuereinrichtung dann ausgebildet ist, eine Trajektorie zu bestimmen, die das Aufnehmen, Transportieren und Ablegen des Gegenstandes kollisionsfrei durchführt.
Eine besonders bevorzugte Ausgestaltung der Erfindung sieht vor, dass die Steuereinrichtung ausgebildet ist, aus dem Prozessablauf und/oder der Trajektorie zu dem Prozessablauf einen Startpunkt und/oder einen Endpunkt zu extrahieren. Beispielsweise muss der Benutzer bei der Festlegung des Prozessablaufes den Startpunkt und/oder eine Startkoordinate festlegen, ferner kann es sein, dass der Benutzer einen Endpunkt und/oder eine Endkoordinate festlegen muss. Die Steuereinrichtung kann ferner ausgebildet sein, Zwischenpunkte des
Prozessablaufes und/oder der Trajektorie zu extrahieren. Beispielsweise sind Zwischenpunkte Punkte des Prozessablaufes, bei welchen ein
Bearbeitungsschritt, ein Übergabeschritt oder ein Halteschritt stattfindet. Dabei ist es insbesondere vorgesehen, dass die Prüfung der Kollisionsfreiheit und/oder die Planung der kollisionsfreien Trajektorie und/oder die Umplanung der Trajektorie zu einer kollisionsfreien Trajektorie auf dem Startpunkt, dem Endpunkt und/oder den Zwischenpunkten basiert. Beispielsweise ist die Steuereinheit ausgebildet, eine Trajektorie zwischen Startpunkt und Endpunkt so zu planen, dass keine Kollision mit der Umgebung und dem Roboter eintritt.
Insbesondere ist es vorgesehen, dass die Steuervorrichtung eine oder mehrere Sensorvorrichtungen umfasst. Die Sensorvorrichtung ist ausgebildet, Umgebungsdaten zu bestimmen. Beispielsweise sind die Sensorvorrichtungen zur optischen, akustischen, mechanischen oder elektrischen Überwachung der Umgebung und/oder des Roboters ausgebildet. Umgebungsdaten sind beispielsweise Koordinaten und/oder Positionen von Gegenständen im Arbeitsbereich und/oder eine Position des Roboters und/oder des Endeffektors bei und/oder während der Durchführung des Prozessablaufs. Beispielsweise umfasst die Sensorvorrichtung in regelmäßigen Abständen den Arbeitsbereich, beispielsweise, ob Veränderungen stattgefunden haben, und/oder Hindernisse hinzugekommen sind oder weggefallen sind. Die Steuereinrichtung ist insbesondere ausgebildet, basierend auf den Umgebungsdaten die Kollisionsfreiheit zu überprüfen. Ferner kann die Steuervorrichtung ausgebildet sein, die kollisionsfreie Trajektorie und/oder die Umplanung zur kollisionsfreien Trajektorie basierend auf den Umgebungsdaten durchzuführen. Beispielsweise ist die Steuereinrichtung ausgebildet, jeden Punkt der Trajektorie und/oder des Pfades mit den Umgebungsdaten abzugleichen.
Eine Ausgestaltung der Erfindung sieht vor, dass die Steuereinrichtung ein Prozessmodul und ein Trajektorienprüfmodul umfasst, wobei das Trajektorienprüfmodul insbesondere die Prüffunktion aufweist und/oder zur Durchführung der Trajektorienprüfung ausgebildet ist. Das Trajektorienprüfmodul bildet insbesondere eine übergeordnete Einheit. Das Trajektorienprüfmodul und das Prozessmodul bilden vorzugsweise zwei physikalisch getrennte Module und/oder Einheiten. Beispielsweise ist das Trajektorienprüfmodul ein übergeordnetes Modul und bildet beispielsweise eine Rechnereinheit. Die beiden, insbesondere auch physiklaisch getrennten Module, können beide vom Roboter und/oder der Steuereinrichtung umfasst sein. Das Prozessmodul und das Trajektorienprüfmodul können logisch getrennte Module bilden und beispielsweise Programmabschnitte bilden.
Das Trajektorienprüfmodul ist zum Prüfen der Trajektorie und/oder der Bahn auf Kollisionsfreiheit ausgebildet. Das Prozessmodul ist zur Eingabe, Festlegung und/oder Einstellung des Prozessablaufs durch den Benutzer ausgebildet. Ferner kann das Prozessmodul eine erste Trajektorie und/oder die Trajektorie planen. Alternativ und/oder ergänzend ist die Planung der kollisionsfreien Trajektorie und/oder die Umplanung der Trajektorie zur kollisionsfreien Trajektorie auf dem Trajektorienprüfmodul implementiert und/oder ausführbar. Das Trajektorienprüfmodul und das Prozessmodul sind datentechnisch miteinander verbunden. Insbesondere sind über das Prozessmodul dem Trajektorienprüfmodul der Startpunkt, der Endpunkt und/oder Zwischenpunkte bereitstellbar. Die Prüffunktion ist insbesondere vom Prozessmodul aus auf dem Trajektorienprüfmodul abrufbar und zur Überprüfung der Trajektorie auf Kollisionsfreiheit anwendbar. Dieser Ausgestaltung liegt die Überlegung zugrunde, die rechentechnisch aufwendige Überprüfung der Trajektorie und/oder Umplanung sowie Planung einer kollisionsfreien Trajektorie auf ein übergeordnetes System, beispielsweise eine zentrale Rechnereinheit, auszulagern, wobei die Funktion der Kollisionsfreiheitsprüfung, Planung und/oder Umplanung weiterhin von der Steuereinrichtung und insbesondere dem Prozessmodul aus aufrufbar und/oder anwendbar ist, sodass der Benutzer in seiner bekannten Umgebung arbeiten kann, jedoch die komplexe Prüffunktion anwenden kann.
Besonders bevorzugt ist es, dass Eingabe, Festlegung und Einstellung des Prozessablaufes sowie die Prüfung der Kollisionsfreiheit in einer gemeinsamen Programmierumgebung implementiert sind und/oder von einem Benutzer dort anwendbar sind. Insbesondere kann in dieser Programmierumgebung auch die Funktionalität der Umplanung der Trajektorie zur kollisionsfreien Trajektorie sowie das Planen einer kollisionsfreien Trajektorie in dieser Programmierumgebung implementiert sein. Beispielsweise ist die Programmierumgebung zu einer grafischen Eingabe, Festlegung, Einstellung und/oder Prüfung ausgebildet, sodass insbesondere keine expliziten Programmiersprachen und/oder Programmierkenntnisse zur Bedienung der Steuereinrichtung und/oder Steuervorrichtung nötig sind.
Optional ist es vorgesehen, dass die Steuereinrichtung eine Funktionsdatenbank aufweist. Insbesondere ist die Funktionsdatenbank eine erweiterbare Funktionsdatenbank. Die Funktionsdatenbank weist vorzugsweise Programmabläufe, Prozessabläufe, Prozessablaufbausteine und/oder typische Funktionalitäten auf. Insbesondere ist eine Funktionsdatenbank für jeden Roboter der Roboteranordnung hinterlegt und/oder hinterlegbar. Die Prozessablaufbausteine repräsentieren beispielsweise den Funktionsumfang des Roboters, wobei diese Prozessablaufbausteine zur Durchführung des Prozessablaufes auswählbar und/oder in einer zeitlichen Reihenfolge anwendbar sind. Insbesondere ist die Prüffunktion als ein Funktionsbaustein in der Steuereinrichtung implementiert. Ferner kann als Prozessablaufbaustein und/oder als Funktion in der Funktionsdatenbank das Umplanen der Trajektorie zur kollisionsfreien Trajektorie sowie das Planen einer kollisionsfreien Trajektorie hinterlegt sein. Dieser Ausgestaltung liegt die Überlegung zugrunde, ein besonders intuitiv handelbares Steuern der Roboteranordnung zu ermöglichen.
Eine Ausgestaltung der Erfindung sieht vor, dass die Steuereinrichtung ausgebildet ist, eine Roboterposition zu bestimmen und/oder eine Roboterposition eingebbar oder extrahierbar ist. Beispielsweise kann die Steuereinrichtung die aktuelle Position des Roboters und/oder der Roboter extrahieren und/oder bestimmen. Die Steuereinheit ist insbesondere ausgebildet, beispielsweise bei Auswahl und/oder Ausführung der Prüffunktion die Roboterposition auf eine Kollision zu überprüfen, beispielsweise, ob die Position aktuell oder zukünftig zu einer Kollision führen wird.
Optional ist es vorgesehen, dass über die Steuereinrichtung, insbesondere mittels der Eingabeeinrichtung, von einem Benutzer ein Trajektorientyp einstellbar ist. Ein Trajektorientyp ist beispielsweise die Art der Trajektorie und/oder des Pfades. Im Speziellen ist ein Trajektorientyp eine lineare Trajektorie, eine gekrümmte Trajektorie, eine parabelförmige Trajektorie oder eine Trajektorie in Form eines geschlossenen Pfades. Die Steuereinrichtung ist ausgebildet, die Trajektorie so zu bestimmen, dass sie dem Trajektorientyp entspricht. Insbesondere ist die Steuereinrichtung ausgebildet, eine kollisionsfreie Trajektorie des entsprechenden Trajektorientyps zu bestimmen.
Einen weiteren Gegenstand der Erfindung bildet eine Roboteranordnung. Die Roboteranordnung weist dabei mindestens einen Roboter, vorzugsweise eine Mehrzahl an Robotern, auf. Der Roboter und/oder die Roboter sind in einem Arbeitsbereich betreibbar. Insbesondere sind die Roboter in einem gemeinsamen Arbeitsbereich betreibbar. Der Roboter und/oder die Roboter weisen jeweils mindestens einen Endeffektor auf, wobei der Endeffektor beispielsweise als ein Aktor ausgebildet ist. Der Endeffektor ist zur Durchführung des Prozessablaufs in dem Arbeitsbereich des Roboters und/oder im Arbeitsbereich der Roboteranordnung bewegbar. Die Roboteranordnung weist die Steuereinrichtung, insbesondere wie vorher beschrieben, auf. Mittels der Steuereinrichtung ist eine Trajektorie zur Durchführung eines Prozessablaufes durch den Roboter und/oder durch die Roboteranordnung planbar. Insbesondere ist der Prozessablauf durch den Benutzer an der Steuereinrichtung eingebbar, festlegbar und/oder einstellbar. Die Roboteranordnung mit der Steuervorrichtung ist ausgebildet, die geplante Trajektorie auf eine Kollisionsfreiheit zu prüfen, wobei es auch vorgesehen sein kann, dass mittels der Steuereinrichtung eine kollisionsfreie Trajektorie bestimmt wird. Insbesondere ist es vorgesehen, dass die Steuereinrichtung der Roboteranordnung ein Trajektorienprüfmodul und ein Prozessmodul aufweist, wobei das Trajektorienprüfmodul insbesondere ein zentrales Trajektorienprüfmodul für eine Mehrzahl an Robotern ist, und das Trajektorienprüfmodul mit dem Prozessmodul und/oder den Prozessmodulen datentechnisch verbunden ist. Das Prozessmodul ist vorzugsweise Teil des Roboters.
Einen weiteren Gegenstand der Erfindung bildet ein Verfahren zur Steuerung einer Roboteranordnung. Dabei ist es vorgesehen, dass, insbesondere mittels der Steuereinrichtung, durch einen Benutzer ein Prozessablauf festgelegt, eingegeben und/oder eingestellt wird. Insbesondere kann der Benutzer durch Auswahl von Prozessablaufbausteinen den Prozessablauf konfigurieren, eingeben und/oder festlegen. Die Eingabe, Festlegung oder Einstellung erfolgt insbesondere in einer Programmierumgebung. Durch den Benutzer ist eine Prüffunktion auswählbar. Bei Auswählen der Prüffunktion wird die Trajektorie auf Kollisionsfreiheit geprüft. Insbesondere kann die Trajektorie so geplant und/oder umgeplant werden, dass sie kollisionsfrei den Prozessablauf durchführt. Die Prüfung auf Kollisionsfreiheit und/oder die Auswahl der Prüffunktion zur Prüfung auf Kollisionsfreiheit erfolgt insbesondere in der gleichen Programm- und/oder Programmierumgebung. Das Verfahren sieht damit vor, dass ein Benutzer das Festlegen des Prozessablaufes sowie die Trajektorienplanung und Überprüfung auf Kollisionsfreiheit in einer gleichen Programmierumgebung durchführen kann und nicht mehrere Programmiersprachen und/oder unterschiedliche Module separat ansteuern und/oder bedienen muss.
Einen weiteren Gegenstand der Erfindung bildet ein Computerprogramm. Das Computerprogramm ist insbesondere auf einem Datenträger gespeichert und/oder speicherbar. Der Datenträger ist vorzugsweise eine CD, eine DVD oder ein anderweitiger Massenspeicher. Das Computerprogramm ist ausgebildet, bei Ausführung auf einem Computer, einem Rechner, der Roboteranordnung und/oder der Steuervorrichtung die Schritte des vorherigen Verfahrens durchzuführen.
Einen weiteren Gegenstand der Erfindung bildet ein maschinenlesbares Speichermedium. Das maschinenlesbare Speichermedium ist insbesondere als der Datenträger ausgebildet und im Speziellen eine CD, DVD oder USB- Stick. Auf dem maschinenlesbaren Speichermedium ist das Computerprogramm wie vorher beschrieben gespeichert. Weitere Vorteile, Wirkungen und Ausgestaltungen der Erfindung ergeben sich aus den beigefügten Figuren und deren Beschreibung. Dabei zeigen:
Figur 1 eine Roboteranordnung als ein Ausführungsbeispiel;
Figur 2 Steuerung einer Roboteranordnung im Stand der Technik;
Figur 3 beispielhafte Steuerung mit der Steuervorrichtung;
Figur 4 beispielhafter Ablauf zur kollisionsfreien Bahnplanung;
Figur 5 beispielhafter Programmablauf zur Ansteuerung basierend auf einer kollisionsfreien Trajektorie;
Figur 6 beispielhafter Programmablauf zur Überprüfung einer Kollisionsfreiheit in einer Roboterposition.
Figur 1 zeigt eine Roboteranordnung 1. Die Roboteranordnung 1 ist beispielsweise Teil einer Fertigungs-, Produktions- oder Transportanlage. Die Roboteranordnung 1 umfasst mindestens einen Roboter 2. Die Roboteranordnung 1 kann auch mehr als fünf oder mehr als zwanzig Roboter 2 umfassen. Der Roboter 2 ist in einem Arbeitsbereich 3 angeordnet. Der Arbeitsbereich 3 wird beispielsweise durch einen Abschnitt der Produktionshalle, Logistikzentrale oder eines Raums gebildet. Der Roboter 2 weist einen Endeffektor 4 auf. Der Endeffektor 4 weist einen Aktor 5 als Greifer auf. Der Endeffektor 4 ist in dem Arbeitsbereich 3 bewegbar, verschwenkbar und/oder verdrehbar. Der Roboter 2 bildet dabei beispielsweise einen Knickarmroboter. Mittels des Aktors 5 kann ein Objekt gegriffen und/oder gehalten werden. Der Roboter 2 ist ausgebildet, den Endeffektor 4 und/oder das gegriffene Objekt entlang einer Trajektorie 6 transportieren zu können. Die Trajektorie 6 ist ein Pfad im Arbeitsbereich 3. Mittels des Roboters 2 kann ein Prozessablauf oder ein Prozessschritt des Prozessablaufs durchgeführt werden.
Die Roboteranordnung 1 umfasst eine Steuereinrichtung 7. Die Steuereinrichtung 7 weist ein Prozessmodul 8 und ein Trajektorienprüfmodul 9 auf. Das Trajektorienprüfmodul 9 ist vorzugsweise als eine zentrale Rechnereinheit ausgebildet. Das Prozessmodul 8 kann als eine Rechnereinheit ausgebildet sein, vorzugsweise ist das Prozessmodul 8 in den Roboter 2 integriert. Das Prozessmodul 8 ist datentechnisch mit dem Trajektorienprüfmodul 9 verbunden. Ferner ist das Prozessmodul 8, und damit auch die Steuereinrichtung 7, datentechnisch mit dem Roboter 2 zu dessen Steuerung verbunden.
Das Prozessmodul 8 weist eine Eingabeeinrichtung 10 auf. Die Eingabeeinrichtung 10 ist beispielsweise als ein Touchpad ausgebildet, alternativ und/oder ergänzend weist die Eingabeeinrichtung 10 eine Tastatur, eine Maus und/oder einen Joystick auf. Mittels der Eingabeeinrichtung 10 kann ein Benutzer einen Prozessablauf eingeben, festlegen und/oder einstellen. Beispielsweise sind dazu Prozessablaufbausteine hinterlegt, welche der Benutzer auswählen kann. Beispielsweise kann der Benutzer einen Startpunkt und/oder einen Endpunkt festlegen sowie Arbeitsabläufe, Haltezeiten und/oder Haltepunkte. Durch das Festlegen des Prozessablaufes kann eine Trajektorie und/oder kann eine Mehrzahl an Trajektorien bestimmt werden. Das Prozessmodul 8 ist datentechnisch mit dem Trajektorienprüfmodul 9 verbunden. Dem Trajektorienprüfmodul 9 ist der Prozessablauf, wie er von dem Benutzer eingestellt und/oder festgelegt wurde, bereitgestellt. Das Trajektorienprüfmodul 9 bezieht insbesondere auch Startpunkt, Endpunkt und/oder Zwischenpunkte vom Prozessmodul 8. Das Trajektorienprüfmodul 9 ist ausgebildet, eine kollisionsfreie Trajektorie zur Durchführung des Prozessablaufs zu planen. Insbesondere prüft das Trajektorienprüfmodul 9 die Kollisionsfreiheit der berechneten Trajektorie 6. Die berechnete kollisionsfreie Trajektorie wird dem Prozessmodul 8 datentechnisch bereitgestellt, wobei das Prozessmodul 8 den Roboter 2 basierend auf der kollisionsfreien Trajektorie 6 zur Durchführung des Prozessablaufs ansteuert. Insbesondere ist durch den Benutzer auf dem Prozessmodul 8 eine Funktion auswählbar, welche das Trajektorienprüfmodul 9 ansteuert und veranlasst, die kollisionsfreie Trajektorie 6 zu bestimmen und/oder auf Kollisionsfreiheit zu prüfen. Durch das Betätigen der Prüffunktion auf dem Prozessmodul 8 wird das Trajektorienprüfmodul 9 insbesondere auch veranlasst, die kollisionsfreie Trajektorie dem Prozessmodul 8 bereitzustellen. Die Roboteranordnung 1 weist ferner eine Sensorvorrichtung 11 auf. Die Sensorvorrichtung 11 ist beispielsweise als eine Videokamera ausgebildet, welche den Arbeitsbereich 3 videotechnisch überwacht. Insbesondere sind mittels der Sensorvorrichtung 11 Hindernisse, beispielsweise Gegenstände, Fahrzeuge oder Personen, im Arbeitsbereich 3 detektierbar, wobei die detektierten Gegenstände als Umgebungsdaten der Steuereinrichtung 7 bereitgestellt sind, wobei die Steuereinrichtung 7, und insbesondere das Trajektorienprüfmodul 9, basierend auf den Umgebungsdaten die Kollisionsfreiheit der Trajektorie bestimmen und/oder prüfen kann.
Figur 2 zeigt ein Konzept zur Steuerung einer Roboteranordnung, wie es beispielsweise im Stand der Technik zu finden ist. Dabei wird der Prozessablauf 12 nicht auf der Roboterbewegungssteuerung 13 implementiert, sondern in einer übergeordneten Einheit, beispielsweise einer übergeordneten Rechnereinheit 14. Der Roboter wird dabei von der Übergeordneten Einheit als Remotesteuerung gesteuert. Diese übergeordnete Rechnereinheit 14 weist ein Planungsmodul 15 auf, wobei das Planungsmodul 15 eine kollisionsfreie Bahn zwischen einem Start- und Zielpunkt berechnen kann. In der Komponente zur Bestimmung des Prozessablaufs 4 programmiert der Benutzer den logischen Ablauf des Roboters 2 und kann dabei durch das Modul 15 kollisionsfreie Bahnen zwischen Punkten berechnen. Die Komponente zur Festlegung des Prozessablaufs 12 steuert während des Betriebs die Roboterbewegungssteuerung 13 an (Remote-Control), welche wiederum den Roboter 2 und dessen Kinematik 16 ansteuert, und so den Roboter 2 kollisionsfrei bewegt.
Beispielsweise wird mit dieser der Prozessablauf „Griff in die Kiste“ erstellt und geplant. Dabei wird die Greifposition von einer Sensorvorrichtung, beispielsweise 3D-Sensor, vorgegeben, wobei die Zielposition beispielsweise ein Transportband ist, auf dem das Objekt abgelegt werden soll. Der Benutzer implementiert den Prozessablauf hier wie folgt: 1. Berechnen der kollisionsfreien Bahn von Ist- Position zur Grundstellung. 2. Öffnen Greifer. 3. Fahre den Roboter entlang der berechneten Bahn in Grundstellung. 4. Berechne die kollisionsfreie Bahn von Grundstellung zu Greifposition in Kiste. 5. Fahre den Roboter entlang der berechneten Bahn in die Greifposition in der Kiste. 6. Schließe Greifer. 7. Berechne die kollisionsfreie Bahn von Greiferposition in der Kiste zum Ablagepunkt. 8. Fahre den Roboter entlang der berechneten Bahn in den Ablagepunkt. 9. Öffne Greifer. 10. Berechne die kollisionsfreie Bahn vom Ablagepunkt zur Greiferposition in der Kiste. 11. Fahre den Roboter entlang der berechneten Bahn in die Greifposition in der Kiste. 12. Schließe Greifer. 13. Wie Punkt 7 fortfolgende.
Der hauptsächliche Nachteil eines solchen Ansatzes ist der, dass der Benutzer nicht mehr in seiner gewohnten Programmierumgebung arbeiten kann, sondern sich mit einer neuen Programmierung eines übergeordneten Systems beschäftigen muss und das nötige Wissen sich aneignen. Oft kann aber ein solches übergeordnetes Programmiersystem spezielle Roboterfunktionalitäten nicht oder nur teilweise abbilden. Zusätzlich muss das Instandhaltungs- und/oder Servicepersonal mit dem unbekannten Gesamtsystem zurechtkommen, was erhöhten Schulungsaufwand verursacht.
Daher ist es eine Überlegung der Erfindung, die Funktionalität der kollisionsfreien Bahnplanung als eine höherwertige Funktion direkt auf der Robotersteuerung, Roboterbewegungssteuerung und/oder Steuereinrichtung bereitzustellen. Der Benutzer kann daher weiterhin seine robotersteuerungsspezifischen Fachkenntnisse anwenden.
Figur 3 zeigt die Funktionsverteilung eines Ausführungsbeispiels einer Roboteranordnung 1. Die Steuereinrichtung 7 weist das Trajektorienprüfmodul 9 und das Prozessmodul 8 auf. Das Prozessmodul 8 ist zum Steuern des Trajektorienprüfmoduls 9 und zum Steuern des Roboters 2. Das Prozessmodul 8 weist eine Eingabeeinrichtung 10 auf, wobei auf der Eingabeeinrichtung 10 der Benutzer den Programmablauf 12 festlegen und/oder einstellen kann. Die Eingabeeinrichtung ist beispielsweise als ein Bildschirm mit Tastatur und/oder Mouse ausgebildet. Alternativ oder ergäneznd ist die Eingabeeinrichtung 10 als Touchpad ausgebildet. Beispielsweise ist eine Bibliothek mit Prozessablaufbausteinen hinterlegt, aus welchen der Benutzer auswählen kann. Insbesondere bildet das Prozessmodul 8 ein Interface zum Steuern des Trajektorienprüfmoduls 9 und des Roboters 2. Das Prozessmodul ist Teil des Roboters 2, wobei auch vorzugsweise die Eingabeeinrichtung 10 Teil des Roboters ist und der Benutzer darüber den Roboter programmieren kann und den Programmablauf festlegen und/oder einstellen kann. Will der Benutzer nach der Einstellung und/oder Festlegung des Prozessablaufes auf dem Prozessmodul 8 eine kollisionsfreie Trajektorie bestimmen lassen, so wählt er auf dem Prozessmodul 8 beispielsweise mittels der Eingabeeinheit 10 eine entsprechende Funktion, beispielsweise die Prüffunktion, aus. Nach Auswahl der Prüffunktion wird die gewünschte Start- und/oder Zielposition an das Trajektorienprüfmodul 9 übergeben. Das Trajektorienprüfmodul 9 bestimmt basierend auf den Umgebungsdaten, der Startposition und der Zielposition eine kollisionsfreie Trajektorie und übergibt diese kollisionsfreie Trajektorie an das Prozessmodul 8. Der Benutzer erhält so die kollisionsfreie Trajektorie zur Verfügung gestellt. Das Prozessmodul 8 ist dann ausgebildet, basierend auf der bereitgestellten kollisionsfreien Trajektorie den Roboter 2 anzusteuern. Das Prozessmodul 8 übergibt der übergeordneten Einheit, dem Trajektorienprüfmodul 9, den Prozessablauf 12, wobei das Trajektorienprüfmodul 12 den die Trajektorie kollisionsfrei plant und die kollisionsfreie Trajektorie dem Prozessmodul 8 übermittelt. Die Ansteuerung des Roboters mit der kollisionsfreien Trajektorie erfolgt durch das Prozessmodul 8 und somit nicht im Remotbetrieb durch die übergeordnete Einheit. Es ist damit insbesondere nur Logik und/oder Rechenleistung zur kollisionsfreien Bahnplanung im Trajektorienprüfmodul 12 abgelegt und/oder ausgelagert, wobei die restliche Logik und/oder Programmierung im Planungsmodul 12 verblebleibt und damit im Roboter 2 ist und/oder auf Roboterebene liegt.
Figur 4 zeigt schematisch den Ablauf zur Steuerung der Roboteranordnung 1. In dem Prozessmodul 8 kann der Benutzer einen Prozessablauf 12 festlegen und/oder einstellen. Das Prozessmodul 8 ist insbesondere ausgebildet, aus dem Prozessablauf eine Startposition, eine Endposition und/oder Achsenkonfigurationen zu bestimmen. Ferner kann die Startposition, die Endposition und/oder die Achsenkonfiguration auch durch den Benutzer einstellbar und/oder vorgebbar sein. Der Prozessablauf 12, die Startposition, die Endposition und/oder die Achsenkonfiguration werden einem Zwischenmodul 17 bereitgestellt, welches insbesondere als ein Interface agieren kann. Dieses Zwischenmodul 17 stellt die Applikation 12, die Startposition, die Endposition und/oder die Achsenkonfiguration insbesondere in einem Datenformat, welches von dem Trajektorienprüfmodul 9 verarbeitet werden kann, dem Trajektorienprüfmodul 9 zur Verfügung. Das Trajektorienprüfmodul 9 umfasst eine Rechnereinheit 18, welche basierend auf dem bereitgestellten Prozessablauf, Startposition, Endposition und/oder Achsenkonfiguration eine kollisionsfreie Trajektorie 19 bestimmen kann. Die Trajektorie 19 wird datentechnisch dem Prozessmodul 8 bereitgestellt, welches insbesondere von dem Zwischenmodul 17 aufgefangen und/oder angenommen wird und beispielsweise in ein Datenformat oder Programmformat umgewandelt wird, welches im Prozessmodul 8 und insbesondere durch den Benutzer verwertbar und/oder anwendbar ist. Die kollisionsfreie Trajektorie 19 ist dann dem Benutzer bereitgestellt. Insbesondere ist sie dem Benutzer an der Eingabeeinrichtung 10 bereitgestellt, welche auch eine Ausgabeeinrichtung wie einen Bildschirm umfassen kann.
Figur 5 zeigt den Ablauf zur Steuerung ähnlich wie in Figur 4, wobei statt dem Ausgeben der kollisionsfreien Trajektorie auf der Eingabeeinrichtung 10 die kollisionsfreie Trajektorie umgesetzt wird. Dazu wird von dem Zwischenmodul 17 die kollisionsfreie Trajektorie 19 in einem Bewegungsbefehl 20 umgesetzt. Der Bewegungsbefehl 20 wird von dem Prozessmodul 8 genutzt, den Roboter und/oder den Aktor zur Durchführung der Prozessfunktion und zur Bewegung entlang der kollisionsfreien Trajektorie anzusteuern. Nach der Durchführung und/oder Ansteuerung mit der kollisionsfreien Trajektorie wird von dem Zwischenmodul 17 ein Bestätigungsbefehl 21 ausgegeben, welcher auf der Eingabeeinrichtung 10 angezeigt wird und dem Benutzer signalisieren soll, dass der Prozessablauf abgeschlossen ist und/oder durchgeführt wurde. Ferner kann hierbei eine Fehlermeldung angezeigt werden, wenn die Durchführung des Prozessablaufs nicht stattfinden konnte und/oder abgebrochen werden musste.
Figur 6 zeigt einen beispielhaften Ablauf zur Überprüfung einer Position des Roboters. Dabei ist auf dem Prozessmodul, insbesondere mittels der Eingabeeinrichtung 10, durch den Benutzer eine Roboterposition 22 eingebbar. Beispielsweise ist die Roboterposition eine Wunschposition, ein Startpunkt oder ein Endpunkt. Die Roboterposition 22 wird im Prozessmodul 8 dem Zwischenmodul 17 bereitgestellt, welches insbesondere eine Umwandlung in ein Datenformat vornimmt, und die umgewandelte Roboterposition 22 dem Trajektorienprüfmodul 9 bereitstellt. Das Trajektorienprüfmodul 9 ist ausgebildet, die Roboterposition zu überprüfen und zu untersuchen, ob an dieser Position eine Kollision mit der Umgebung stattfinden würde. Das Ergebnis 23 der Kollisionsüberprüfung wird von dem Trajektorienprüfmodul 9 dem Prozessmodul 8 bereitgestellt, wobei das Zwischenmodul 17 die bereitgestellte Information 23 in ein Format wandelt, welches der Eingabeeinrichtung 10 bereitstellbar ist und von dieser als Information für den Benutzer ausgebbar ist. Beispielsweise kann ein OK ausgegeben werden, wenn die Position kollisionsfrei ist, oder ein Kollision, wenn an dieser Position eine Kollision vorliegen würde. Der Benutzer kann auf diese Art und Weise bei der Festlegung des Prozessablaufes vorher prüfen, ob gewisse Punkte, beispielsweise Ziel, Start oder Zwischenpunkte, kollisionsgefährlich sind.

Claims

Ansprüche
1. Steuervorrichtung für eine Roboteranordnung (1), wobei die Roboteranordnung (1) mindestens einen Roboter (2) umfasst, wobei der Roboter (2) in einem Arbeitsbereich (3) betreibbar ist und einen Endeffektor (4) aufweist, wobei der Endeffektor (4) zur Durchführung eines Prozessablaufs (12) in dem Arbeitsbereich (3) bewegbar ist, mit einer Steuereinrichtung (7) zur Eingabe, Festlegung und/oder Einstellung des Prozessablaufs (12), wobei die Steuereinrichtung (7) ausgebildet ist, eine Trajektorie (6) zur
Durchführung des Prozessablaufs (12) zu planen und den Roboter (2) basierend auf der Trajektorie (6) zur Durchführung des Prozessablaufs (12) anzusteuern, dadurch gekennzeichnet, dass die Steuereinrichtung (7) eine Prüffunktion aufweist und ausgebildet ist, vor Ansteuerung des Roboters (2) die Trajektorie (6) auf Kollisionsfreiheit zu prüfen.
2. Steuervorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Prüffunktion von einem Benutzer mittels einer Eingabeeinrichtung (10) auswählbar ist.
3. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet, dass Steuereinrichtung (7) ausgebildet ist, die Trajektorie (6) basierend auf dem Prozessablauf (12) kollisionsfrei zu planen.
4. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet, dass die Steuereinrichtung (7) ausgebildet ist, aus dem
Prozessablauf (12) und/oder der Trajektorie (6) einen Startpunkt und einen Endpunkt zu extrahieren, wobei die Prüfung auf Kollisionsfreiheit und/oder die Planung der kollisionsfreien Trajektorie (6) auf dem Startpunkt und dem
Endpunkt basiert.
5. Steuervorrichtung nach einem der vorherigen Ansprüche, gekennzeichnet durch eine Sensorvorrichtung (11) zur Erfassung von Umgebungsdaten, wobei die Steuereinrichtung (7) ausgebildet ist, die Prüfung auf Kollisionsfreiheit basierend auf den Umgebungsdaten durchzuführen.
6. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet, dass die Steuereinrichtung (7) ein Prozessmodul (8) und ein Trajektorienprüfmodul (9) aufweist, wobei das Trajektorienprüfmodul (9) eine übergeordnete Einheit bildet und zum Prüfen auf Kollisionsfreiheit ausgebildet ist, wobei das Prozessmodul (8) zur Eingabe, Festlegung und/oder Einstellung des Prozessablaufs (12) ausgebildet ist, wobei das Trajektorienprüfmodul (9) und das Prozessmodul (8) datentechnisch verbunden sind und die Prüffunktion durch das Prozessmodul (8) aufrufbar und/oder anwendbar ist.
7. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet, dass Eingabe, Festlegung und/oder Einstellung des
Prozessablaufs (12) und Prüfung der Kollisionsfreiheit in einer gemeinsamen Programmierumgebung implementiert und/oder anwendbar sind.
8. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet, dass die Steuereinrichtung (7) eine Funktionsdatenbank mit Prozessabläufen (12) und/oder Prozessablaufbausteinen umfasst.
9. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet dass über die Steuereinrichtung (7) eine Roboterposition eingebbar ist, wobei die Steuereinheit ausgebildet bei Auswahl und/oder
Ausführung der Prüffunktion die Roboterposition (22) auf Kollisionen zu überprüfen.
10. Steuervorrichtung nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet dass über die Steuereinrichtung (7) ein Trajektorientyp einstellbar ist, insbesondere linearer oder gekrümmter Pfad, wobei die Steuereinrichtung (7) ausgebildet ist eine Trajektorie (19) des entsprechenden Trajektroientyps zu bestimmen.
11. Roboteranordnung (1) mit mindestens einem Roboter (2), gekennzeichnet durch eine Steuervorrichtung nach einem der vorherigen Ansprüche.
12. Verfahren zur Steuerung einer Roboteranordnung (1), insbesondere mittels der Steuereinrichtung (7) nach einem der Ansprüche 1 bis 10, wobei durch einen Benutzer ein Prozessablauf (12) festgelegt, eingegeben und/oder eingestellt wird, wobei durch den Benutzer ist eine Prüffunktion ausgewählt wird, wobei bei
Auswählen der Prüffunktion die Trajektorie (19) auf Kollisionsfreiheit geprüft wird, wobei Festlegen, Eingeben und/oder Einstellen sowie auswählen der Prüffunktion in einem gemeinsamen Modul erfolgt.
13. Computerprogramm, insbesondere auf einem Datenträger, zur Durchführung des Verfahrens nach Anspruch 12.
14. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 13 gespeichert ist.
PCT/EP2019/068559 2018-09-06 2019-07-10 Steuervorrichtung für eine roboteranordnung, roboteranordnung, verfahren, computerprogramm und maschinenlesbares speichermedium WO2020048664A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19739267.3A EP3846976A1 (de) 2018-09-06 2019-07-10 Steuervorrichtung für eine roboteranordnung, roboteranordnung, verfahren, computerprogramm und maschinenlesbares speichermedium
JP2021512627A JP7179971B2 (ja) 2018-09-06 2019-07-10 ロボット装置のための制御装置、ロボット装置、方法、コンピュータプログラム及び機械可読記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018215124.5A DE102018215124A1 (de) 2018-09-06 2018-09-06 Steuervorrichtung für eine Roboteranordnung, Roboteranordnung, Verfahren, Computerprogramm und maschinenlesbares Speichermedium
DE102018215124.5 2018-09-06

Publications (1)

Publication Number Publication Date
WO2020048664A1 true WO2020048664A1 (de) 2020-03-12

Family

ID=67253899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/068559 WO2020048664A1 (de) 2018-09-06 2019-07-10 Steuervorrichtung für eine roboteranordnung, roboteranordnung, verfahren, computerprogramm und maschinenlesbares speichermedium

Country Status (4)

Country Link
EP (1) EP3846976A1 (de)
JP (1) JP7179971B2 (de)
DE (1) DE102018215124A1 (de)
WO (1) WO2020048664A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112828881A (zh) * 2020-11-27 2021-05-25 上海智殷自动化科技有限公司 一种三流融合的工业机器人控制方法
CN113910269A (zh) * 2021-10-27 2022-01-11 因格(苏州)智能技术有限公司 一种机器人总控系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112757288B (zh) * 2020-11-17 2023-12-26 上海智殷自动化科技有限公司 一种工艺参数自适应的工业机器人运动控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013203547A1 (de) 2013-03-01 2014-09-04 Robert Bosch Gmbh Roboterarbeitsplatzanordnung und Verfahren zum Betreiben der Roboterarbeitsplatzanordnung
US20160107313A1 (en) * 2014-10-17 2016-04-21 GM Global Technology Operations LLC Dynamic obstacle avoidance in a robotic system
US20170097631A1 (en) * 2014-05-21 2017-04-06 Bot & Dolly, Llc Systems and Methods for Time-Based Parallel Robotic Operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013203547A1 (de) 2013-03-01 2014-09-04 Robert Bosch Gmbh Roboterarbeitsplatzanordnung und Verfahren zum Betreiben der Roboterarbeitsplatzanordnung
US20170097631A1 (en) * 2014-05-21 2017-04-06 Bot & Dolly, Llc Systems and Methods for Time-Based Parallel Robotic Operation
US20160107313A1 (en) * 2014-10-17 2016-04-21 GM Global Technology Operations LLC Dynamic obstacle avoidance in a robotic system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PARDO-CASTELLOTE G ET AL: "Real-time motion scheduling for a SMALL workcell", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION SACRAMENTO, APR. 9 - 11, 1991; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION], LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. CONF. 7, 9 April 1991 (1991-04-09), pages 810 - 817, XP010023897, ISBN: 978-0-8186-2163-5, DOI: 10.1109/ROBOT.1991.131687 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112828881A (zh) * 2020-11-27 2021-05-25 上海智殷自动化科技有限公司 一种三流融合的工业机器人控制方法
CN113910269A (zh) * 2021-10-27 2022-01-11 因格(苏州)智能技术有限公司 一种机器人总控系统

Also Published As

Publication number Publication date
JP2022500260A (ja) 2022-01-04
EP3846976A1 (de) 2021-07-14
DE102018215124A1 (de) 2020-03-12
JP7179971B2 (ja) 2022-11-29

Similar Documents

Publication Publication Date Title
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
WO2020048664A1 (de) Steuervorrichtung für eine roboteranordnung, roboteranordnung, verfahren, computerprogramm und maschinenlesbares speichermedium
CN105270385B (zh) 基于动态系统的机器人速度控制
EP3098034B1 (de) Auswahl eines gerätes oder eines objektes mit hilfe einer kamera
DE102018106812A1 (de) Interaktives Greifsystem
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
EP3397431B1 (de) Roboter und verfahren zum betreiben eines roboters
DE102012213188B4 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
DE102017213651A1 (de) Handhabungseinrichtung mit einem Roboter sowie Verfahren und Computerprogramm
DE202018103922U1 (de) Greifsystem als intelligentes Sensor-Aktor-System
DE102021204697A1 (de) Verfahren zum Steuern einer Robotervorrichtung
EP3965999A1 (de) Verfahren und system zur bestimmung von optimierten programmparametern für ein roboterprogramm
EP3812106A1 (de) Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium
DE102021201918A1 (de) Vorrichtung und Verfahren zum Steuern ein oder mehrerer Roboter
Havoutis et al. Learning assistive teleoperation behaviors from demonstration
EP3374135B1 (de) Verfahren zum vereinfachten ändern von applikationsprogrammen zur steuerung einer industrieanlage
EP3664973B1 (de) Handhabungsanordnung mit einer handhabungseinrichtung zur durchführung mindestens eines arbeitsschritts sowie verfahren und computerprogramm
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102015117306A1 (de) Mehrachs-Maus für einen Mehrachsroboter
WO2020178435A1 (de) Verfahren, system sowie nichtflüchtiges speichermedium
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
EP3752327A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren
DE102019203921A1 (de) Automatisierungsanordnung, Verfahren zum Betrieb der Automatisierungsanordnung sowie Computerprogramm
WO2019201873A1 (de) Verfahren zur erkennung einer intention eines partners gegenüber einer mehrgliedrigen aktuierten kinematik
DE102023206009B3 (de) Verfahren und System zum Trainieren einer wenigstes teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Prognostizieren von Roboter-Zielposen und/oder zum Betreiben eines Roboters

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19739267

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021512627

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019739267

Country of ref document: EP

Effective date: 20210406