I am using a FlexPicker with PickMaster 3.0 on and IRC5. Picking product is no problem, but my placement conveyor always indexes three “pockets” at a time. Just beyond the last pocket in the direction of travel of the conveyor is another piece of hardware that I do not wish to hit, so I am using an upper work area x bound which is about 100mm approx beyond the point in the pocket that I am tracking. If the conveyor is stopped the flexpicker has no problem placing the product in the pocket. If the conveyor is indexing and the flexpicker is chasing the pocket, even though the pocket always stops in the exact same place and the flexpicker is quite capable of placing in it, it stops right above the pocket with an “Arm check point limit” because it seems to anticipate crashing into the upper work area, even though by the time the robot stops, the pocket has also stopped.
I have tried moving the upper work area futher away and replacing it with a WorldZone, but then I just get worldzone limit errors instead.
When it does stop all you have to do is hit restart and it will carry on fine.
How can I convince the robot that it is not going to hit the software limit? I would imagine the issue is because the conveyor is decelerating to a stop and the robot is trying to track it. If I limit it by reducing the exit window for the work area so it can’t place in the end pocket, then it can track the other pockets while decelerating no problem.
It is not close to its physical working envelope. I’m sure if it exended the software limit out it would work, but I don’t want to destroy the flexpicker!
Maybe you can use a container where you have defined all the three place positions. You can for example define the middle position as the first place position and then you can try moving back the exit limit. You need to change the start stop limit. And dont forget that you just need to trig on every third object.
Thanks for the tip, however there may or may not be a plastic container in a pocket, therefore I need to trig for each pocket.
Because of the nature of the rest of the machine, the robot gives a start signal for the placement conveyor. The external control system then handles indexing the conveyor by exactly three pockets. The start - stop window is very short. After the last pocket is filled the robot requests the placement conveyor to start the index. As soon as it moves the robot drops the conveyor start signal and the placement conveyor continues until the three pockets have indexed. I have the linear acceleration and deceleration ramps of the placement conveyor as low as I can go to still acheive the required production rate. However it does move 533.4mm in 1.4 seconds.
Would it be possible to monitor the variable c1Speed (or c2Speed) which indicates the conveyor speed in meters per second. If cXSpeeed is above a certain threshold value, you will move to a certain approach position (defined relative to wobj0) and not allow the RAPID program to continue and enter the place (or pick) procedure before those 1.4 seconds has passed (or until cXSpeed is less than 0.01).
Yes, that is possible and is in fact one of the options I tried. I waited until c2NullSpeed indicated the conveyor had stopped. This works fine, but does nothing for the rate as we need to place while the conveyor is moving to meet the production rate of 90 picks per minute.
There seems to be many conveyor tracking parameters that sound possible. I experimented with many but could not find an answer. The documentation did not give very good descriptions, suggestions or limits of settings.
We had to adjust “IIRFFP” to 15 to achieve acceptable placement in the constantly accelerating or decelerating target. Maybe another one of these parameters could hold the answer?
Sorry If I disturb you, but reading your Post I remembered one case that I got years ago. If I understood your problem, you have a indexing conveyor. It means that this conveyor works also with start and stop, it doesn’t run continuosly !If right consider that I tried to change IIRF* parameter, but in my case I got no result except reducing acceleration and jerk. It seems like the tracking board cannot manage in the right way a fast start and stop:In this way you see the robot shocking. It’ll anticipate the trajectory because the internal interpolation inform the robot that the final position will be forwar.
The conveyor tracking is capable of accuracy as listed below (assuming no acceleration/deceleration limits and constant speed) in the PickMaster 3.10 Product Specification, page 28.
Conveyor speed [mm/s] Repeatability [mm]
100 1
250-500 2
500-800 5
800-1400 15
Ensure that you are running 5.06 and that the “-use_kinematic_corvec”
within the Robot settings (system parameters) is enabled. (If you have restored a backup from 5.05.0x it might be disabled.)
Also, you can try to change the “indexing” profile of the conveyor, an even steeper/harder acceleration and a slightly longer and linear ramp on the deceleration might help you.
Please also ensure that the robot is running at full speed (10000mm/s) and that there are no limit as to acceleration/deceleration (PathAccLim or AccSet).
We did try altering the the conveyor acceleration, but any steeper gave inaccurate placements.
Unfortunately we cannot run the robot at full speed or full acceleration when there is product on the gripper as the product is plastic wrapped sliced cheese, any faster or more violent and we loose the product. Typically the system runs at 2000mm/s and PathAccLim set to 50
We are running 5.05. Where can I download 5.06? What does the -use_kinematic_corvec parameter do?
Reducing the robot acceleration will also limit its possiblity to perform an accurate conveyor tracking. Reducing the maximum speed will further decrease the possibility for the robot to catch up with the conveyor. I believe it is essential to try to ensure a firm grip of the products which would enable you to increase both speed and acceleration.
The latest robotware may be provided by the local ABB represantive who can access it from the ABB intranet site solutionsbank.us.abb.com.
The -use_kinematic_corvec will ensure that the conveyor tracking performs its best.
We would love to have a better grip on the product, but even at 2000mm/s we sometimes drop it. We have spent many hours and dollars and can’t seem to get it any better. Even with the robot running at this reduced speed and acceleration it is still much faster than the conveyor.
How do you get on with the 2kg flexpicker version for example if you have to stop the pick or place conveyors? I understand these are acceleration limited?
We have been doing many calculations and can’t understand why it is faulting like this. What are the acceleration limits for conveyor tracking?
The product specification states the accuracy of the system when the conveyor is moving at constant speed. If there are start/stop ramps on the conveyor, the conveyor tracking will be less accurate. There are no limits as to how steep acceleration/deceleration of the conveyor may be but a steeper ramp will cause the tracking to be less accurate.
If limiting the acceleration/deceleration limits of the robot, the robot will be limited in its capability to respond to sudden changes of the conveyor (such as acceleration/deceleration).
The very same thing applies to the 2kg IRB340 even though it has more limited conveyor tracking capability compared to the 1kg version.