Re: ROS on Freerunner

2011-04-22 Thread j...@rejon.org
great guys, please put your documentation of trying this onto the wiki.

Jon

On Tue, Apr 19, 2011 at 3:55 AM, Jan Tuennermann
tuennerm...@get.uni-paderborn.de wrote:
 I think ROS would not be a benefit for the OpenMoko as a phone, it makes it
 very attractive for application in robotics or other controlling
 applications.

 The minimal processing power is a problem when compiling. Compiling the base
 system took a whole night and when ever I compile a new ROS package, ROS
 will automatically compile any packages the wanted want depends on and make
 the phone unusable for hours while compiling. I think I need to look into
 cross-compiling.

 I also think there are some optimizations on the ROS side possible. For
 example, there is a lot of logging going on. I think it can be turned off...

 A slim linux would be good, but it must be ensured that all the base
 dependencies can be satisfied (boots, OpenCV, etc.). Also one of the
 advantages of ROS is, that there are thousands of communities packages
 available that have individual dependencies.  For example, the gpsd_pacakges
 I tried to install will tell the rosmake tool that it depends on gpsd and
 (on debian) it will automatically you apt-get to pull and install the
 package. (However, this did not work for unknown reasons on the QtMoko
 installation, which I had switched to debian squeeze source).
 I also needed to override the OS identifcation with an environment variable
 'export ROS_OS_OVERRIDE=debian:squeeze', because QtMoko was providing some
 other identification.

 So I think it should use the debian repos, to make as many packages
 available as possible.

 A good thing would be a pre-compiled version already installed properly in
 the file system ready to copy on SD, boot and go! All the phone
 functionality could be stripped out, just starting a blank Xserver where
 graphical ROS-nodes can show there widgets. I would have one phone SD and
 one robot SD card then, and never again the phone would ring while it drives
 around on the robot ;)

 Jan


 Am 19.04.2011 10:27, schrieb RANJAN:

 Will be really an awesome and exciting idea..But having to port it properly
 and use the minimal processing power on FR and to decide whether one should
 design a minimal linux specifically to support ROS etc would be some key
 points to begin with..

 Sincerely
 Ranjan

 On Tue, Apr 19, 2011 at 1:10 AM, Dr. H. Nikolaus Schaller
 h...@goldelico.com wrote:

 I think this can also be of interest to the Openmoko community.

 Am 19.04.2011 um 09:46 schrieb Jan Tuennermann:

 Ron,

 thanks for forwarding.  ROS (Robot Operating System) is a kind of meta
 operating system. It does not really handle OS functions, also it is not
 real time. It's a great concept that boosts development in the robotic area.
 It is based on a publisher / subscriber paradigm; you implement your
 software as node which will publish and receive messages. For example, if
 you wrap a face detection algorithm or something in a ROS-node, it would
 subscribe to image messages and probably publish a custom message with
 coordinates of a face, or maybe another image with the face marked. This
 node can now receive images from any node that publishes images. For
 example, a webcam-node. Or a node that loads test-data from hard drive or
 maybe from a 3D-Simulator. Also, there are a lot of components that already
 come with ROS. So if we wanted to display the image with the face marked in
 it, we would just need to make an image_view node (comes with ROS) to
 subscribe our images. More complex components can display 3D point-clouds
 (for example from a laser range finder), etc.  ROS nodes register with a
 master and they don't need to be on the same machine, as they can
 communicate over network.

 Right now I'm trying to get a gpsd_client node to run on the OpenMoko. On
 a remote PC a gpsd_viewer node will run, subscribing gpsFix messages which
 it will use to display the Moko's location in a map from the OpenStreetMap
 project. I'm planning to connect the Moko to a micro- controler which then
 controls a RC-car. I tested this before, so I'm optimistic that I will get
 it working. When it works I might add a X-Box kinnect, which is already
 supported by ROS to capture 2D and 3D visual information to enable the
 RC-car for autonomous driving.

 best regards,
 Jan





 Am 19.04.2011 01:14, schrieb Ron K. Jeffries:

 sending this item along seen on the ROS list.
 Not sure if OpenMoko folks have already seen it.
 A future board similar to SIE nee SAKC would
 benefit from a real time OS. This one [ROS]
 appears to be open and free and widely supported.
 -- Forwarded message --
 From: Jan Tuennermann tuennerm...@get.uni-paderborn.de
 To: ros-us...@code.ros.org
 Date: Mon, 18 Apr 2011 09:28:02 +0200
 Subject: [ros-users] ROS running on Neo Freerunner
 Hi everyone,

 I spent some time on the weekend to get ROS diamondback running on the
 OpenMoko smart phone Neo Freerunner. With it's WiFi,  

