22 Replies Latest reply on Jun 11, 2018 3:30 AM by Thomas Voetmann

    Mate Controller - prevention of flipping

    John Wayman

      Good morning,

      One of the new features in 2016 that interested us most was the Mate Controller. We use a lot of industrial robots in our systems, and the ability to set each axis to the required angle, and then to animate the transitions, is a powerful tool.

      Except: Robot axes tend to have more than 180 degrees of travel. Once a SW mate goes past 180 degrees, it seems to flip, randomly - sometimes it does, sometimes it doesn't, sometimes it will flip back, sometimes it declines to play.

      In short, so far, the tool has been like a chocolate teapot - it looks really good, but has no practical value.

      Is it me? Am I doing something wrong?

      I have tried mating datum planes to each other, datum planes to faces, faces to faces, edges to edges, it doesn't seem to make a difference.

      I really want this tool to work, so I would welcome any ideas regarding how I can make it do so.


      SW2016, SP5

      Windows 10








        • Re: Mate Controller - prevention of flipping
          John Stoltzfus

          Flipping mates has been a challenge for many years, especially in applications like you mentioned and tangent mates are also prone to flip.  The work around that I have done in the past is mate a sketch point and a sketch line coincident rather then using the angle mate, that may require two additional sketches but, I'd take that in place of mates flipping....

          • Re: Mate Controller - prevention of flipping
            Gerald Cabak

            I'm not familiar to the mate controller so I need to research that.  I'm here looking because we are having similar problems.  One thing that just came to mind is having a vector alignment constraint.  Defining such a entity in each both parts would insure matching under all conditions.

            • Re: Mate Controller - prevention of flipping
              John Wayman

              I've looked into this some more and I have discovered that clicking the reference box on the angle mate and letting it auto-populate really does help make things more stable (less unstable?), but  - and this is quite a big BUT -

              Only in the case that an angle mate cannot be adjusted beyond 180 degrees.

              As you will be aware, robot axes typically have a range well in excess of 180, sometimes approaching 360 degrees.

              I have yet to find a strategy to make these axis limits behave in a stable manner.

              I have tried mating planes to planes, edges to edges, faces to edges, faces to faces, sketch elements to edges, you name it, I have tried everything I can think of.

              One of the drawbacks is that only certain types of angular mates are acceptable for inclusion in a Mate Controller. I couldn't say what those types are, however, I just know that, sometimes, it tells me that a certain mate is not suitable.

              As Gerald suggested above, some kind of vector mate is required. I have two problems with that, however: I am uncertain whether such a mate would fall into the 'Acceptable' category, and; I have no idea how to accomplish such a mate.

              I have just downloaded 2017 SP2EV, to see whether things are easier in the new version, but it is more in hope than expectation.

              Since much of our business is to do with manipulating objects using robots, I think this feature in SW could be extremely useful for us, as a simulation tool and as a sales tool.

              To date, however, it is just nearly useful, but not quite.

              If anyone else has any ideas or suggestion regarding how to make this work, I am interested.





                • Re: Mate Controller - prevention of flipping
                  John Wayman

                  I tried it on 2017 SP2EV, but it behaved just as badly.

                  I think I will ask my VAR if they can help.

                  • Re: Mate Controller - prevention of flipping
                    Dan Pihlaja



                    Do you need to show two or more positions using configurations of the robot arm?


                    Do you need to show the transition between two or more positions of the robot arm?


                    These are two VERY different things with regard to Solidworks.


                    The first one is easy, the second one is challenging.


                    As for the first one, I tend to try to stay away from angle mates.   I know the beginning and ending positions, so I generally create reference geometry in each place and constrain coincident or concentric to that.  I use configurations to control suppression state of the set of constraints.


                    The second one......yeah.....good luck with keeping it NOT flaky.  Especially when sharing those assemblies between users.

                  • Re: Mate Controller - prevention of flipping
                    Paul Risley



                    What are you trying to accomplish within the robot arm itself?


                    Is it EOAT position and approximate arm positioning?


                    I found using concentric mates for a Fanuc R2000 gave me a credible image of robotic movement as  I needed to re-position EOAT. I left the planes and angular mate alone and established travel paths for the robot as it needed to work on the parts I was machining with the router head.


                    This is just my experience with it, but it gave me a pretty robust model and freedom to move the robot around and visualize travel paths to create guarding and EOAT pick up placements pretty well in the Solidworks model.

                    • Re: Mate Controller - prevention of flipping
                      John Stoltzfus

                      Would it be possible for you to upload a sample of what you are trying to do?

                      • Re: Mate Controller - prevention of flipping
                        Andreas Rhomberg

                        When I know i have to go past 180, i try to add a few intermediate steps (less then 90°).

                        this seems to give it more stability.

                        • Re: Mate Controller - prevention of flipping
                          John Wayman

                          The latest position on this is that I have done quite a lot of fiddling around with it, and it seems that, as long as I let Solidworks choose a Reference Entity for each of the angle mates, and I limit the angles to between 0 and 359 degrees, the system appears reasonably stable.

                          The Mate Controller allows me to record any number of robot poses and, somewhat less reliably, will let me animate the movement between successive poses. Each pose produces a configuration, which I can choose in any assembly in which I use the robot.

                          Not bad.

                          However, I am forced to choose reference planes that work, rather than ones that make sense. Thus, an axis with a range of 160 degrees can be done, but the angle limits may need to be 40-200 degrees in the model to achieve this motion. In the robot hardware, it is more likely to be 0 +/-80 degrees. Thus, there has to be some translation between what the programmer of the robot tells me and what is set in the model, in order to achieve the required pose.

                          In addition, there are axes that have limits of +/-350 degrees:



                          It would be very convenient to be able to:

                          A) build the robot model with the angle limits in the format shown in the table (+/-xxx) and

                          B) have the maximum range of an axis angle well over 360 degrees.


                          I may well be missing something that gives me A above. If so, any suggestions would be most gratefully received.

                          I think an ER is probably required, together with some flying pigs, very probably, for B!


                          So the outcome of my fiddling around is mostly positive, with a very major improvement coming when I used the Reference Entity feature in my angle mates. The Mate Controller does seem to be a useful enhancement.


                          Now all we need is 1 & 2 followed by A and B!



                          SW 2016 SP5

                          Windows 10







                          • Re: Mate Controller - prevention of flipping
                            Thomas Voetmann

                            You could perhaps introduce a dummy part with a cylinder (axis) and set it up to rotate one tenth of your robot arm. That is: set up a limit mate that would limit your dummy to rotate from 0° to maybe 36° and then have a gear mate with ratio 1:10 between the dummy and the arm.