Redundant Manipulator Collision Avoidance?
Redundant Manipulator Collision Avoidance?
I am having trouble finding the redundant manipulator and collision avoidance settings I am familiar with. Do they still exist?
Re: Redundant Manipulator Collision Avoidance?
Hello,
IK in CoppeliaSim is slowly moving away from GUI set-up, to programmatic set-up, i.e. instead of having to manually create IK tasks, adjust their parameters and properties, you can do this via the new IK API. CoppeliaSim V4.2.0 goes one step further and allows to create and handle IK tasks just with a few lines of code. There are several example scenes to illustrate this. CoppeliaSim V4.2.0 Beta will be available here within 1-2 days.
IK and collision avoidance is quite tricky and can be implemented in various ways, programmatically, by identifying closest points and creating additional IK elements on-the-fly where needed, to drive that point away from a possible collision.
Cheers
IK in CoppeliaSim is slowly moving away from GUI set-up, to programmatic set-up, i.e. instead of having to manually create IK tasks, adjust their parameters and properties, you can do this via the new IK API. CoppeliaSim V4.2.0 goes one step further and allows to create and handle IK tasks just with a few lines of code. There are several example scenes to illustrate this. CoppeliaSim V4.2.0 Beta will be available here within 1-2 days.
IK and collision avoidance is quite tricky and can be implemented in various ways, programmatically, by identifying closest points and creating additional IK elements on-the-fly where needed, to drive that point away from a possible collision.
Cheers
Re: Redundant Manipulator Collision Avoidance?
Are there bindings or examples for using this new functionality with PyRep? Would it be possible to point me to an example offering collision avoidance (nullspace controller)?
Re: Redundant Manipulator Collision Avoidance?
We'll try to prepare a demo scene related to that, hopefully next week.
Cheers
Cheers
Re: Redundant Manipulator Collision Avoidance?
Thank you! I'm looking forward to it. I have a couple more questions, if you could answer them it would help me a lot in the meantime.
1.) Will this be available internal to Coppellia Sim (Lua Scripting or Remote API (sim.sim* in Python through PyRep) or solely through the C++ API?
2.) Is there existing documentation or publications I could take a look at to understand your approach (based on Oussama Khatib's work in the 80s?) to collision avoidance and inverse kinematics?
1.) Will this be available internal to Coppellia Sim (Lua Scripting or Remote API (sim.sim* in Python through PyRep) or solely through the C++ API?
2.) Is there existing documentation or publications I could take a look at to understand your approach (based on Oussama Khatib's work in the 80s?) to collision avoidance and inverse kinematics?
Re: Redundant Manipulator Collision Avoidance?
The functionality is available via scripting, but since you can call script functions from the C/C++ API, it is also indirectly available from there. E.g. simply create an add-on that offers that script function, then call from C/C++ that add-on function via
As to how this can exactly be implemented, you will have to look at the available literature. But a basic approach would be to add additional damped constraints for objects with too little clearance and repelling them from the obstacles.
Cheers
simCallScriptFunctionEx
. Of course you can use the same approach by using a customization script or a child script.As to how this can exactly be implemented, you will have to look at the available literature. But a basic approach would be to add additional damped constraints for objects with too little clearance and repelling them from the obstacles.
Cheers
Re: Redundant Manipulator Collision Avoidance?
We have prepared a very simple example scene available here: run the simulation and try to move the blue cylinder close to the kinematic chain.
We might add an improved version of this scene to the default demo scenes. Make sure you run with CoppeliaSim V4.2.0 or above.
Cheers
We might add an improved version of this scene to the default demo scenes. Make sure you run with CoppeliaSim V4.2.0 or above.
Cheers