Re: Re: ROS on Freerunner

2011-04-20 Thread Jan Tuennermann

Hi Neil, hi Boudewijn,

thanks for the suggestions. I understand that there are probably more 
usefull ways to get GPS info out of the Moko. Right now I'm trying it in 
the context of creating a complete ROS integration, so that all the 
phone's sensors will publish their information as ROS messages. This 
will be useful for using the phone as a control unit on a robot, but 
probably not  for it's original intention as a phone ;)
I think the one could easily forward the port gpsd uses to run tangogps 
on a remote PC. That's probably what you described, Boudewijn. Did the 
GPRS connection prove reliable enough for this?


Jan

Am -10.01.-28163 20:59, schrieb W. B. Kranendonk:

--- On Tue, 4/19/11, Neil Jerramneiljer...@gmail.com  wrote:
   

Am 19.04.2011 um 09:46 schrieb
   

Jan Tuennermann:

 

Right now I'm trying to get a gpsd_client node to run
   

on the OpenMoko. On a
 

remote PC a gpsd_viewer node will run, subscribing
   

gpsFix messages which it
 
   

viewer: note that this is very similar to using the
OpenMoko as a GPS
receiver and exporting that information to another device
over
Bluetooth.
 

Apart from exporting over Bluetooth, will you have an IP connection between the 
devices? I guess so, how else to receive *any* info in the viewer :-)

Anyway: using foxtrotgps for example, I enter the port for gpsd. I always 
expected it to default to localhost if nothing else was supplied; I recall 
using tangogps on a laptop configured to connect to IP:port of the Freerunner 
that was traveling with family and connected via GPRS. That's a while ago 
though and time and alcohol made the memory not too detailed ;-)

Boudewijn


   



--
 M.Sc. Jan  T U E N N E R M A N N   _

  University of Paderborn

  Faculty of Computer Science
   Electrical Engineering and Mathematics
  GET Lab

 phone: +49/ (0)5251/ 60 - 2219 Pohlweg 47-49
 fax:   +49/ (0)5251/ 60 - 3238 D-33098 Paderborn

 Faculty of Cultural Sciences
 Department of Psychology
   PsyLab

 phone: +49/ (0)5251/ 60 - 2907  Warburger Straße 100
 fax:   +49/ (0)5251/ 60 - 3528 D-33098 Paderborn

 email: tuennerm...@get.uni-paderborn.de


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Re: ROS on Freerunner

2011-04-20 Thread Neil Jerram
On 20 April 2011 10:12, Jan Tuennermann
tuennerm...@get.uni-paderborn.de wrote:
 Hi Neil, hi Boudewijn,

 thanks for the suggestions. I understand that there are probably more
 usefull ways to get GPS info out of the Moko. Right now I'm trying it in the
 context of creating a complete ROS integration, so that all the phone's
 sensors will publish their information as ROS messages.

Understood.  All I meant was that if you have any difficulty getting
at the basic GPS info (in order to publish it as ROS), we can help
with that.

 Did the GPRS connection prove reliable enough for this?

In my experience, sadly no.  I've regularly seen problems at all
levels, including
- GPRS connection doesn't come up (especially - but not only - if
after terminating a previous connection)
- connection comes up but routing table hasn't been updated so as to
route over it
- connection up and routing correct, but /etc/resolv.conf is wrong so
DNS doesn't work
- connection, routing and DNS all look good, but for some reason data
still doesn't get anywhere (or come back).

