null

Using Onshape with Robotic Assembly for Mass-Customizable Products

May 17, 2023
Customization is a key trend in manufacturing, driven by demand and sustainability. Learn how assembly was dynamically programmed for a customizable product. Download the slides here.

00:00 Hello, everyone. So I'm going to talk about using Onshape for robotic assembly of mass customizable products. So I'm Peter Harmon. I'm from a company in the UK called Ceatec. A lot of the work in this presentation was also done by my colleague Shinya. Hence that's both of us there. I'm the one with glasses. So our focus as a company is very much on this idea of mass customization. Now, that could actually be called lots of things. It could be called build to order.

00:33 It could be called lot size one, essentially. Essentially, the idea that we're trying to support for manufacturers is to be able to sell products to their customers where the customer is choosing what they want, they're getting specifically what they want. But we're trying to cut out the need to have an engineer or designer involved in every one of those sales. So. A lot of things that are typically sold in this way. For example, kitchens is always a good one. You would expect to actually have a designer involved if you were ordering

01:05 a custom kitchen. That's actually a lot of input for the manufacturer. So we're trying to we're trying to automate that kind of product. And I'll show some examples of this. And we view it as being not just a not just a trend on its own, the growth of mass customization, but that it's actually at the intersection of the big mega trends. So we obviously want to reduce our material and energy use for manufacturing things.

01:36 Deglobalization or reshoring, as it's sometimes called, is actually moving manufacturing back from back from places like China and actually doing it local to to the customer. And related to that, there's lots of supply chain issues. And yet in society we still expect as the consumer to have to have a degree of choice in things.

02:06 So a manufacturer has to has to battle all of those all of those things. And another description of this that I quite like is from this from this book is describing it as pal or personalized, automated and local. So this idea that we're moving into a world where instead of things being being mass produced, they are produced for for the consumer when the consumer wants them. So I'll show a couple of a couple of examples of what I'm talking about.

02:40 So this is this is one of our our online configurators. This is actually built on top of on top of Onshape. And in this case, the key thing is not only are we not only is the customer configuring their product, but what the manufacturer is receiving is the assembly drawings, the bill of materials, everything that they need in order to actually produce that that product. And no designer has been involved. And yet it's a completely custom product that's being bought.

03:14 Another good example is even performance insoles. David is here if you want to find out more about them. And so in a slightly different way, the app that we've developed for them, does the order management of all of those changing, changing orders for different customers. Of course, installs are different for every single customer. And in this case, it generates the the geometry ready for ready for CNC cutting

03:48 and and the labels. So everything there is is being customized. So how are these kinds of products being made? So we talk to people about mass customization and they say, oh, right, so your 3D printing everything. And we say, No, actually none of our customers are doing that at the moment. These are pictures from some of our customers. And so yeah, they are producing custom products, but actually there's a lot of manual work or there's CNC,

04:21 it's it's still traditional manufacturing. We've just cut out the fact that an engineer might have had to redraw things each time it changes. And so this led us to a question of. Why are we not doing anything with robots here? So we see production lines with robots assembling things. And actually everything that we're we're doing here is, is CNC or manual work or could obviously obviously could be 3D printing. And so that is the background that led us to this idea.

04:52 So could we use a robot to assemble a product that we could configure? So a product that was customizable. If you were to try and do this in a factory on a robotic cell. So if you imagine you've you've got your robotic cells set up to assemble a product that you've designed. And what you want to do is you want to change the robot program that's on there to make a different setup of that product. So.

05:25 Well, you'd have to do is you'd need your, your automation expert. We'd have to define what the, what the assembly sequence is of that of that product, what the actions are that you're, that you're performing. They've got to convert that into into code. So they might define some some waypoints that the robot going to and they're going to write out some code in whatever the robot programing language they're using is. And they can simulate that using robot programing tools.

05:56 And then you've got to install that onto the controller and and execute it to actually perform the job. So this isn't really practical. If you are changing the configuration, the product every time you're making it, because you're spending all of your time actually writing new code to to redo it. So what we want to change this to is that, yes, the automation expert is going to define what the assembly sequence is, what the.

06:28 What the positions the robot's going to need to move to are, but in a in a parametric way. And then actually we can fully automate the other two stages. So, so given that set of actions that we want to perform and the configurable cart with the with the locations of all the parts in it, we can actually then automatically generate the robot program and then we can install and run it on the robot. We've made our product and then we just loop around that each time we each time we change the change

07:02 the product. So we needed someone to, to put this, put this challenge to. In the UK we have. We have an organization who are called the High Value Manufacturing Catapult, which is part government funded, part funded by large manufacturers, and part of that is an organization based near us called the Manufacturing Technology Center. And what MTC do is they work with manufacturers to define new ways of new ways

