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

Blizzard's profile - activity

2017-03-03 10:00:49 -0500 received badge  Taxonomist
2015-08-25 04:53:38 -0500 received badge  Famous Question (source)
2014-12-09 08:43:45 -0500 received badge  Notable Question (source)
2014-12-09 08:43:45 -0500 received badge  Popular Question (source)
2014-09-30 19:48:02 -0500 received badge  Famous Question (source)
2014-09-03 06:31:45 -0500 asked a question transparent stl meshes in rviz

Hello,

i'm using stl-files to visualize a car model in rviz. Unfortunately since upgrade to ROS indigo the windows are not transparent any more. There seems to be a problem with the alpha channel.

The current color setting for the windows is:

  windows.color.a = 0.25;
  windows.color.r = 0.0;
  windows.color.g = 0.0;
  windows.color.b = 0.0;

Any help or maybe some fix or workaround would be appreciated.

2014-06-25 13:51:37 -0500 received badge  Notable Question (source)
2014-03-25 23:08:53 -0500 received badge  Popular Question (source)
2014-03-24 06:56:32 -0500 marked best answer ros::Timer leads to boost::lock_error at process cleanup

Hello again,

in my Program i use different classes with inheritance. Everything works fine until i end the process (Ctrl C). Then it throws the following error:

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
  what():  boost::lock_error

The class structure is organized as follows:

|---------------------------------------------------------|
| AdditionalObject                                        |
|---------------------------------------------------------|



|---------------------------------------------------------|
| BaseObject                                              |
|---------------------------------------------------------|
| boost::shared_ptr<AdditionalObject> m_additional_object |
|---------------------------------------------------------|
                             A
                             |
                             |
|---------------------------------------------------------|
| Object                                                  |
|---------------------------------------------------------|

I created a minimal example that reproduces that error:

#include <ros/ros.h>

// ***************************** class AdditionalObject *****************************
class AdditionalObject
{
public:
  AdditionalObject();

private:
  void timerCallback(const ros::TimerEvent& event);
  ros::NodeHandlePtr m_n;
  ros::Timer  m_timer;
};

AdditionalObject::AdditionalObject()
{
  m_n = boost::shared_ptr<ros::NodeHandle>(new ros::NodeHandle());
  m_timer = m_n->createTimer(ros::Duration(1), &AdditionalObject::timerCallback, this);
}

void AdditionalObject::timerCallback(const ros::TimerEvent &event)
{
  std::cout << "beep" << std::endl;
}

// ******************************* class BaseObject *******************************
class BaseObject
{
public:
  BaseObject(boost::shared_ptr<AdditionalObject> additional_object);

private:
  boost::shared_ptr<AdditionalObject> m_additional_object;
};

BaseObject::BaseObject(boost::shared_ptr<AdditionalObject> additional_object) : m_additional_object(additional_object) { }

// ********************************** class Object **********************************
class Object : public BaseObject
{
public:
  Object(boost::shared_ptr<AdditionalObject> additional_object);
};

Object::Object(boost::shared_ptr<AdditionalObject> additional_object) : BaseObject(additional_object) { }

// **********************************************************************************

// public variables
boost::shared_ptr<Object> object;
boost::shared_ptr<AdditionalObject> additional_object;

int main(int argc, char **argv)
{
  ros::init(argc, argv, "minimal_example");
  ros::NodeHandle n;

  additional_object = boost::shared_ptr<AdditionalObject>(new AdditionalObject());
  object = boost::shared_ptr<Object>(new Object(additional_object));

  ros::spin();
  return 0;
}

I'm using ROS Hydro on Kubuntu 12.04. Any help would be appreciated.

2014-03-24 06:56:27 -0500 commented answer ros::Timer leads to boost::lock_error at process cleanup

Well, learning never stops. Thank you for your help.

2014-02-27 14:12:48 -0500 commented answer What am i doing wrong with ros::timer in rqt?

Thank you very much. Now it works like expected. Will these two branches be merged into future versions of rqt and qt_gui_core? I hope so.

2014-02-27 12:27:55 -0500 received badge  Famous Question (source)
2014-02-26 07:28:21 -0500 received badge  Notable Question (source)
2014-02-24 21:38:31 -0500 received badge  Popular Question (source)
2014-02-23 09:32:08 -0500 asked a question What am i doing wrong with ros::timer in rqt?

Hello,

i have some problems with making the ros::timer work. Usually if i need a timer within a class i add these three lines to the header:

  void timerCallback(const ros::TimerEvent& event);
  ros::Timer m_timer;
  ros::NodeHandle m_nh;

and in the cpp file i add this line for example to the constructor:

m_timer = m_nh.createTimer(ros::Duration(1), &MyClass::timerCallback, this);

Last but not least i add a callback function to the cpp:

void MyClass::timerCallback(const ros::TimerEvent& event)
{
  // something that has to be done frequently
  ROS_INFO("Beep");
}

Unfortunatly it does not work this way in an rqt plugin. For some reason the callback function is never thrown. Please help me with that. I'm using ROS Hydro on Kubuntu 12.04.

2013-10-15 04:08:31 -0500 received badge  Famous Question (source)
2013-09-01 20:59:59 -0500 received badge  Notable Question (source)
2013-09-01 09:08:40 -0500 commented answer What hardware is required to work with a kinect and rviz?

This gives me more safety in my decision for a new laptop. Thank you for your detailed answer.

2013-09-01 04:13:34 -0500 received badge  Popular Question (source)
2013-08-31 01:49:29 -0500 asked a question What hardware is required to work with a kinect and rviz?

Hello,

