rapyuta-mapping

241 views
Skip to first unread message

Devasena Prasad

unread,
Jul 31, 2013, 7:25:54 PM7/31/13
to rap...@googlegroups.com
Hi Team,

I was trying to use rapyuta-mapping package for 3D mapping in the cloud. While performing rosmake on rm_localization, I got few errors related to setInt function not found in cv::FeatureDetector and cv::DescriptorExtractor classes. When I checked, they are not present in feature2d.hpp file of opencv.

I tried with OpenCV 2.4.6 version but this function declaration was missing in that version too. Could you please let me know which version of OpenCV should I use or anything else that needs to be done before making this package.

Thanks and Regards,
Devasena

Dhananjay Sathe

unread,
Aug 1, 2013, 1:27:55 AM8/1/13
to Devasena Prasad, rap...@googlegroups.com
Hello Devasena 

Could you please email the entire debug output (preferably a pastebin link) , there are known changes in openCV 246 about this , will go a long way in helping out.
 Also mention configuration you used, what other version did you try other than 2.4.6 ?
Cheers !

Final Yr Undergraduate , BITS Pilani, Goa.
Research Assistant , RoboEarth Project
Institute for Dynamic Systems and Control,
ETH Zürich, Switzerland.

Dhananjay Sathe

unread,
Aug 1, 2013, 1:37:05 AM8/1/13
to Devasena Prasad, rapyuta
Try adding this to include/util.h

#include "opencv2/nonfree/nonfree.hpp"

May also require this , not too sure.
#include "opencv2/photo/photo.hpp" 

D

Devasena Prasad

unread,
Aug 1, 2013, 4:35:33 AM8/1/13
to rap...@googlegroups.com
Hi,

Yes, please find paste bin link below:

http://pastebin.com/embed_js.php?i=xPBaGAFy

And I tried with OpenCV 2.4.2. And I tried by including nonfree.hpp but still getting same error.

Also, before trying OpenCV 2.4.5 which I found that it addresses " setInt missing " issue because of updates in OpenCV (probably 2 months back, this was reported), I checked for this function here - https://github.com/Itseez/opencv/tree/2.4.5/modules  but couldn't find.

Could you please suggest something.

Thanks,
Devasena

Vladyslav Usenko

unread,
Aug 1, 2013, 5:21:46 AM8/1/13
to rap...@googlegroups.com
Hello Devasena,

I'm using ros-groovy-opencv2 package from ros repository and it works fine for me. The version is ros-groovy-opencv2_2.4.6-0precise-20130721-1609-+0000_amd64.deb . setInt is a method of cv::Algorithm class defined in core.hpp and cv::FeatureDetector and cv::DescriptorExtractor are subclasses of it.

Please note that the rapyuta-mapping is still in active development and has not been released yet, so the code is constantly changing and updating.

Vlad.

Devasena Prasad

unread,
Aug 1, 2013, 7:27:12 PM8/1/13
to rap...@googlegroups.com
Hi Vlad,

Ok. Thank you !! Yeah, I found this and tried again but didn't work. Not sure why.
But I need some more information on certain things like the ones below:

I want to use rapyuta cloud engine for few of simple things first before proceeding on using it for 3D mapping. I created a simple obstacle avoidance algorithm for one turtlebot. While I run this code for that bot, I will be recording it's path (few keypoints) through rosbag. So, Can I upload this rosbag file to cloud engine so that it's available for some other bot to use that recorded rosbag file, and follow the path recorded in that file ? (By keeping my obstacle avoidance package in ~/packages  folder of rce ) ?


Thanks and Regards,
Devasena

Vladyslav Usenko

unread,
Aug 2, 2013, 5:27:03 AM8/2/13
to rap...@googlegroups.com
Hi Devasena,

I think it is possible to upload rosbag file, but I don't think it's easy to operate with rosbags in rapyuta  I you are interested in just in storing data and sharing it between several robots I would use ros topics or services. For example, you can write a node that listens to a topic, saves all messages from it and provides a service to get all the data to all other robots.

