Open mstoelzle opened 2 years ago
Hi @mstoelzle , please review the latest commits regarding this issue
Hi @mstoelzle , please review the latest commits regarding this issue
I have created the following issues to address specific concerns with the current implementation:
Hi @mstoelzle , please review the latest commits regarding this issue
I have created the following issues to address specific concerns with the current implementation:
Sure, will go through them asap to solve
I am creating this issue for future reference. Please implement first a soft robotic arm and a sphere into the simulation as already discussed previously.
Afterwards, I think the next step is to add some kinematics. This will be quite a bit more mathematical, than all the coding in the first part of the internship :) I am thinking of the following structure:
elastica_kinematics
RodStatesToPCC
with theRodsState.msg
as an input and the PCC kinematic states as an output. We aim to use the following PCC convention:The next components should (hopefully) be applicable for any soft robotic arm, not only for rods simulated within the
elastica
simulator. Thus, we should probably put them into a separate repo with the nameros2-pcc_kinematics
scripts/derive_jacobian.py
, which computes the Jacobian symbolically using sympy and afterwards saves the result as a compiled C++ library. Then, our ROS nodes can access this C++ library for fast usage at run-time. We should have a Jacobian available at the minimum for every tip of each segment. Ideally, we can also evaluate the Jacobian within each segment as a function of a running variables
with minimum 0 (e.g. the base of the segment) and 1 as the maximum (e.g. the tip of the segment).ForwardKinematics
node, which subscribes to a topic with PCC configuration states and publishes the position and orientation of the tip of each segment.