In the process of building/designing a robot, Trial and error does take up a lot of time. By simulating whenever possible, we can minimize the trial and error cycles. This project/tutorial was done so that you can simulate the robots you design using Solidwroks and ROS.
I assume that anyone who is reading this already have a robot arm designed in Solidworks. The solvers that are available in MoveIt! is mostly supported with 6 dof robot arms. Therefore, I’ll be simulating a 6 dof arm for the sake of simplicity. Model is below.
Installing the Solidworks URDF Exporter plugin
To begin with, The Solidworks URDF Exporter plugin has to be installed in Solidworks. Download the urdf exporter here. Close any solidworks windows that are open, and install. Open solidworks add-ins and activate the URDF Exporter
For some versions, the exporter will be on File>Export as URDF and for some it will be in Tools>Export as URDF.
Identifying the joints
I have modelled a simple, small 3D printable robot. And the end effector is an open end at the moment.
The 6 joints are visualized in the picture above. It’s generally good design practice in a design of this sort to use different subassemblies for each link. In this case using different subassemblies for each link in the assembly is a must. The design tree should look something like this.
As you can see each and every link has its own subassembly. If you are using a subassembly, make the subassembly rigid. But in my experience, it’s always best to convert those subassemblies into part files. The URDF converter is still not perfect and it gives out some unusual errors. There is an unusual problem where the parts in the subassembly would float once it’s converted to URDF shown below in the figure. So, it’s best to convert the subassemblies into part files.