0
$\begingroup$

Rosanswers logo

I want to create create complex behaviors using the SMACH library (e.g. grasping an object, bipod walking, etc).

In order to maintain flexibility, inside my SMACH state machines, I've used parameterized states (e.g. I have a MoveAlongPath state which I instantiate with a list of joint waypoints to produce different movements: lift leg, plant leg, etc).

I want to use an inverse kinematics library inside a SMACH state (e.g. Calculate IK) to generate a list of waypoints (which will be passed on to instances of the Movement state).

I am interested in the HEBI Robotics API and the trac_ik library - both of which are in C++.


My question is:
What's the recommended ROS way to make calls to a C++ IK library from inside a Python SMACH state?

... Boost Python, C++ SimpleActionServer?


edit:
trac_ik has a pull request for a python wrapper but it hasn't been merged in yet.
edit:
As of 2018/29/01


Originally posted by josephcoombe on ROS Answers with karma: 697 on 2017-11-27

Post score: 0


Original comments

Comment by gvdhoorn on 2018-01-30:
Why delete the question? Have you solved it? If so, then please post an answer and accept your own answer.

Comment by josephcoombe on 2018-01-30:
I didn't really solve the question as stated, but trac_ik_python has been released - eliminating the original need. I have modified the question title, added my own answer, and undeleted the question as recommended.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

As of 2018-01-04, trac_ik has swig based python wrapper trac_ik_python

As of ~2018-01-31, this will be available in the ROS kinetic repository.

$ sudo apt-get install ros-kinetic-trac-ik

or from source at https://bitbucket.org/traclabs/trac_ik


Additionally, HEBI is developing a Python API and a ROS API for their motors/kinematics library


Originally posted by josephcoombe with karma: 697 on 2018-01-30

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.