One known underlying problem here is that the modem crashes if the
outgoing data rate is too high.  But I imagine that that is relatively
rare in practice, so probably there are other underlying problems.

Regards,
Neil

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Re: ROS on Freerunner

2011-04-20 Thread W. B. Kranendonk


--- On Wed, 20/4/11, Jan Tuennermann tuennerm...@get.uni-paderborn.de wrote:

 useful for using the phone as a control unit on a robot, but
 probably not  for it's original intention as a phone
 ;)
I guessed so :-)

 I think the one could easily forward the port gpsd uses to
 run tangogps on a remote PC. That's probably what you
 described, Boudewijn. Did the GPRS connection prove reliable
 enough for this?
It is, and it did :-) It should, of course, but still I rejoiced when finding 
it actually worked.

Boudewijn

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Re: ROS on Freerunner

2011-04-20 Thread Neil Jerram
On 20 April 2011 10:47, Neil Jerram neiljer...@gmail.com wrote:
 On 20 April 2011 10:12, Jan Tuennermann

 Did the GPRS connection prove reliable enough for this?

 In my experience, sadly no.  I've regularly seen problems at all
 levels, including [...]

I realized that that statement was overly negative.  For balance, I
should also say that I've sometimes had GPRS up and running
successfully for whole days - e.g. for maps on long car trips.

In summary, sometimes it works great, but I don't think you can
completely rely on it.

Neil

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: ROS on Freerunner

2011-04-19 Thread RANJAN
Will be really an awesome and exciting idea..But having to port it properly
and use the minimal processing power on FR and to decide whether one should
design a minimal linux specifically to support ROS etc would be some key
points to begin with..

Sincerely
Ranjan

On Tue, Apr 19, 2011 at 1:10 AM, Dr. H. Nikolaus Schaller h...@goldelico.com
 wrote:

 I think this can also be of interest to the Openmoko community.


 Am 19.04.2011 um 09:46 schrieb Jan Tuennermann:

  Ron,

 thanks for forwarding.  ROS (Robot Operating System) is a kind of meta
 operating system. It does not really handle OS functions, also it is not
 real time. It's a great concept that boosts development in the robotic area.
 It is based on a publisher / subscriber paradigm; you implement your
 software as node which will publish and receive messages. For example, if
 you wrap a face detection algorithm or something in a ROS-node, it would
 subscribe to image messages and probably publish a custom message with
 coordinates of a face, or maybe another image with the face marked. This
 node can now receive images from any node that publishes images. For
 example, a webcam-node. Or a node that loads test-data from hard drive or
 maybe from a 3D-Simulator. Also, there are a lot of components that already
 come with ROS. So if we wanted to display the image with the face marked in
 it, we would just need to make an image_view node (comes with ROS) to
 subscribe our images. More complex components can display 3D point-clouds
 (for example from a laser range finder), etc.  ROS nodes register with a
 master and they don't need to be on the same machine, as they can
 communicate over network.

 Right now I'm trying to get a gpsd_client node to run on the OpenMoko. On a
 remote PC a gpsd_viewer node will run, subscribing gpsFix messages which it
 will use to display the Moko's location in a map from the OpenStreetMap
 project. I'm planning to connect the Moko to a micro- controler which then
 controls a RC-car. I tested this before, so I'm optimistic that I will get
 it working. When it works I might add a X-Box kinnect, which is already
 supported by ROS to capture 2D and 3D visual information to enable the
 RC-car for autonomous driving.

 best regards,
 Jan





 Am 19.04.2011 01:14, schrieb Ron K. Jeffries:

 sending this item along seen on the ROS list.

  Not sure if OpenMoko folks have already seen it.

  A future board similar to SIE nee SAKC would
 benefit from a real time OS. This one [ROS]
 appears to be open and free and widely supported.

  -- Forwarded message --
 From: Jan Tuennermann tuennerm...@get.uni-paderborn.de
 To: ros-us...@code.ros.org
 Date: Mon, 18 Apr 2011 09:28:02 +0200
 Subject: [ros-users] ROS running on Neo Freerunner
 Hi everyone,

 I spent some time on the weekend to get ROS diamondback running on the
 OpenMoko smart phone Neo Freerunner. With it's WiFi,  GPS, Accelerometers
 and Linux capabilities it might be an alternative for robot projects where a
 netbook is to large or to heavy.

 I put an installation guide here: http://www.ros.org/wiki/freerunner

 I was not really sure where to put it, as it is not really a tutorial and
 also no stack description. So if the place is inappropriate, it would be
 nice if someone could move it.

 Jan

  ---
 Ron K. Jeffries
 http://ronkjeffries.pen.io






 --
  M.Sc. Jan  T U E N N E R M A N N   _

   University of Paderborn

 Faculty of Computer Science
