Group moderator: Marek Rucinski
Personally, I am a big fan of programming in Python as opposed to C++. For the needs of my experiments for my PhD project, I "pimped-up" the swig interface available in the YARP repository in order to make it work and enable certain not available features (most notably Cartesian control). I tested my code with both simulator and a real robot which we have in Plymouth. I'm very happy to demonstrate what I have so if you're interested, please just chat me up.
I am curious how many people use or would like to use iCub from Python. I would be very happy to get together and discuss our work and the future or Python bindings for YARP / iCub. Let's schedule a meeting early in the course of summer school and hopefully some concrete activities (e.g. improving the existing swig interface?) will emerge.
If you're interested please leave your name in the Group Members section.
|Fri 20/07/2012||14:15||Initial group meeting|
Kiril Kiryazov (I will try to drop by cause it sounds interesting although I am only working with the Java interface now)
A lot of effort has been dedicated to enable the access to the iCub Cartesian interfaces (arm and gaze) without performing dirty tricks, like linking yarp bindings directly with icubmod. While the success has been generally achieved (credit goes to Lorenzo), there are persisting issues on certain platforms (most notably, Marek's amd64 Ubuntu 10.04).
In order to make the python bindings more convenient to use, some methods have to be re-wrapped in the yarp.i interface. An example are methods which return scalar values in pointers passed as the method's argument.
Yarp python bindings could be nice addition to the binary distribution of Yarp/iCub, since they would enable the user to code software which uses the robot without necessity to obtain also Yarp/iCub sources.
Plans for the nearest future include integrating non-dirty custom changes to yarp.i with Yarp trunk and writing down a few simple tutorials on how Yarp bindings can be used from python (e.g. controlling the simulator environment, controlling the robot, using Yarp images, ...).