But I think if you just interested in copying rosbag files from one robot to another you can find easier solutions than rapyuta. If the robots are in the same network you can try scp.

The application that can benefit from rapyuta the most are ones that require some computations between receiving data and sending it back to robot. Then, this computations can run on the cloud, probably much faster then on the robot. So if you run some intermediate computations on the data from rosbag file, you can probably outsource it to the cloud.

Cheers,
Vlad.




On Thursday, August 1, 2013 1:25:54 AM UTC+2, Devasena Prasad wrote:

Devasena Prasad

unread,
Aug 2, 2013, 11:02:05 AM8/2/13
to rap...@googlegroups.com
Hi Vlad,

Thank You.

Also, I was trying barcode tutorial and followed all the steps in order given but when I run ros client, nothing is getting displayed. It should display bar-code. And please let me know which config file does this mean --> "Don't forget to update the ip in your config file". Is it barcode.cfg ?

Because when I tried testing installation with simple Test package, it worked fine without changing any ip address.

Thanks,
Devasena
Screenshot from 2013-08-02 15:53:56.png
Screenshot from 2013-08-02 15:54:07.png
Screenshot from 2013-08-02 15:54:14.png
Screenshot from 2013-08-02 15:54:26.png
Screenshot from 2013-08-02 15:54:32.png
Screenshot from 2013-08-02 15:54:46.png

Devasena Prasad

unread,
Aug 2, 2013, 11:03:34 AM8/2/13
to rap...@googlegroups.com
P.S. I have attached screen shots of the logs from different processes prior to rce-ros.

Dominique Hunziker

unread,
Aug 2, 2013, 11:26:09 AM8/2/13
to rap...@googlegroups.com


---------- Forwarded message ----------
From: Dominique Hunziker <dominique...@gmail.com>
Date: 2013/8/2
Subject: Re: rapyuta-mapping
To: Devasena Prasad <devasen...@gmail.com>


Hi Devasena,

"Don't forget to update the ip in your config file" refers to the barcode.cfg file, yes. However, this does not seem to be the problem ('localhost' is the default for these config files). rce-ros is able to create the container properly and I guess the barcode node is not running properly. Can you add the log file for the environment process (either ssh into the container '/opt/rce/data/env.log' or directly from the host '[path to container]/container/data/[ID of container, eg C101]/rce/env.log')? Is there an error when launching the scanner node or is there a notification that the process has ended again? If the process has been started properly, then there should be other logfiles (one stdout & one stderr of the started process) in the same location as env.log.

Dominique


2013/8/2 Devasena Prasad <devasen...@gmail.com>

Dominique Hunziker

unread,
Aug 2, 2013, 11:38:30 AM8/2/13
to Devasena Prasad, rap...@googlegroups.com
Hi Devasena,

To clarify this issue of storing data in the cloud:
In the current setting a ROS node is not able to store any data persistently on the file system. All the folders a ROS node has write access to in a container are temporary folders which are deleted once the container is stopped. Actually there is only one folder where a ROS node has write access: the HOME folder of the ROS node user (currently 'rce'; '/opt/rce/data'); of course there is '/tmp' but this folder should not be used for persistent storage either.

The idea here is that a database (namely the RoboEarth Database) is used for persistent storage. However, I think this is a bit of an overkill in a lot of cases, therefore, I suggest to make another folder in the container system writeable, just be careful that this folder will be shared by all containers without some further tinkering.

Dominique


2013/8/2 Devasena Prasad <devasen...@gmail.com>
Hi Vlad,

Devasena Prasad

unread,
Aug 2, 2013, 7:35:19 PM8/2/13
to rap...@googlegroups.com
Hi Dominique,

Please find env.log and err.log files attached herewith. I could find out from err log file that re_srvs.srv couldn't be found. And this is the same issue that I raised earlier that if I don't rosmake packages (re_srvs and barcode_cloud) on local system as well along with rosmaking them in container file system, system throws such error.