Electrical Engineering and Mathematics
   GET Lab

  phone: +49/ (0)5251/ 60 - 2219 Pohlweg 47-49
  fax:   +49/ (0)5251/ 60 - 3238 D-33098 Paderborn

Faculty of Cultural Sciences
Department of Psychology
  PsyLab

  phone: +49/ (0)5251/ 60 - 2907  Warburger Straße 100
  fax:   +49/ (0)5251/ 60 - 3528   D-33098 Paderborn

  email: tuennerm...@get.uni-paderborn.de

  ___
 Qi Hardware Discussion List
 Mail to list (members only): discuss...@lists.en.qi-hardware.com
 Subscribe or Unsubscribe:
 http://lists.en.qi-hardware.com/mailman/listinfo/discussion



 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: ROS on Freerunner

2011-04-19 Thread Jan Tuennermann
I think ROS would not be a benefit for the OpenMoko as a phone, it makes 
it very attractive for application in robotics or other controlling 
applications.


The minimal processing power is a problem when compiling. Compiling the 
base system took a whole night and when ever I compile a new ROS 
package, ROS will automatically compile any packages the wanted want 
depends on and make the phone unusable for hours while compiling. I 
think I need to look into cross-compiling.


I also think there are some optimizations on the ROS side possible. For 
example, there is a lot of logging going on. I think it can be turned 
off...


A slim linux would be good, but it must be ensured that all the base 
dependencies can be satisfied (boots, OpenCV, etc.). Also one of the 
advantages of ROS is, that there are thousands of communities packages 
available that have individual dependencies.  For example, the 
gpsd_pacakges I tried to install will tell the rosmake tool that it 
depends on gpsd and (on debian) it will automatically you apt-get to 
pull and install the package. (However, this did not work for unknown 
reasons on the QtMoko installation, which I had switched to debian 
squeeze source).
I also needed to override the OS identifcation with an environment 
variable 'export ROS_OS_OVERRIDE=debian:squeeze', because QtMoko was 
providing some other identification.


So I think it should use the debian repos, to make as many packages 
available as possible.


A good thing would be a pre-compiled version already installed properly 
in the file system ready to copy on SD, boot and go! All the phone 
functionality could be stripped out, just starting a blank Xserver where 
graphical ROS-nodes can show there widgets. I would have one phone SD 
and one robot SD card then, and never again the phone would ring while 
it drives around on the robot ;)


Jan



Am 19.04.2011 10:27, schrieb RANJAN:
Will be really an awesome and exciting idea..But having to port it 
properly and use the minimal processing power on FR and to decide 
whether one should design a minimal linux specifically to support ROS 
etc would be some key points to begin with..


Sincerely
Ranjan

On Tue, Apr 19, 2011 at 1:10 AM, Dr. H. Nikolaus Schaller 
h...@goldelico.com mailto:h...@goldelico.com wrote:


I think this can also be of interest to the Openmoko community.


Am 19.04.2011 um 09:46 schrieb Jan Tuennermann:


Ron,

