Introduction
This guide contains relevant information for users of Process Simulate interested in using the RapidPlan plug-in offered by Realtime Robotics with Siemens Process Simulate.
Realtime Robotics (RTR)'s RapidPlan is a software that uses motion planning algorithm to produce collision free and minimal cost paths for robots to move precisely through a known environment, based on user-specified target locations. This hardware-independent technology eliminates the complexity of dealing with multiple OEMs and can easily be integrated into existing processes, reducing time-consuming task of programming up to 70%.
Pairing Tecnomatix Process Simulate provided by Siemens with RTR’s RapidPlan will provide users the ability to generate collision-free paths generated by RapidPlan that can be simulated and recorded in Process Simulate and later deployed to the robots on the shop floor. This further eases customers' pain points when deploying industrial robots by enhancing productivity and maximizing the benefits of robotics with the click of a button.
Deploying Realtime Robotics for Tecnomatix Process Simulate 2402 EAP
Windows 11 Installation
RTR’s RapidPlan software is built for a Linux operating system environment, and specifically Ubuntu version 22.04LTS. Running on a Windows system requires Windows 11 with Windows Subsystem for Linux (WSL2) running a distribution of Ubuntu 22.04LTS.
To WSL2 with Windows 11, you can run the following command with administrator privileges from your Windows terminal:
wsl --install -d Ubuntu-22.04
To install RapidPlan software, execute RTR WSL Install.bat
file provided with your installation. To verify RapidPlan is running, execute the RTR WSL Launch.bat
script. The script will automatically launch your internet browser to open the RapidPlan local web server. Google Chrome is the recommended browser.
In addition to browser and OS requirements, RTR recommends following hardware requirements to run the RapidPlan plugin with Process Simulate 2402 EAP:
Intel CPU with 8 cores / 16 logical processors, or more
Workstation-class Nvidia RTX or newer GPU with 4GB graphics memory, or more
64GB RAM for a typical work cell project. 128GB RAM is recommended for large work cells(with up to 16 robots)
1TB SSD
For more details on installation, please refer to the README.txt provided with the Realtime Robotics plugin for Tecnomatix Process Simulate 2402 EAP.
Ubuntu 22.04 Installation
To install RTR’s RapidPlan software in your Linux environment, you can cd
into the directory containing the downloaded RapidPlan package and run the following command from the terminal:
tar xf ./rapidplan...tar
sudo ./install.sh
NOTE: Installation requires sudo privileges.
Following installation and after each reboot, RapidPlan automatically runs in the background. To verify RapidPlan is running, opening your internet browser and navigating to url: localhost
should open the RapidPlan local web server. Google Chrome is the recommended browser.
RapidPlan installation is not recommended on machines heavily used for other purposes. In addition, RTR recommend following hardware requirements to run the RapidPlan plugin with Process Simulate 2304 in your Ubuntu environment:
Intel CPU with 8 cores / 16 logical processors, or more
Workstation-class Nvidia RTX or newer GPU with 4GB graphics memory, or more
64GB RAM for a typical work cell project. 128GB RAM is recommended for large work cells(with up to 16 robots)
1TB SSD
For more details on installation, please refer to the README.txt provided with the Realtime Robotics plugin for Tecnomatix Process Simulate 2402 EAP.
Best practices
This section contains recommendations, tips, and best practices when using the Realtime Robotics integration in Tecnomatix Process Simulate provided by Siemens
Exporting the data to Realtime Robotics
Preparing the data before sending to Realtime Robotics
3D data
Hide unnecessary objects for motion planning.
RTR’s RapidPlan will perform motion planning using the objects that are currently visible. To speed up the process, hide any object that is either out of reach of the robots or that is not relevant for the motion planning. After RapidPlan starts the calculations, the objects can be displayed again
Set objects in the proper pose (jig, turntable, part,…).
When performing motion planning, RTR’s RapidPlan will consider the objects in the positions that they are when the calculation is triggered. Therefore, make sure that objects are in the right pose and in the right spot.
Optional: We recommend setting a working frame close to the cell that is sent to RTR’s RapidPlan. This will allow users to troubleshoot the cell operation in the Realtime Robotics tools, if necessary. Not setting the working frame has no impact in the motion planning results.
Paths
Each path must contain a start & finish pose (i.e., Home or Pounce) and all relative process points within the process. IMPORTANT – RapidPlan simulation will only work with the actual path selected during the conversion stage, not a copy. Therefore, creating a sequence you can run to view results reduces the need to move paths around per scenario and is easier to select at the export and simulation stages.
Teach a valid configuration for all locations. TIP: use Auto teach
It is expected that process points have a taught configuration. RTR’s RapidPlan will find optimal paths between the process points but will not try to optimize the configuration at each process point. If you are interested in optimization capabilities (robot positioning, process point configuration, process point allocation, process point sequencing,…) contact Realtime Robotics for additional information about RapidPlan Optimize at support.rtr.ai.
Teach the approach opening for the weld guns to a reasonable value. This is the value that RTR’s RapidPlan will use, closing/opening the gun on the way to reach the desired opening at the location. Note: selecting a value where the gun is almost closed may cause motion planning to fail. We recommend to select a value so that the robot can move out of the location without having to change the gun opening significantly.
Set the following collision sets.
If no collision sets are created in Siemens PS, RTR’s RapidPlan will consider collisions between all objects with a near miss of 0.1mm, which is usually not desired by users. Process Simulate will analyze all process points before exporting to ensure they are collision-free (and near-miss free) with the configured collision sets. We recommend the following collision-sets
Robot to robot collision sets -> at least 50mm
Robots to objects relevant for collision checking -> at least 0.1mm
Any other collision sets desired by the user (optional)
If a location is defined with a linear motion type (also commonly referred to as MovL, LIN), RapidPlan will not do any motion planning from the previous location to the one specified but try to execute the motion exactly as specified. If you want RapidPlan to find a path between all locations, then ensure each point is defined with a joint motion type (also commonly referred to as MovJ, PTP)
During the export process, RapidPlan will validate the linear motions, and if any are invalid an error will be prompted to the user. An invalid linear motion is one that results in a collision based on the collision sets, or passes through a singularity.
Robot on Rail
The RTR plugin with Siemens Process Simulate now supports applications with robots mounted on a rail. The rail must be defined as an external joint to the robot and should not have any joint dependency.
The rail should not be defined as a robot for motion planning if using RTR plugin.
RTR plugin will generate optimized paths specifically for robots on rails to enable more efficient motions on the rail.
Sending the data to Realtime Robotics for motion planning.
Open the Export to Realtime Robotics tool and select the paths that require collision checking.
After adding the paths to the tool, Process Simulate will analyze the data and provide a message to the user prior to exporting. Typical messages are
Some locations are not taught.
Solution: teach these locations
The welding guns have an unsupported kinematic.
RTR’s RapidPlan will consider these guns as static, not opening/closing them. If this is your case, make sure that you are exporting the guns in a state where all process points can be reached.
Some locations are in collision
Check the locations that are marked as in collision. Siemens Process Simulate uses the configured collision sets for the check. Notice that the Realtime Robotics plugin needs all targets to be collision-free with the part and with the home location of other robots.
Once all targets are valid, the study is ready to be sent to RTR’s RapidPlan. We recommend the following strategy to reduce the time spent in motion planning:
Start with a segmentation time of 100s. This should provide a solution in a reasonable time, although path quality might be medium.
If no result could be found, check the targets that are provided in the error message.
Are these targets in a tight location? Add via locations
Being all robots in home position, is the robot at the problematic target location (Robot A) very close to one of the other robots (Robot B)? This might be preventing the motion planner to generate valid solutions. In this case, add an additional location at the beginning in a position where the Robot B leaves more room for Robot A. We can delete the via location after starting the motion planning process.
If the previous tips do not help, try running one more time with 1000s segmentation time. If Realtime still cannot find valid paths, please contact Realtime Robotics for further assistance at support.rtr.ai.
Once valid paths are found, re-run the motion planning process with a higher segmentation time for more optimized results
Increasing segmentation time will not increase the motion planning process time linearly. Only complicated paths will consume the allocated time.
After pressing “Export”, the data will be sent via the RTR RapidPlan plugin to RapidPlan Control to initiate planning. The progress bar dialog will be displayed, which will provide information progress of the overall process.
The progress bar dialog will have the project name within brackets (project name is the PS study name) in the header with the progress bar below. The progress messages will be displayed below the progress bar.
The first half of the exporting process is 3D data extraction. This will parse each entity in the Siemens Process Simulate study.
After the 3D data has been processed, RTR’s RapidPlan will begin “voxelization” (see glossary for definition). This process consists of discretizing the swept volume of the robot motion and creating a collision free path with respect to the 3D mesh data.
After voxelization has been completed, the project will begin installation on the RapidPlan Control interface. This will take some time. When completed, the dialog will display the message below.
Closing Siemens Process Simulate anytime during the progress will cause the Realtime Robotics results message not to display. In this case, the user must open the RTR RapidPlan Control webapp to check the status and the project generation results.
During the process, Siemens Process Simulate may lose contact with the RapidPlan background process in the event of a network disruption. This can lead to an error message pointing to an “unknown” cause. In this case, please check the status on the RTR RapidPlan Control UI, since the motion planning generation process may still be running.
Preview the results
Once the results are available, they can be previewed in Process Simulate. The steps to do so are:
Open the Realtime Robotics Settings window
Connect to the project that was generated
Play the path that was exported to visualize results
The same path that was exported must be used for simulation, any copies from it will not work, even if the names are the same. The reason is that Process Simulate assigns a unique identifier (ID) to each location. Making a copy of a location or path generates new IDs for the new locations, which will be interpreted as different locations in RTR’s RapidPlan, returning the error “location not found”.
Any via locations that were added to help the planner can be removed from the path while simulating. RTR’s RapidPlan will use them if necessary while executing the path
While simulating, the following changes can be made without re-exporting the paths to Realtime Robotics
Change the order of the process points in the path.
Realtime Robotics has solutions for paths between all the points, therefore changing the order does not require additional computation.
Remove process points (same reason as above)
When simulating, the simulation time displayed is higher that it would be when simulating with a virtual controller, sometimes up to 2 times . For accurate simulation
Recording the paths from Realtime Robotics
The preview allows the user to visualize the results, but does not store any via location in Process Simulate. To do so, the user needs to perform a path recording using the “Realtime Robotics Path Recorder”. There are the steps to use the path recorder:
Connect to a generated project using the “Realtime Robotics Settings” tool.
Click on the “Realtime Robotics Path Recorder” tool. A confirmation message will be displayed
Run the simulation one more time.
After the simulation finishes, the via locations that were used during simulation will be saved in a copy of the path.
Realtime Robotics RapidPlan Control
RTR’s RapidPlan Control, which is in charge of the motion planning and collision avoidance operation of the robot, also has a web-based user interface.
Most of the time, you do not need to interact with the RapidPlan Control webapp to use the Realtime Robotics plug-in with Process Simulate. But sometimes you might need to leverage RapidPlan Control as a visual troubleshooting aid for certain functions, such as changing a target in RapidPlan as an alternate location in events when multi-move command fails.
Using RapidPlan Control
Once the Realtime Robotics project file has been successfully exported by Process Simulate and installed on the RapidPlan Control, open up a web browser and type in localhost to access the RapidPlan Control webapp. Here you will see the project file in the Project list.
In Process Simulate, go to the Realtime Robotics Settings and click the Connect button to load the project on the RapidPlan Control and connect it with the Process Simulate project.
If loaded successfully, you should see the status in Process Simulate changed to “Controlled” and the RapidPlan Control webapp showing the robot models and workcell
From the Process Simulate software, you should be able to play and visualize the desired sequence when connected with RTR’s RapidPlan. The collision free path with new via’s created by RTR’s RapidPlan can also be recorded and simulated offline (no collision avoidance).
Currently the communication between the two software is one-way (Process Simulate → Realtime Robotics), so while you can control the robots through RTR’s RapidPlan Control webapp as well, its motions will not be reflected onto Siemens Process Simulate.
Please refer to the RapidPlan Control Layout section of the RapidPlan User Reference Manual for more information on how to navigate the interface and use its functions: RapidPlan 2.5 Control Panel Layout
Part of RTR’s deadlock avoidance mechanism is the use of Alternate Location. This is achieved by enabling the option via the control panel and selecting the appropriate location with the advice of an Application Engineer.
Known Limitations
Weld guns with joint dependencies that have no limits is not supported.
There are some limitations on joint dependencies, such as those used in the kinematics of a weld gun. A list on unsupported functions can be found in the Appendix.
There are cases when PS can report collision while RTR may not have any collisions. Refer to FAQ for resolution.
Communication between Process Simulate and Realtime is one-way (i.e. moving the robot from Process Simulate will reflect in Realtime Control webapp, but not the other way around).
Setting the working frame of the study >500m may have a negative impact on the motion planning results and can result in planning getting stuck. Advise to add a working frame close to the cell.
Robots with 7-axis is not supported with the RP plugin.
Exporting fails from Process Simulate for studies involving appearances/objects without geometries.
For limitations on the Process Simulate side, please refer to the Tecnomatix Process Simulate 2402 EAP documentation.
Licensing
The license for RapidPlan will be included as part of the licensing package you purchased from Siemens which treats RapidPlan as a plug-in. This can be in the form of a license file or server license.
Please refer to the Siemens document for licensing information: [SIEMENS LINK PROVIDED HERE]
Troubleshooting Tips
Firewall settings…
Port numbers to be used…
License troubleshooting…
WSL setup…
FAQs
How does RTR ensure that the motion created is accurate to the real robot’s path?
If RTR is controlling the robot at runtime, we command it at a fine interpolation interval and monitor its progress. PS verifies if TCP path recordings that RTR generates are the same as RCS module path.
Does RTR reorder the weld sequence in order to either improve inter collisions or cycle time?
Order of weld sequence is defined by user through PS. RTR doesn't know or operate this order/sequence anyhow. What RTR does is it finds the shortest path between targets in the sequence that is given by PS. We do not currently optimize the weld sequence however the user can quickly iterate over different sequences and observe the effect on cycle time.
How fast is the process of “auto creating” via’s?
It depends on many factors: how many targets needs to be connected, what complexity of the targets (are they in tight location? are they close to obstacles? etc.), CAD objects size, hardware capabilities, etc.
When doing the path creation does RTR adjust the robot rounding?
We don't currently support smoothing in PS. If RTR is used at runtime, a smoothing value can be specified and controller will make sure the motion is still collision-free.
Does RTR generate interlock report in Process Simulate?
Not currently but is in the roadmap. Contact your sales representative for more information.
We need to re-export after every little change in the cell, does RTR plan to address this?
We are working on the implementation of incremental export function which will avoid long waiting time when making major changes
PS reports collision but RTR does not report collision. What to do in such a situation?
This could happen because of wireframe entities. You can do so within Process Simulate by removing the check for “Ignore wireframe entities” box under Options>Collision
Glossary
This section provides an overview of certain Realtime Robotics’ RapidPlan terminologies you may need to be familiar with while using RapidPlan software with Tecnomatix Process Simulate 2402 EAP. For more Realtime-specific terms, please refer to our Glossary section of the User Manual: Glossary of RapidPlan Create 2.5 and Realtime Controller Terms
Appliance
Appliance takes operations exported from Process Simulate to plan and execute robot motions that ensure there are no collisions between robots.
Alternate location
Not to be confused with alternate location in Process Simulate, user can set a target as an alternate location in the RapidPlan Control webapp in events when multi move command fails.
Auto-Connect
RTR method to automatically find collision-free paths between a number of targets. An Auto-connect takes a number of targets as input and returns a set of new via points and edges that are needed to move from any input target to any other input target without collisions, on a short path.
Collision
A robot is considered to be in collision in scenarios when the actual robot clearance with respect to objects/other robots/world is less than the clearance specified for the interaction with that respective object/robot/world. If no collision sets are defined, Realtime will consider collisions between all objects with a near miss of 0.1mm.
Collision Checker
Technology in RapidPlan software to check for collisions given a set of rules that define interaction of a robot or part of the robot (links) with non-movable parts of the workcell (not part of the robot)
Deadlock
Scenario when two or more robots block each other in such a way that none of them is able to continue along its trajectory without causing a collision.
Planned Connection
Connection given group(s) of targets computed using RTR auto-connect planner
Project
Similar to Process Simulate Study, a project constitutes the robots, objects, targets/vias, robot workcell, and any collision rules and/or other rules defining this setup. This project is created during export process from Process Simulate and is read by RapidPlan to compute collision-free path for the selected operations.
Configure mode
A mode available inside RapidPlan Control in which projects converted from Process Simulate get uploaded.
Timeout
This is the time a robot will wait before posting a warning/error in the simulation monitor. If there is a waiting position defined (Alternate position), the robot would move there and wait for clearance.
Voxel
A “volumetric pixel,” which has length, width, and height. The voxel region, also known as the Deconfliction Zone, is divided into a 3-dimensional grid of voxels.
Voxelization
The process of computing the discretized swept volume, in voxels (3D pixels), occupied by a robot as it moves along an edge.
YAML
Format of the project that is generated by the export process from Process Simulate.
Appendix
List of joint dependency functionalities not supported with RTR RapidPlan:
Any matrix or joint abbreviations:
One of seven forms enclosed in parentheses ( ):
Denavit-Hartenberg parameters: one of a i o c s d t f followed by one or more digits from 1 to 9. Examples: (a1), (s5), (t32). The digit 0 cannot be the first digit: (d08) is not allowed.
TCP matrix: one of n o a p followed by one of x y z. Examples: (nx), (ay).
Inverse TCP matrix: m followed by one of n o a followed by p. Examples: (mnp), (map).
Tool matrix: h followed by two digits each in the range 0 to 3. Examples: (h10), (h33).
Base matrix: b followed by two digits each in the range 0 to 3. Examples: (b03), (b32).
Sine or cosine abbreviation: Uppercase S or C for rotational joints, or lowercase s or c for prismatic joints, followed by one or more digits from 0 to 9, to express the sine or cosine of the specified joint in radians. This expression abbreviates references to joints in the format d# or t#; it does not abbreviate expressions using D(name) or T(name). Examples: (S9) means (sin(t9)) for rotational joint 9; (s9) means (sin(d9)) for prismatic joint 9. (C1) similarly means (cos(t1)) and (c1) means (cos(d1)). An expression like (sin(T(j2))) cannot be abbreviated.
certain integer operations:
floor ( expr ) - The largest integer not greater than expr. Example: (floor(27.9)) returns 27.
ceil ( expr ) - The smallest integer not less than expr. Example: (ceil(27.9)) returns 28.
int ( expr ) - The integer portion of expr; the fractional portion is truncated. Example: (int(27.9)) returns 27.
certain logical operations:
! ( expr ) - Not expr, where expr is Boolean.
certain conversion operations:
deg ( expr ) - The conversion of expr to degrees.
certain mathematical operations:
( expr1% expr2 )
The remainder of expr1 divided by expr2; expr2 may be a sum of two or more expressions. Example: (9%7) returns 2.