07:36 of doing things. So they are doing everything from some fairly blue sky research through to actual sort of applied things to help help manufacturers out. And so we'd put this challenge to them. And they said, Yeah, we've got an idea of how we could have a product that we could set up and we have a robotics cell that we can use. So let's try and do it. So what we needed for that though, was we needed to have a configurable CAD model that represented what we were going

08:08 to do. So we obviously we're using Onshape. And so the Onshape models were very kindly built for us by Crusoe Technologies. So Crusoe are. A company in India who do a lot of quality assurance and testing for Onshape. So they spend all their time building Onshape models. And what they built for us includes the robot.

08:41 So that's based on a standard AB cad model. But with all of the joints defined with their limits, with and with make connectors on so that we can define where the, the key points are that that robot are. We then also needed the card of the actual product itself. So the product that we were going to assemble is a set of sets of plastic pipes. So we've got some different lengths of straight pipe, we've got some 90 degree bends, we've got some junctions.

09:13 So we can actually build quite varying systems out of that. And so some Onshape specific things that we've done there. So each of these parts is is modeled in a part studio and in there we are placing lots of mate connectors. So where we want to join those pipes together, each pipe has a mate connector so that we know where the pipes are going to actually connect with each other when we assemble them.

09:43 And we've also placed mate connectors on those to represent where the robot gripper would ideally grip that part. So if we wanted to move, for example, the 90 degree bend there you can see at the top of it there is actually a mate connector. And that is the ideal point for the for the robot gripper to to grab it. So we also had to model the the robotic cell. So the cell that we had has a table with a grid on it

10:14 and we have some 3D printed holders for each of the plastic parts. And so actually we could lay those parts out anywhere we wanted on that table. And so because that's a grid, then we've defined that in Onshape with configuration parameters that define where each of those where each of those parts is sitting, and those are simply integers of which row and column they're on. So we can we can change a configuration parameter and it will move the parts around

10:48 on there. Putting it all together. We have got the the robot, the cell and the product all in the same cat assembly. So we've actually got the product that we're going to make in the context of the robotics cell that we're going to make it in. This is a really nice way actually, of modeling things because we could we could also have a model of another robotics cell and we just moved the product to that. So so we can be flexible in a sense of where we're assembling that product by using

11:21 the CAD model in this way. And we've got all of the information there, such as the reachability of that robot, because we've defined all of the joints and their limits and yet another mate connector. So one big issue when you do offline programing of robots is actually defining what the coordinate system that the robot is working in is because. Because it's certainly not going to be the same coordinate system that

11:53 the Cod is defined in. And actually, when you set up a cell like this, you might put the table in a slightly different position. You might have the height slightly differently. And actually, a lot of the work that you do to start with of setting up an offline programing job is to work out exactly what the coordinate system you're working in is and. And we realized there was a really simple solution for us with this is we placed

12:23 a mate connector at the point that the robot thought was the origin. So we drove the robot to the point that it thought was the origin and we measured exactly where that was. And not only are we specifying the point, then we're actually specifying the X, Y, and Z axis of the of that coordinate system. So we've got a 3D model then of everything all in the same place. And so we then needed to work out a way of actually defining what we're going to make that robot do. So.

12:57 We just wanted a set of simple, simple actions that that robot was going to perform. In the end, it actually came down to essentially move in a straight line and open and close the gripper. So we're not doing any particularly sophisticated movements with that robot. And so what we did was we developed a small bit of software which appears as a tab within within Onshape there where we could actually define a set of actions that

13:33 the robot was going to perform and. The key thing about doing this in the context of the card is that when we say we want the robot to move to a particular position, we're actually telling it to move to where a particular part is or where we've defined a mate connector. So we're not giving it a specific X, Y, Z location. We're giving it a thing to move to. So when we change.

14:03 Configuration parameters on that card that will change what the actual positions of of those waypoints are. We can change the configuration parameters on the left. And what that will actually do is it will move the parts around, giving us a different configuration of everything, so a different configuration of the product, but also a different configuration of where we've placed those parts in the 3D space. So then the next stage is installing that program onto the controller.

14:36 Now this actually is not as simple as as it first sounds, because if you are a company like ABB, you don't really want to open everything up to people shoving robot programs in over networks. And so this so one thing that MTC did for us was they developed a piece of software which sat between our code and the robot controller to actually push that robot program in.

15:10 A key thing about the way that we're doing this is so we are generating code in AB rapid, which is ABS programing language, but we're using a postprocessor for that. So we could change what robot programing language we're using. We want to do it that way so that it is the actual standard robot controller that is controlling that robot. The only example we found of someone doing this before was some academic research where