thanks for forwarding.  ROS (Robot Operating System) is a kind of
meta operating system. It does not really handle OS functions,
also it is not real time. It's a great concept that boosts
development in the robotic area. It is based on a publisher /
subscriber paradigm; you implement your software as node which
will publish and receive messages. For example, if you wrap a
face detection algorithm or something in a ROS-node, it would
subscribe to image messages and probably publish a custom message
with coordinates of a face, or maybe another image with the face
marked. This node can now receive images from any node that
publishes images. For example, a webcam-node. Or a node that
loads test-data from hard drive or maybe from a 3D-Simulator.
Also, there are a lot of components that already come with ROS.
So if we wanted to display the image with the face marked in it,
we would just need to make an image_view node (comes with ROS) to
subscribe our images. More complex components can display 3D
point-clouds (for example from a laser range finder), etc.  ROS
nodes register with a master and they don't need to be on the
same machine, as they can communicate over network.

Right now I'm trying to get a gpsd_client node to run on the
OpenMoko. On a remote PC a gpsd_viewer node will run, subscribing
gpsFix messages which it will use to display the Moko's location
in a map from the OpenStreetMap project. I'm planning to connect
the Moko to a micro- controler which then controls a RC-car. I
tested this before, so I'm optimistic that I will get it working.
When it works I might add a X-Box kinnect, which is already
supported by ROS to capture 2D and 3D visual information to
enable the RC-car for autonomous driving.

best regards,
Jan





Am 19.04.2011 01:14, schrieb Ron K. Jeffries:

sending this item along seen on the ROS list.

Not sure if OpenMoko folks have already seen it.

A future board similar to SIE nee SAKC would
benefit from a real time OS. This one [ROS]
appears to be open and free and widely supported.

-- Forwarded message --
From: Jan Tuennermann tuennerm...@get.uni-paderborn.de
mailto:tuennerm...@get.uni-paderborn.de
To: ros-us...@code.ros.org mailto:ros-us...@code.ros.org
Date: Mon, 18 Apr 2011 09:28:02 +0200
Subject: [ros-users] ROS running on Neo Freerunner
Hi everyone,

I spent some time on the weekend to get ROS 

Re: ROS on Freerunner

2011-04-19 Thread Neil Jerram
 Am 19.04.2011 um 09:46 schrieb Jan Tuennermann:

 Right now I'm trying to get a gpsd_client node to run on the OpenMoko. On a
 remote PC a gpsd_viewer node will run, subscribing gpsFix messages which it
 will use to display the Moko's location in a map from the OpenStreetMap
 project.

Regarding the part of this problem that involves getting information
out of GPS on the OpenMoko, so that it can be fed across to the
viewer: note that this is very similar to using the OpenMoko as a GPS
receiver and exporting that information to another device over
Bluetooth.  That is well understood and tested now, so if hit any
difficulties in this area, please don't hesitate to come back to this
list and ask.

Regards,
   Neil

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: ROS on Freerunner

2011-04-19 Thread W. B. Kranendonk
--- On Tue, 4/19/11, Neil Jerram neiljer...@gmail.com wrote:
  Am 19.04.2011 um 09:46 schrieb
 Jan Tuennermann:
 
  Right now I'm trying to get a gpsd_client node to run
 on the OpenMoko. On a
  remote PC a gpsd_viewer node will run, subscribing
 gpsFix messages which it

 viewer: note that this is very similar to using the
 OpenMoko as a GPS
 receiver and exporting that information to another device
 over
 Bluetooth.  

Apart from exporting over Bluetooth, will you have an IP connection between the 
devices? I guess so, how else to receive *any* info in the viewer :-)

Anyway: using foxtrotgps for example, I enter the port for gpsd. I always 
expected it to default to localhost if nothing else was supplied; I recall 
using tangogps on a laptop configured to connect to IP:port of the Freerunner 
that was traveling with family and connected via GPRS. That's a while ago 
though and time and alcohol made the memory not too detailed ;-)

Boudewijn

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: ROS on Freerunner

2011-04-19 Thread Jiří Pinkava



Dne 19.4.2011 10:55, Jan Tuennermann napsal(a):

I think ROS would not be a benefit for the OpenMoko as a phone, it makes
it very attractive for application in robotics or other controlling
applications.

