Improve Design Processes with the LabVIEW NI SoftMotion Module and SolidWorks

SolidWorks assembly drawing CARMA robotic arm

Lisa Mosier – Square One Systems Design Inc.


CompactRIO, NI SoftMotion Development Module, NI 9512, LabVIEW

After solving the inverse kinematics equations of the six-axis robot arm, the kinematic performance can be simulated and tested and the design method can be optimized by using the platform for developing test equations and NI LabVIEW VI without assembling a physical test platform.

Using the LabVIEW NI SoftMotion Module design VIs can run assembly files and simulate in CAD models, create 3D models in SolidWorks to construct a virtual physical representation of a six-degree-of-freedom (DOF) system, and then use the NI cRIO-9024 embedded real-time controller and six NI 9512 modules to develop the actual assembly system.

“We explored all options and chose to use LabVIEW as our control programming tool. After attending the 2009 NIWeek Global Graphical System Design Conference, we learned about many new NI toolkits and modules that might be suitable for our system development A good solution to your needs.”

Square One is a robotics and automation company focused on meeting the technological needs of more users. We utilize a variety of technologies to meet the needs of physical science researchers and military application engineers by providing high-accuracy advanced kinematic positioning systems. Integrating commercial robots and our patent-pending three-ball robotic arm into new and existing work cells helps improve performance by increasing the efficiency and precision of existing industry standards.

Professional project
The three-ball robotic arm allows precise adjustment of the target position within six degrees of freedom. The basic building block of the three-ball robotic arm is the “slot” mechanism, which can be adjusted vertically and horizontally, and can slide in other horizontal directions. By arranging these slots in the shape of a tripod, a purely kinematic adjustment system can be created. Square One has designed a three-ball-based robotic arm to enable precise positioning of detection sensors, grippers, and operator haptic feedback, which improves the usability of current unmanned ground vehicles (UGVs). The three-ball robotic arm improves the accuracy of the work envelope and UGV detection hardware, thus allowing it to excavate and move debris, inspect vehicle undercarriages and perform other tasks that most robots in use today cannot. This is where the Constrained Area Robotic Arm (CARMA) was developed.

Using this project as an opportunity to improve the efficiency of the design process and greatly expand our motion control capabilities, we used NI prototyping design tools. Previously, our approach was to design the positioning system entirely in SolidWorks, creating an assembly drawing for assembly. After the assembly is complete, we design the control section based on PC/104 to meet the motion control specifications required for each individual project in the existing mechanical design. Moving the software development step higher in the overall design flow allows the mechanical design to include the sensors and necessary space needed to control the hardware. By combining software and mechanical design, we reduce the number of iterations and modifications in the development delivery process.

Our first step was to define an entirely new control scheme. By changing geometric parameters to make our software more modular, we developed a “logical” set of motion control equations. The ability to coordinate motion between any given axis greatly expands the capabilities of the three-ball. In addition, the test bench is very important to verify the function of the equation. After realizing that it was not practical to generate multiple different configurations just for testing, we turned to simulation software as a test bed for the new technology.

After examining existing software tools, we narrowed down the options to The MathWorks, Inc. MATLAB® with Simulink® software and the LabVIEW NI SoftMotion Module for SolidWorks. We completed the initial design in SolidWorks and used MATLAB to solve the equations. So far, we have only used LabVIEW to develop the user interface. All motor commands and controls are configured using a Linux programmable machine; at the same time, we are actively searching for user-friendly programming software that can standardize the control architecture.

We explored all available tools and chose LabVIEW for control programming. After attending the 2009 NIWeek Global Graphical System Design Conference, we learned about many new NI toolkits and modules that could meet our system development needs. LabVIEW can read the MATLAB code of the motion trajectory, and the LabVIEW NI SoftMotion module contains the motor control and the required sensors through the NI C Series driver interface module. The communication between the LabVIEW VI and the SolidWorks assembly file is the key to the entire project. Therefore, we decided to develop for the three-ball robot arm and all automation systems, using NI software and hardware as the design solution. Finally, we decided to use a combination of LabVIEW functions to solve higher-order math problems that were previously done in MATLAB.

Just as we developed the LabVIEW VI to run the “logical” three-sphere equations of motion solution, we did the mechanical design in parallel in SolidWorks software. After completing the VI and solid model assembly modules, we started the integration process. Use the LabVIEW project to include motion control VIs and add the SolidWorks assembly file to the project. Start the simulation process, identify axes in the model and access via VIs. After a few days of training, we understood the connection between DS SolidWorks and LabVIEW, started to simulate the system and created a virtual prototype system.

Logic Three Ball Solutions
We run the user interface and test the motion control VI to verify its functionality. We found that quite a few axes were misidentified in VIs, but it was easy to fix these errors. In addition, many advanced motion control algorithms do not work properly due to omissions in the code or the use of an incorrect sign (±). Without simulation, we wouldn’t be able to catch these bugs early in the development phase. The serious consequences of these errors are avoided because errors are found in the simulation, rather than in the running physical system.

CARMA Solutions
The next step is to tailor the simulation to the specific dimensions and motion needs of the CARMA project. We finished and extended the SolidWorks model appropriately. In a LabVIEW project, the project structure allows us to open a new text file detailing the dimensions of the CARMA manipulator and the limits of its range of motion. In fact, we copied the existing “logic” three-ball project, renamed it CARMA, and used the CARMA text as the default file, which opens every time the UI is run. A successful simulation allowed our design team to fully visualize the range of motion of the robotic arm, and more importantly, we were able to measure angles along all rotational axes in the SolidWorks model.

The simulation process allows us to test the extreme conditions of motion and size critical components prior to assembly. Create and test LabVIEW VIs through simulation, making it easy to transition to writing controls for actual CARMA assembly modules. We need other VIs to support complex motion control, machine vision, and autonomous system features, but the basic controls already exist. After assembling the components, for the first time in Square One’s history, we were able to operate the finalized robotic arm without modifying the software running the simulation. Implementing the motion control software together with the SolidWorks assembly module in the early days greatly improved the efficiency of the design process, and we also achieved our goal of including the mechanical team in the software development design.

The Links:   PM50RL1A120 A3PN030-ZVQG100