Hi all,

 Yes Santiago is THE new engineer at Ecole des Mines that will do the
ROS/Pharo bridge.
 We are investigating what are the alternatives to do this bridge: FFI,
Network, ?

Cheers,

#Luc



2012/9/6 dimitris chloupis <[email protected]>

> Hello there, I am a nooby with smalltalk but quite experienced with
> python. Here is a little background about python libraries.
>
> Python libraries come in 3 flavors
>
> a) Pure python libraries
>
> b) Pure C libraries
>
> c) A mix between the two
>
> Now as you may have guessed option C is the most popular but lets see how
> either one works.
>
> Option A
> -------------
>
> Pure python libraries are not that common, but they do exist, an example
> of this is pyglet, it uses Ctypes a FFI that allows to access dynamical
> libraries (*.dll ,*.so etc) use just pure python , so pyglet access both
> opengl and native OS support for games, like windows, events etc. Pure
> python libraries, use only python and as suck accessing them from another
> programming language is relatively easy usually via sockets or even
> embeding python inside your app, in this case pharo. Obviously sockets is
> way easier.
>
> Option B
> --------------
>
> Pure C libraries in python are very common. Python was invented for
> simplifying and extending C apps, so it comes as no suprised that python
> core is written in C but even a 50 % of the libraries python comes with by
> default are written in C at least partly. Pure C libraries wrapped for
> python use the C python API which is nothing than a collection of C
> functions that can convert C types to python types and increase and
> decrease the reference counter which plays a huge role in python automatic
> memory management. The good news is that what you end up with even though
> it may come with the strange extension of *.pyd  its actually a normal
> dynamic library (dll in windows). That is good news for Pharo because it
> means that this type of python library is accessible through pharos FFIs ,
> so if the library is open source it should be fairly easy to use from pharo
> without converting code to smalltalk or using sockets that are not that fast
>
> Option C
> ------------
> This must be the most popular option out there.
> I think this option is relative easy to guess. Its still option B but with
> additional python modules to extend the core pyd file, if those modules are
> not much you could convert the library to smalltalk and use FFI to access
> the core pyd file.
>
> Of course in all cases sockets are an easy solution. You just fire up a
> python intepreter and you create a socket bridge between pharo and python.
>
> If you want additional technically details I will be glad to help , though
> I am not a python expert.
>
>   ------------------------------
> *From:* Serge Stinckwich <[email protected]>
> *To:* [email protected]
> *Sent:* Thursday, 6 September 2012, 10:03
> *Subject:* Re: [Pharo-project] FFI & Python
>
> Hum, I see ;-)
>
> Welcome on board Santiago !
> If you are interested, we can talk about the alternatives to build a
> ROS client in Smalltalk (rosbridge, pure client or Python bindings).
>
> Regards,
>
> On Thu, Sep 6, 2012 at 1:43 PM, Esteban Lorenzano <[email protected]>
> wrote:
> > he, Santiago *is* the engineer recruited by Noury :)
> >
> > On Sep 6, 2012, at 3:17 AM, Serge Stinckwich <[email protected]>
> wrote:
> >
> >> On Thu, Sep 6, 2012 at 5:58 AM, Santiago Bragagnolo
> >> <[email protected]> wrote:
> >>> Hi all!
> >>
> >> Hi Santiago,
> >>
> >>>    I'm currently working in a project related with ROS (robot operative
> >>> system), which already have a library to develop in C++ and other to
> do the
> >>> same at Python. So, there a lot of variables to contrast to make a
> choice
> >>> (performance, code-easy-to-prototype, flexibility, and a lot more),
> but the
> >>> main variable is the accessibility from Pharo, then the question is, is
> >>> there any project that use python from pharo? Or, if i select python i
> >>> should write a library in C that bootstrap python and give access to
> pharo
> >>> via FFI?
> >>>
> >>>  I looked in the list's mails and in google without any success.
> >>
> >> As Chris already told, there is a Python binding with OpenQwaq:
> >>
> https://squeakingalong.wordpress.com/2011/05/04/openqwaq-python-integration/
> >>
> >> I'm really interested to be able to use ROS from Pharo.
> >> I start some weeks ago to work on a pure Smalltalk client for ROS:
> >> http://ss3.gemstone.com/ss/RosSmalltalk.html
> >>
> >> Noury is also interested and start some work also:
> >> http://car.mines-douai.fr/squeaksource/RoSt.html
> >>
> >> We planned with Noury to join our efforts to have a ROS client as soon
> >> as possible.
> >> Noury will also recruit a engineer to work full time on this.
> >>
> >> Another alternative in order to use ROS from Smalltalk is to use
> >> websockets and rosbridge.
> >> I have done some work to use ROS from Amber here:
> >> https://github.com/SergeStinckwich/rostalk
> >>
> >> You are than welcome to join us ;-)
> >> Regards,
> >> --
> >> Serge Stinckwich
> >> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
> >> Every DSL ends up being Smalltalk
> >> http://doesnotunderstand.org/
> >>
> >
> >
>
>
>
> --
> Serge Stinckwich
> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
> Every DSL ends up being Smalltalk
> http://doesnotunderstand.org/
>
>
>
>

Reply via email to