for my master thesis i will have to scan a lot of people with a kinect, record the data to bag-files and visualize the rgb-pointcloud with rviz. To do that i'd like to buy a new laptop. My Question is what hardware i will need to do that. I guess an intel i5 processor, 8 GB of RAM and an SSD will be enought. But what about the graphics card? Has it to be a dedicated graphics chip or is an integrated intel hd 4000 ok?

If you have worked on a laptop with a kinect and rviz, please let me know what hardware you are using and how smooth it works.

Thanks in advance, Blizzard

2013-08-29 23:18:51 -0500 commented answer registered depth image is black

After three frustrating days of trying to make depth registration work i finally found your post. Now it works. Thank you! Thank you! Thank you! (I'm using Kubuntu 12.04.2 lts 64 bit and ROS fuerte)

2013-07-04 11:06:36 -0500 received badge  Teacher (source)
2013-07-04 11:06:36 -0500 received badge  Self-Learner (source)
2013-04-15 01:29:15 -0500 marked best answer Problem with message_filters::cache

Hello,

i am trying to cache messages of a topic. Unfortunately i can't compile it.

I've read these examples yet:

http://www.ros.org/wiki/message_filters#Cache

http://mirror.umd.edu/roswiki/doc/unstable/api/message_filters/html/c++/

Thats a minimal example of my code:

#include "ros/ros.h"
#include "message_filters/subscriber.h"
#include "message_filters/cache.h"
#include "std_msgs/Int16.h"

void some_function (std_msgs::Int16 i)
{
    std::cout << "i = " << i.data << std::endl;
}

int main(int argc, char **argv)
{
    ros::init(argc, argv, "caching_example");
    ros::NodeHandle nh;

    message_filters::Subscriber<std_msgs::Int16> sub(nh, "some_topic", 1);
    message_filters::Cache<std_msgs::Int16> cache(sub, 100);

    cache.registerCallback(some_function);

    ros::spin();
}

The compiler output is:

blizzard@Blizzard-Kubuntu:~$ rosmake caching_example 
[ rosmake ] rosmake starting...
[ rosmake ] Packages requested are: ['caching_example']
[ rosmake ] Logging to directory /home/blizzard/.ros/rosmake/rosmake_output-20120911-224838
[ rosmake ] Expanded args ['caching_example'] to:
['caching_example']
[rosmake-0] Starting >>> roslang [ make]
[rosmake-0] Finished <<< roslang  No Makefile in package roslang
[rosmake-0] Starting >>> roscpp [ make ]
[rosmake-0] Finished <<< roscpp  No Makefile in package roscpp
[rosmake-0] Starting >>> caching_example [ make ]
[ rosmake ] Last 40 linesching_example: 16.8 sec ]
Active 2/3 Complete ]
{-------------------------------------------------------------------------------
  make[1]: Entering directory `/home/blizzard/ROS/caching_example/build'
  make[2]: Entering directory `/home/blizzard/ROS/caching_example/build'
  make[3]: Entering directory `/home/blizzard/ROS/caching_example/build'
  make[3]: Leaving directory `/home/blizzard/ROS/caching_example/build'
  [  0%] Built target rospack_genmsg_libexe
  make[3]: Entering directory `/home/blizzard/ROS/caching_example/build'
  make[3]: Leaving directory `/home/blizzard/ROS/caching_example/build'
  [  0%] Built target rosbuild_precompile
  make[3]: Entering directory `/home/blizzard/ROS/caching_example/build'
  make[3]: Leaving directory `/home/blizzard/ROS/caching_example/build'
  make[3]: Entering directory `/home/blizzard/ROS/caching_example/build'
  [100%] Building CXX object CMakeFiles/someTest.dir/src/test.o
  In file included from /opt/ros/fuerte/include/message_filters/subscriber.h:44:0,
                   from /home/blizzard/ROS/caching_example/src/test.cpp:2:
  /opt/ros/fuerte/include/message_filters/simple_filter.h: In member function ‘message_filters::Connection message_filters::SimpleFilter<M>::registerCallback(void (*)(P)) [with P = std_msgs::Int16_<std::allocator<void> >, M = std_msgs::Int16_<std::allocator<void> >]’:
  /home/blizzard/ROS/caching_example/src/test.cpp:19:41:   instantiated from here
  /opt/ros/fuerte/include/message_filters/simple_filter.h:96:100: error: no matching function for call to ‘message_filters::Signal1<std_msgs::Int16_<std::allocator<void> > >::addCallback(void (*&)(std_msgs::Int16_<std::allocator<void> >))’
  /opt/ros/fuerte/include/message_filters/simple_filter.h:96:100: note: candidate is:
  /opt/ros/fuerte/include/message_filters/signal1.h:91:22: note: template<class P> message_filters::Signal1<M>::CallbackHelper1Ptr message_filters::Signal1::addCallback(const boost::function<void(P)>&) [with P = P, M = std_msgs::Int16_<std::allocator<void> >, message_filters::Signal1<M>::CallbackHelper1Ptr = boost::shared_ptr<message_filters::CallbackHelper1<std_msgs::Int16_<std::allocator<void> > > >]
  In file included from /home/blizzard/ROS/caching_example/src/test.cpp:3:0:
  /opt/ros/fuerte/include/message_filters/cache.h: In member function ‘void message_filters::Cache<M>::add(const EventType&) [with M = std_msgs::Int16_<std::allocator<void> >, message_filters::Cache<M>::EventType = ros::MessageEvent<const std_msgs::Int16_<std::allocator<void> > >]’:
  /opt/ros/fuerte/include/message_filters/cache.h:330:5:   instantiated from ‘void message_filters::Cache<M>::callback(const EventType&) [with ...
(more)