ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

andreas's profile - activity

2017-10-04 09:08:59 -0500 received badge  Nice Question (source)
2014-02-26 00:51:14 -0500 answered a question Assertion Failed when trying to publish on a ROS topic

I had the exact same problem when running this code here

http://ftp.isr.ist.utl.pt/pub/roswiki/doc/api/yarp_to_ros_image/html/yarp__to__ros__image_8cpp_source.html

(On Fuerte)

It worked for me when compiling yarp with the standard CMakelist settings. ( Before I used the instructions here http://wiki.icub.org/wiki/YARP_ROS_In... )

Cheers, Andreas

2014-01-28 17:26:20 -0500 marked best answer Time Synchronizer with more than 9 incoming channels

Hi,

I need to synchronize 32 image topics, which then trigger one common callback function. Unfortunately message_filters::TimeSynchronizer only supports up to 9 topics, and so does message_filters::sync_policies::ApproximateTime. I found a note to a DynamicTimeSynchronizer in the source code, but apparently it's not implemented yet. Is there an easy solution / workaround?

Cheers, Andreas

Btw: Is there a reason why the number of topics is hard coded?

2014-01-28 17:23:05 -0500 marked best answer unable to use image_view with eletric

Hi all,

I seem to have the same problem as described here http://comments.gmane.org/gmane.science.robotics.ros.user/14394

I run uvc_cam and then try to view the image but end up with

  rosrun image_view image_view image:=/camera/image_raw
init done 
opengl support available 

(<unknown>:2222): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkWidget'

(<unknown>:2222): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(<unknown>:2222): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

It works fine in diamondback. Any ideas?

Cheers, Andreas

2014-01-28 17:22:42 -0500 marked best answer roscpp relative parameter

Hi,

I somehow can't manage to get or search relative parameter names. What I do is, I launch a launch file which sets parameters.

<launch>
  <node pkg="test" type="test_node" name="test_node"> 
    <param name="testparameter" value="a" />
    <param name="show_windows" value="true" />
    <rosparam file="$(find test)/config/params.yaml" command="load"/>
  </node>
</launch>

This all works, I can get and set parameters using rosparam via the shell. They are published over e.g. /test_node/orientations, /test_node/kernels/kernel_1/wavelength, /test_node/kernels/kernel_2/wavelength and so on. Now within the test node I want to read those parameter. But when I try

nh_.getParam("orientations", orientations_list);

The parameter won't be found, I have to explicitly name the whole global name "/test_node/orientations". I have the same issue with

nh_.searchParam("orientations", orientations_param_name);

Am I doing something wrong? Is there a way to get the current namespace the node is in as a workaround?

(I'm using Ubuntu 10.04.1, 64 bit with the standard ros diamondback package from the package manager)

2013-09-20 01:40:29 -0500 answered a question uvc_camera not launching in ros groovy.

There is no uvc_camera package included in groovy, I don't know why. It appears again in hydro.

However there's a package in the repository called ros-groovy-usb-cam. Install, then run "rosrun usb-cam usb_cam_node" Alternatively you can also use ros-groovy-gscam (http://wiki.ros.org/gscam).

(Related question and more detailed answers: http://answers.ros.org/question/57320/package-for-simple-usb-web-camera-in-groovy/)

2013-06-25 23:17:50 -0500 marked best answer Eclipse ROS fuerte

Hi guys,

I did exactly as described here http://www.ros.org/wiki/IDEs to import my ROS package to Eclipse. It compiles and runs without problems using the shell, but when using "Build Project" in Eclipse I only get:

/usr/bin/make all  
rospack: error while loading shared libraries: librospack.so: cannot open shared object file: No such file or directory 
Makefile:1: /cmake.mk: No such file or directory 
make: *** No rule to make target `/cmake.mk'.  Stop.

I don't see where the problem is. I checked the environment variables and they are fine.

Cheers, Andreas

2012-12-15 07:43:31 -0500 received badge  Taxonomist
2012-11-09 11:51:45 -0500 received badge  Famous Question (source)
2012-11-08 04:08:49 -0500 answered a question ROS electric installation problem

Just had to struggle with the same problem and found a solution:

sudo apt-get install libeigen3-dev=3.0.1-1+ros4~lucid

Then

sudo apt-get install ros-electric-desktop-full
2012-10-15 02:43:51 -0500 received badge  Notable Question (source)
2012-10-03 02:32:00 -0500 received badge  Popular Question (source)
2012-10-02 04:31:10 -0500 commented answer Synchronization with 8 incoming channels, registerCallback boost::bind -> compilation error

Or maybe is it possible to somehow use registerCallback without bind?

2012-10-02 04:27:12 -0500 commented answer Synchronization with 8 incoming channels, registerCallback boost::bind -> compilation error

It works with 6 and works with 7. I will try it with the functor object, or just split the callback up to twice four channels. Thanks!

2012-10-02 03:55:42 -0500 commented question Synchronization with 8 incoming channels, registerCallback boost::bind -> compilation error

As I just added, might it be possible, that the problem is occurring due to boost 1.46 and not 1.48?

2012-10-02 03:43:53 -0500 commented question Synchronization with 8 incoming channels, registerCallback boost::bind -> compilation error

Ups sorry, just changed it.

2012-10-02 03:34:13 -0500 commented question Synchronization with 8 incoming channels, registerCallback boost::bind -> compilation error

complete error message added :) I hope it helps.

2012-10-02 02:57:03 -0500 edited question Synchronization with 8 incoming channels, registerCallback boost::bind -> compilation error

Hi all,

UPDATE: I found a workaround which I posted at the end of this question

I try to use ApproximateTime Synchronization with 8 channels, but I get a compilation error. Strangely it works with 4.

Here's some of the code: (The error is at sync_->registerCallback(boost::bind(&S2::filter_image, this, _1, _2, _3, _4, _5, _6, _7, _8, "ok")); )

class S2 {
    ros::NodeHandle nh_;

    image_transport::ImageTransport image_transporter_;
    boost::unordered_map<std::string, boost::shared_ptr<image_transport::SubscriberFilter> > response_; //images from C1

    //Synchronizer
    typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::Image, sensor_msgs::Image,
        sensor_msgs::Image, sensor_msgs::Image,
        sensor_msgs::Image, sensor_msgs::Image,
        sensor_msgs::Image, sensor_msgs::Image> syncPolicy;


    typedef message_filters::Synchronizer<syncPolicy> mySynchronizer;
    boost::shared_ptr<mySynchronizer>  sync_;

public:

    S2(ros::NodeHandle nh): image_transporter_(nh) {
        nh_ = nh;
        read_parameters();
    }

    void read_parameters(){


    //Subscribe to C1 images

            sync_.reset( new mySynchronizer ( syncPolicy(10),
                *C1_response_[subscribe_strings.at(0)].get(),
                *C1_response_[subscribe_strings.at(1)].get(),
                    *C1_response_[subscribe_strings.at(2)].get(),
                    *C1_response_[subscribe_strings.at(3)].get(),
                    *C1_response_[subscribe_strings.at(4)].get(),
                    *C1_response_[subscribe_strings.at(5)].get(),
                    *C1_response_[subscribe_strings.at(6)].get(),
                    *C1_response_[subscribe_strings.at(7)].get()));             
            sync_->registerCallback(boost::bind(&S2::filter_image, this,  _1, _2, _3, _4, _5, _6, _7, _8, "ok"));




    }


    void filter_image(const sensor_msgs::ImageConstPtr& original_image1, const sensor_msgs::ImageConstPtr& original_image2,
            const sensor_msgs::ImageConstPtr& original_image3, const sensor_msgs::ImageConstPtr& original_image4,std::string name){

    }

};

int main(int argc, char **argv){

  ros::init(argc, argv, "S2_node");
  ros::NodeHandle nh;

    S2 s2(nh);
ros::spin();
    return 0;
}

The error I get is:

S2_new_node.cpp: In member function ‘void S2::read_parameters()’:
S2_new_node.cpp:88:102: error: no matching function for call to ‘bind(void (S2::*)(const ImageConstPtr&, const ImageConstPtr&, const ImageConstPtr&, const ImageConstPtr&, std::string), S2* const, boost::arg<1>&, boost::arg<2>&, boost::arg<3>&, boost::arg<4>&, boost::arg<5>&, boost::arg<6>&, boost::arg<7>&, boost::arg<8>&, const char [3])’
/work/ros/hmax/src/S2_new_node.cpp:88:102: note: candidates are:
/usr/include/boost/bind/bind.hpp:1298:5: note: template<class R, class F> boost::_bi::bind_t<R, F, boost::_bi::list0> boost::bind(F)
/usr/include/boost/bind/bind.hpp:1306:5: note: template<class R, class F, class A1> boost::_bi::bind_t<R, F, typename boost::_bi::list_av_1<A1>::type> boost::bind(F, A1)
/usr/include/boost/bind/bind.hpp:1314:5: note: template<class R, class F, class A1, class A2> boost::_bi::bind_t<R, F, typename boost::_bi::list_av_2<A1, A2>::type> boost::bind(F, A1, A2)
/usr/include/boost/bind/bind.hpp:1322:5: note: template<class R, class F, class A1, class A2, class A3> boost::_bi::bind_t<R, F, typename boost::_bi::list_av_3<A1, A2, A3>::type> boost::bind(F, A1, A2, A3)
/usr/include/boost/bind/bind.hpp:1330:5: note: template<class R, class F, class A1, class A2, class A3, class A4> boost::_bi::bind_t<R, F, typename boost::_bi::list_av_4<A1, A2, A3, A4>::type> boost::bind(F, A1, A2, A3, A4)
/usr/include/boost/bind/bind.hpp:1338:5: note: template<class R, class F, class A1, class ...
(more)
2012-10-02 02:56:10 -0500 received badge  Editor (source)