The minimal processing power is a problem when compiling. Compiling the
base system took a whole night and when ever I compile a new ROS
package, ROS will automatically compile any packages the wanted want
depends on and make the phone unusable for hours while compiling. I
think I need to look into cross-compiling.

Cross-compiling might be painfull, suggest use of qemu on powerfull machine.


I also think there are some optimizations on the ROS side possible. For
example, there is a lot of logging going on. I think it can be turned
off...

A slim linux would be good, but it must be ensured that all the base
dependencies can be satisfied (boots, OpenCV, etc.). Also one of the
advantages of ROS is, that there are thousands of communities packages
available that have individual dependencies. For example, the
gpsd_pacakges I tried to install will tell the rosmake tool that it
depends on gpsd and (on debian) it will automatically you apt-get to
pull and install the package. (However, this did not work for unknown
reasons on the QtMoko installation, which I had switched to debian
squeeze source).
I also needed to override the OS identifcation with an environment
variable 'export ROS_OS_OVERRIDE=debian:squeeze', because QtMoko was
providing some other identification.

So I think it should use the debian repos, to make as many packages
available as possible.

A good thing would be a pre-compiled version already installed properly
in the file system ready to copy on SD, boot and go! All the phone
functionality could be stripped out, just starting a blank Xserver where
graphical ROS-nodes can show there widgets. I would have one phone SD
and one robot SD card then, and never again the phone would ring while
it drives around on the robot ;)

Jan



Am 19.04.2011 10:27, schrieb RANJAN:

Will be really an awesome and exciting idea..But having to port it
properly and use the minimal processing power on FR and to decide
whether one should design a minimal linux specifically to support ROS
etc would be some key points to begin with..

Sincerely
Ranjan

On Tue, Apr 19, 2011 at 1:10 AM, Dr. H. Nikolaus Schaller
h...@goldelico.com mailto:h...@goldelico.com wrote:

I think this can also be of interest to the Openmoko community.


Am 19.04.2011 um 09:46 schrieb Jan Tuennermann:


Ron,

thanks for forwarding. ROS (Robot Operating System) is a kind of
meta operating system. It does not really handle OS functions,
also it is not real time. It's a great concept that boosts
development in the robotic area. It is based on a publisher /
subscriber paradigm; you implement your software as node which
will publish and receive messages. For example, if you wrap a
face detection algorithm or something in a ROS-node, it would
subscribe to image messages and probably publish a custom message
with coordinates of a face, or maybe another image with the face
marked. This node can now receive images from any node that
publishes images. For example, a webcam-node. Or a node that
loads test-data from hard drive or maybe from a 3D-Simulator.
Also, there are a lot of components that already come with ROS.
So if we wanted to display the image with the face marked in it,
we would just need to make an image_view node (comes with ROS) to
subscribe our images. More complex components can display 3D
point-clouds (for example from a laser range finder), etc. ROS
nodes register with a master and they don't need to be on the
same machine, as they can communicate over network.

Right now I'm trying to get a gpsd_client node to run on the
OpenMoko. On a remote PC a gpsd_viewer node will run, subscribing
gpsFix messages which it will use to display the Moko's location
in a map from the OpenStreetMap project. I'm planning to connect
the Moko to a micro- controler which then controls a RC-car. I
tested this before, so I'm optimistic that I will get it working.
When it works I might add a X-Box kinnect, which is already
supported by ROS to capture 2D and 3D visual information to
enable the RC-car for autonomous driving.

best regards,
Jan





Am 19.04.2011 01:14, schrieb Ron K. Jeffries:

sending this item along seen on the ROS list.

Not sure if OpenMoko folks have already seen it.

A future board similar to SIE nee SAKC would
benefit from a real time OS. This one [ROS]
appears to be open and free and widely supported.

-- Forwarded message --
From: Jan Tuennermann tuennerm...@get.uni-paderborn.de
mailto:tuennerm...@get.uni-paderborn.de
To: ros-us...@code.ros.org mailto:ros-us...@code.ros.org
Date: Mon, 18 Apr 2011 09:28:02 +0200
Subject: [ros-users] ROS running