15:43 they'd replaced the actual controller on the robot, and that's something we really didn't want to go near. We're not writing controllers for robots, and you're not actually going to want to rip out the trusted controller on your very expensive robot and replace it with something that someone else has given you. We then have the final results. We're obviously doing a proof of concept here , so this robot does not move very fast.

16:13 But what it is doing is it is picking up a. Pipe segment and it's going to put it on another pipe segment and then it's going to pick those two up. You can see that the movement of the robot on that pipe segment, it's actually moved out in the correct correct direction to safely be able to to pick it up. And that's also based on that mate connector that we put on the part in the first place.

16:43 So we can define that. There is a that the grip is going to hold it at that point, but also that there can be an approach distance that it's going to come from. And that approach distance is based on the coordinate system of that MC connector. We've put it all together. We've changed parameters in in a CAD model. We've spun out a robot program and then we're actually assembling the product. What do we conclude from that? So this was very much a a proof of concept.

17:15 It's part of our sort of overall vision that we want to be able to manufacture custom products or help manufacturers manufacture custom products. So the view from from MTC was that this was this was a successful project that they're then they're then showing to their, to their members. And the key thing of how they how they work and how they view this kind of project is that is that they're removing, they're removing risks. So we could have tried to do something like this by spending

17:49 lots of money on lots of equipment or or hiring people to do it. They can bring along the expertise and the equipment and tell us that it's a stupid idea or that they quite like the idea. The advantages of using a cloud CAD platform for doing this. Obviously there was some collaboration involved, so the CAD models were actually made in were put together in India. We were working in, in the UK.

18:23 And we also had to get that CAD model into into MTC as well. Which we could just do on one of their machines rather than having to plug our machines into their network. Um. The integration and API abilities that the Onshape got. We couldn't have done this without, so we do a lot of development with the Onshape APIs.

18:54 In this particular case, that's enabled us to to fetch all of this data out of what are the exact positions of each connector, how is the robot moving? And we can embed custom UIs directly into the tool. So that's not just a nice thing to have a nice user interface. You are also getting it right in the context of what you're working in. So your user interface that you're embedding in there, you're embedding it in the document with the CAD model.

19:27 So it has access to the CAD model that you are looking at and the configuration parameters. The obviously none of this would be possible without a flexible way of doing configuration parameters as. Some specific Onshape modeling things. So the the mechanism joints is is very important. And I'm going to show something in a minute which takes even more use of that.

19:57 And the make connectors were really important for this project. So being able to actually define the coordinate system using a mate connector is fantastic and mate Connectors Round two is that we can put mate connectors on the parts in the parts studios and define for that part. This is where I'd like a gripper to be or this is where this part is going to connect to another one. And also other things like where's the end effector on on a robot. We can we can define with that as well. So where's this going?

20:30 Well, what we'd like to announce and show people is that there is now a product appearing in the App store called Robo Forge. And this uses some of the technology that I've just shown of being able to actually pull the the robot kinematics out of the out of an Onshape assembly and have a user interface directly within Onshape there where you can study that robot,

21:01 you can play around with the joints, you can look at the collision detection. And then you can export that to tools for simulation and control design. So it's really making agile, agile product development of, of robotics possible. And whilst this is slightly different to the offline programing that we've shown here, it's very much through this, through this case study that we've,

21:32 we've built a lot of the ideas in this. And so for for us in general, we're viewing that there is a there's a nice set of tools that we can we can start to pull together here. So obviously we can we can design products in Onshape, in configurable, in configurable way. We have a configurator platform called Infinitive, which is shown here, which allows you to, to build configurator based on that.

22:04 And now with this Robo Forge technology, we can actually then also plan either. Either plan robotic assembly using that and the connected tools or we can use that to actually analyze the product that we're that we're working on.

Speed, Agility, Security. Why Compromise?

Speed, Agility, Security. Why Compromise?

Open Bionics Pursues “Heroic” Robotics Mission

Open Bionics Pursues “Heroic” Robotics Mission

Why Do Over 3M Users Trust Onshape For Their Design Needs?

Accelerate product development with the power of cloud computing, real-time collaboration tools, and a built-in PDM system – all for the same price as CAD. Get Started
Related Videos
Watch the video Mastering MedTech Intelligence Watch the video How Predictive Maintenance Improves Aircraft Availability Watch the video PLM Into the Factory Watch the video Integrated Lifecycle for A&D: Agile from Design to Delivery Watch the video Accelerating Aerospace and Defense Innovation with PTC & Ansys Digital Engineering Watch the video Harnessing the Power of ALM: Innovating for the Future With Software-defined Products Watch the video Software Lifecycle Management: Key Strategies for Testing & Validation