Welcome to the world of robotics!

Quote

Intuition tells me that I should use as little points as possible with CNT100 to make the moves smooth and cut the angles to reach my destination faster. It turned out that I may be wrong on that one.

Your intuition is correct . To keep cycle time low start out with as few points as possible and use smooth CNT100 moves. Then, as needed, reduce the CNT value and add intermediate points to avoid hitting obstacles. The purpose of CNT is to move "continously" through an intermediate point as fast as possible.

Quote

What about coordinates? Almost all of the guys I asked told me that teaching the robot by moving it only by JOINT is the fastest since then only one axis turns. Which for me doesn't seem to be the complete truth since there are times that the robot moves faster if the point is tought on WORLD or TOOL.

The coordinate system you use should be determined by the intended use of that position, not cycle time. It is inaccurate to say the coordinate system affects cycle time . Use Joint coordinates for permanent positions such as a home position that is not relative to specific user frame. Use Cartesian coordinates (user) for positions that are related to a user frame, such as a fixture. The time to travel between 2 identical (same starting and final joint angles on all axes) will not be affected by coordinate system. If it is, then something else is causing the difference.

You were told that moving 1 axis is fastest.... ok, but what if the robot needs to move in 2 axes to reach the part. Would you make a move with only 1 axis at a time , or move them both at the same time to reach your destination . It is an irrelevant statement. Using joint coordinates will not only move 1 axis, it will move any and all axes it needs to to reach the destination; could be 1, could be all 6.

Quote

I'm also curious about points motion types. What's better? Linear or Joint? I was told that I shoud use Joint(excluding situations like gripping and the like) but once more I have my doubts. In some cases linear seems to cut the path pretty effectively in my opinion, but people still had their doubts about it.

Once again, the motion type you use should depend on the needed function of the robot. To put it in simplified terms, Joint moves are for traveling and linear moves are for doing work. Take a simple pick & place example. You start at home, travel with a joint move to station A. Use a linear move to do the work of picking up the part and retracting safely away from the fixture. Then travel with a joint move to station B. Then use a linear move to do the work of placing the part and safely retracting away. Then travel with a joint move back to home.

In general, a joint move will be the fastest way to "travel" from A to B. But usually when you are doing "work" the robot needs to move in a straight line with a linear move in order to perform the work properly.

Quote

Speaking of points, is it better to teach a point A then a point B and let the robot move back, allowing it to calculate the optimal path by itself and only add points where there is absolutely no chance for the guy to get there without ruining everything around, hence making like three or four points in total with long movements and turns for example? Or is it more effective to teach the robot more points by moving it only by an inch in between each of them?

Teach point A and B and the robot will take the most optimal path. If you need to add an intermediate point to avoid a collision, then add them as needed, but generally the fewer the better. Teaching points inch by inch is crazy, unless you need to for a crazy complicated path.

Quote

One more question regarding points in general. To achieve the highest speed is it always necessary to teach points with 100% for Joint and 2000 for linear? If not, then why?

In general, yes, though if you are make a small move the robot will not get anywhere near top speed. For example if you are doing: L P[1] 2000 mm/s Fine, and only traveling 1 inch total distance, the robot may only get to 100 mm/s speed before it has to start slowing down to stop at its point. It won't hurt anything to tell it to do 2000 but it will only do what is possible. BTW, some robots will do 4000 mm/s. Also you can use the max speed command if you have the motion package. It looks like this: L P[1] max_speed. It will move as fast as it can while maintaining a straight line, which will probably be a little bit faster than 2000 with your robot.

I think the moral of the story is that each command for the robot is there for a specific reason. There is not one movement type that is better than the other, but some are better suited for certain functions and you need both. Use the movement type that is proper for the job you need to do.