I changed group mask to all *, it worked once, but then I'm getting this error:
Did you forget to set a value for the argument?
I changed group mask to all *, it worked once, but then I'm getting this error:
Did you forget to set a value for the argument?
A 1D laser (point) can only detect a single point unless you move it around. There are 2D profile lasers (line) that you could get multiple points from.
I still say that designing a proper fixture is the best solution. Even if the geometry varies there is usually still a way to design a fixture. I've seen fixtures designed that hold dozens of different parts.
Laser sensors are not always a magic bullet. They have their issues and limitations also.
...get a big hard drive. There is no revision handling that I am aware of.
Agreed. I do not like the Register only method. Instead I prefer to examine the current position and state, then make a decision.
Several options for the robots current position in order of my preference: DCS Zones, Ref Positions, LPOS, JPOS
Then in your homing program you examine the current position (could be in combination with IO state) and then select the correct path to move to home. IO or Registers would be used for secondary information only, such as if there is a part in the gripper, etc.
The benefit of this is that it is completely independent of the program logic. You don't have to worry about forgetting to change a register if the program is modified and you don't have to worry about someone jogging the robot. In my opinion, coupling homing logic or safety logic to process logic is always a mistake. Inevitably it will get into a different state than you anticipated and you will end up crashing the robot if you only rely on the process logic setting the correct register at the right time.
A single point laser sensor only gives you 1 value. So you would need to measure or probe 6 points to get 6 DoF.
On the Select Menu, highlight your SET_REG1 program, press Detail, and set group mask to all asterisks (*,*,*,*,*).
Wow, I looked at a few of my robots that are several years old and the reducer % was all less than 1%.
Do you have the correct payload settings?
Robots may be repeatable to .002", but they are not accurate to .002".
If that is truly your requirement then you would be better off with a different solution.
If you want to proceed and see how good it is then go ahead. All you need is to probe 6 points and understand trigonometry.
How accurate does this need to be?
What are you planning to use to take the measurements?
I had the same feeling. Now it's confirmed.
Is the robot picking up the object from the cart and taking it to a machining tool?
If so, I'm wondering if this can be simplified if the robot gripper can handle some misalignment and self center the object. If so then a basic 2d vision process would work.
Can you tell us what you have tried?
You need to use the Measurement output tool. Add a new measurement output tool and select your GPM locator and and Score as the value.
Then you can access the value in TP by the following command:
: R[x] = VR[y].MEAS[z];
If you are using vision register 1 and this is the 1st measurement output value then:
: R[x] = VR[1].MEAS[1];
First, try to simplify this as much as possible. Are all 6 DoF really going to change? For example, if the operator is placing it onto a work table then shouldn't Z, W, & P be fixed? If so then you only need to detect X, Y, & R which could be done with the 2D camera.
Also, consider implementing a mechanical fixture to hold the part in a fixed position. Then you don't need to detect any DoF.
What backup file are you trying to create?
Yes, if I remember correctly, there is an output tool in vision process that you can use to make info accessible in the TP program.
You would need to setup an exposure override. Then you can create a loop in your TP program overriding the exposure setting before each picture.
I believe the range of linear speed command depends on robot model.
There is also an option to use MaxSpeed instead of a number of mm/s which will determine which joint will hit a speed limit for that move and use that to calculate the actual maximum linear speed possible for that motion.
In menu>system>config set cstopi to abort all.
Have the PLC pulse the UI cstopi signal and reset before calling your autohome program.
Add a small delay in between each signal pulse.
Progress! Is it flickering on and off or steady off?
If flickering check for loose connection. If steady, find the power source that supplies the output and find out if it is shutting off and what controls it.
The TCP makes a longer movement in joint, but the servos will most likely move the exact same distance in degrees. It's just a difference of synchronization of the servo motors.
Joint should theoretically be faster, but sometimes it isn't because Fanuc.