Now when I tried "rosmake re_srvs and rosmake barcode_cloud " on local system as well, it worked fine and returned barcodes. All the screenshots are attached herewith.

Thanks,
Devasena
6c6f4001cc4b400abf10d613acc415b0-zbarScanner.py-err.log
env.log
Screenshot from 2013-08-03 00:29:31.png

Dhananjay Sathe

unread,
Aug 3, 2013, 10:21:48 AM8/3/13
to Dominique Hunziker, rapyuta

Hey I am out for this weekend , I'll look into it in detail and publish a fix asap

- Sent from my Android Mobile Device. Pardon the brevity.

On Aug 3, 2013 5:29 AM, "Dominique Hunziker" <dominique...@gmail.com> wrote:
Hey guys,

Do you have an explanation for this behaviour, ie why do the packages in the host filesystem have to be complied as well?
As long as the rce-ros client is used the ROS message definition aren't even loaded in the RobotEndpoint (they are only loaded in the in case a Converter interface is used...), which could explain why the messages definition has to be available in the host machine. Furthermore, the message definitions are required to launch the rce-ros client, but then you would get an error there and not in the in the container.

I assume that the faulty povisioning has somehow screwed up the system (I guess it's still the system where ROS had to be installed manually, after this strange error with /opt/ros/fuerte/setup.sh not found during the provisioning...).

What do you think?

Dominique

Dhananjay Sathe

unread,
Aug 28, 2013, 1:34:47 PM8/28/13
to rap...@googlegroups.com, Dominique Hunziker
Hey could you explain what you mean by 
"
I assume that the faulty provisioning has somehow screwed up the system (I guess it's still the system where ROS had to be installed manually, after this strange error with /opt/ros/fuerte/setup.sh not found during the provisioning...).
"
I didn't see this error anywhere , how would he provisioning affect this requirement of the package in the host system ?

Dominique Hunziker

unread,
Aug 28, 2013, 1:50:46 PM8/28/13
to Dhananjay Sathe, rap...@googlegroups.com
Hmm... This is already a month old ;)

The problem here was that for some reason ROS was not installed in the container (?). (Was the topic of another thread in the mailing list: https://groups.google.com/forum/#!topic/rapyuta/UAWFHZ2Rk-I ). In the end tracking the problem is extremely difficult, as we don't exactly know the setup of the system (also I guess there is the problem of the nomenclature which might be off when discussing these issues...)

My conclusion of this is that we need better error handling in the provision phase of the container. The question here would be what would be appropriate reactions to errors which can occur...

Nishant Kejriwal

unread,
Jan 8, 2014, 8:12:19 AM1/8/14
to rap...@googlegroups.com
Hey devasensa,

I have been trying to run barcode tutorial and i am not getting in the barcode extraction step at the client side.
As written in your last comment, you have been able to solve this issue by compiling on local system.
But when i compile it on my system , it gives cmake error due to different CMakeCache.txt directory {one in container and other in local system}.
Kindly help.

Thanks in advance
Nishant

Devasena Prasad

unread,
Jan 9, 2014, 4:43:50 AM1/9/14
to rap...@googlegroups.com
Hi Nishant,

Are you doing "make" in your local as well as container system ? The CMake error that you're getting is because of binaries getting created in wrong place. You need to either edit CMakeCache.txt file or delete the cache and re-create it.

Could you please paste the exact error that you're getting in pastebin and send the pastebin link. Are you getting the error while doing "make" for the barcode package in the container system?

Regards,
Devasena

zhaopen...@gmail.com

unread,
Dec 11, 2015, 8:32:59 AM12/11/15
to rapyuta
Hello Devasena
Could you tell me How I can use the code of Rapyuta-mapping?Is it divided into two part?One is be located into Cloud and another is located in PC?I am very confused now.
Thanks,
Peng


在 2013年8月1日星期四 UTC+8上午7:25:54,Devasena Prasad写道:
Reply all
Reply to author
Forward
0 new messages