Re: ROS on Freerunner
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
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
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
--- 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
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
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
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
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
--- 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
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