04-02-2019, 05:03 PM
Hi Robin,
Thank you for your feedback. We have just improved the PRM algorithm with your suggestions. The latest version is available for2022世界杯国家队名单(only Windows 64 bit at this moment).
Among other things the plugin should be loaded by default. You can select to load/unload it in Tools-Plug-Ins. The timeout issue has also been solved. Let me know if you have any other suggestions or find any issues.
If you speed up your simulation you are less likely to detect collisions. If you want to accurately detect collisions for a robot program I recommend you to right click a program and selectCheck Path and Collisions(Shift+F5). This may take more time but it will check for collisions given the tolerances set in Tools-Options-Motion.
I attached a new RoboDK project with all the API features that are available:
Albert
Thank you for your feedback. We have just improved the PRM algorithm with your suggestions. The latest version is available for2022世界杯国家队名单(only Windows 64 bit at this moment).
Among other things the plugin should be loaded by default. You can select to load/unload it in Tools-Plug-Ins. The timeout issue has also been solved. Let me know if you have any other suggestions or find any issues.
If you speed up your simulation you are less likely to detect collisions. If you want to accurately detect collisions for a robot program I recommend you to right click a program and selectCheck Path and Collisions(Shift+F5). This may take more time but it will check for collisions given the tolerances set in Tools-Options-Motion.
I attached a new RoboDK project with all the API features that are available:
Code:
# Example plugin commands for the "CollisionFreePlanner" plugin (they are not case sensitive)
#榜样connect 2 robot targets (for example a program that moves from Target 1 to Target 2. The program will be called ProgSample) and create a program called Prog 123
status = RDK.PluginCommand("CollisionFreePlanner", "Join", "Target 1|Target 2|ProgSample")
# Returns "Success" if it was possible to link both targets. Otherwise it returns "Failed"
print(status)
#榜样retrieve the current PRM map information
status = RDK.PluginCommand("CollisionFreePlanner", "Info")
# It returns a string containing the samples and edges in the following format:
# "Samples-edges-Robot name"
print(status)
#榜样add the current robot joints (each joint will be connected to NewNodeEdges samples)
status = RDK.PluginCommand("CollisionFreePlanner", "Add")
print(status)
# This function can be called multiple times in a loop to create your own PRM map given a list of joint values
# Clear data related to the PRM collision free planner
status = RDK.PluginCommand("CollisionFreePlanner", "Clear")
print(status)
#榜样set the number of PRM samples (number of joint configurations):
status = RDK.PluginCommand("CollisionFreePlanner", "Samples", 25)
print(status)
#榜样set the number of PRM edges (connections between joint configurations):
status = RDK.PluginCommand("CollisionFreePlanner", "Edges", 10)
print(status)
#榜样set the number of edges for newly added joint samples
# (connections for new joint configurations added using the Add command or by joining targets/programs):
status = RDK.PluginCommand("CollisionFreePlanner", "NewNodeEdges", 5)
print(status)
#榜样change the path step for collision checking
# (this is a RoboDK command and not a PRM plugin command)
status = RDK.Command("PathStepCollisionDeg", 2)
print(status)
#榜样set the number of edges for newly added nodes
# (connections for new joint configurations added using the Add command or by joining targets/programs):
status = RDK.PluginCommand("CollisionFreePlanner", "Display", 0) #Set to 1 (display) or 0 (hidden)
print(status)
#榜样select a robot for PRM calculations (only useful if you have more than 2 robots in the cell)
robot_name = RDK.PluginCommand("CollisionFreePlanner", "SelectRobot", "Comau")
# It retuns the robot selected
print(robot_name)
# Calculate or update the PRM map (it can take a while)
status = RDK.PluginCommand("CollisionFreePlanner", "Calc")
print(status)
Albert