Comments (7)
Good catch @cjlux !
Actually this function seems deprecated and should be removed (seems it's not used anywhere).
In which context did you use it?
from ikpy.
We (Yoan Mollard, Thibault Desprez and myself) are presently updating the raspoppyfication process (installing Poppy configuration on a RPi4 under raspbian buster) : the IKpy module is used at start-up by the robot "Ergo Junior" and I found also this bug when using IKpy for the robot "Poppy Torso" to make the robot catch objects recognized by tits camera.
from ikpy.
sorry closing was accidental...
from ikpy.
In order to use URDF, the function get_urdf_parameters
should be used instead.
from ikpy.
On the other hand, if you explicitly need it, we can move it to a "deprecated" module (and fix the original issue), instead of just removing it.
from ikpy.
After investigation I found this : the function get_chain_from_joints defined in the file URDF_utils.py is called at line 25 of the file ik.py from the module pypot.creature :
25 chain_elements = get_chain_from_joints(poppy.urdf_file, [m.name for m in motors])
and the liste chain_elements
contains for example :
['base', 'abs_z', 'spine', 'bust_y', 'bust_motors', 'bust_x', 'chest', 'l_shoulder_y', 'l_shoulder', 'l_shoulder_x', 'l_shoulder_motor', 'l_arm_z', 'l_upper_arm', 'l_elbow_y']
Some lines later in the file ik.py the list chain_elements
is given as argument to the call :
30 chain = cls.from_urdf_file(poppy.urdf_file,
31 base_elements=chain_elements,
32 last_link_vector=tip,
33 active_links_mask=activ)`
and the function from_urdf_file
(in the file chain.py from the module IKpy) calls itself the function get_urdf_parameters with among others the argument base_elements=chain_elements
...
So if you plan to deprecate the function get_chain_from_joints the question is : how to generate the list chain_elements
?
Or a related question is : what kind of information in details is required for the argument base_elements
of the get_urdf_parameters function ?
from ikpy.
Actually this function seems useful in the way it's used, since it permits to get a list of links+joints from a list of joints.
And this use-case can be appear in the pypot creatures context: Since IKp's URDF parser requires a list of links+joints, and pypot works with a list of joints, this function makes the link between the two
from ikpy.
Related Issues (20)
- forward_kinematics method , joints values HOT 3
- Changing the optimization algorithm HOT 8
- TypeError: __init__() got an unexpected keyword argument 'translation_vector' HOT 3
- inverse_kinematic_optimization is not working? HOT 1
- Need help to create a chain from global placements HOT 9
- Issue in Chain.plot method when ax = None HOT 3
- Not working with full referential (orientation mode "all") with unity orientation HOT 5
- [regression] inverse kinematic from urdf chain broken in 3.3 HOT 7
- Trouble creating chain with URDFlink HOT 3
- how to get pose? HOT 2
- Supporting ik interpolation between two positions HOT 3
- How to add constrains to the chain to ensure the robot arm is always above the workbench? HOT 2
- The ValueError:“x0” is infeasible HOT 6
- How to use ikpy together with any other path planning algorithm to achieve obstacles avoidance? HOT 2
- ValueError: Unknown joint type: continuous HOT 4
- Issue to reach position AND orientation (3axes) target HOT 2
- Python not detecting ikpy package
- Working with 2 decimal places - different results
- Problem with inverse kinematics
- Multiple inverse kinematics
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ikpy.