Ask Your Question

Tsirif's profile - activity

2018-01-31 15:48:47 -0600 received badge  Enlightened (source)
2018-01-31 15:48:47 -0600 received badge  Good Answer (source)
2016-08-25 03:46:47 -0600 received badge  Nice Answer (source)
2015-03-08 06:39:58 -0600 received badge  Enthusiast
2015-03-02 18:22:09 -0600 received badge  Famous Question (source)
2014-12-29 11:37:47 -0600 received badge  Good Question (source)
2014-12-29 09:12:50 -0600 received badge  Supporter (source)
2014-12-19 18:00:00 -0600 received badge  Notable Question (source)
2014-12-19 09:12:36 -0600 received badge  Popular Question (source)
2014-12-19 06:47:31 -0600 received badge  Nice Question (source)
2014-12-19 06:25:45 -0600 asked a question Why ROS messages do not inherit from a base class??

Hello there!

I am a software engineer and I try to design a general message-type-agnostic multiple socket node interface that wraps a NodeHandle and also i have the demand to make it able to change these dynamically on the runtime using an interface that we have developed. This inteface, named StateClient, is implemented by someone who wants to hear about state changes in the system. A StateServer is announcing to all subscribers the state change and to which state we are entering, in order for nodes that are StateClients to change behaviour on the runtime. An example of what i want to do:

Suppose that our system works properly being in state 2. Our example node is the system NodeExample and is subscribed to some concrete topics of concrete message types, publishes other concrete message types to concrete topics and also uses a concrete method of processing the input data to transform them into output data in a functional way, such as when processing raw data in order to detect something or to transform them. Then let's say that state changes to state 3. In this state i want to change the postprocessing of the data in order to form a different output message type that will be delivered to a different topic. In state 4, i may want to change my subscriber options instead and subscribe plus to another topic of some type and change naturally the preprocessing of the input data.

I find this task extremely difficult because of the way ROS messages are implemented. If ROS messages inherited from a base class things would be easier because all subscribers would then refer to that base message type and i could easily with a bridge pattern define the concrete message type on runtime. ROS messages are not implemented like this unfortunately, so i try to find a solution using template metaprogramming (using boost.variant??) or function-binding to some dynamic language, such as python (with boost.python).

Long story short: How come ROS messages do not inherit from a standard common base container? How could one implement something like that (dynamically change the types being used in our node's interface with the system)? Note that i want to build something that is agnostic both to type and the number of input or output messages.

2014-11-15 12:14:46 -0600 received badge  Teacher (source)
2014-11-15 12:10:39 -0600 answered a question rostest not finding the actual test

Rename the test suite method into: test_faceDetectionFunctional. Unittest needs the test suites to be named like test_something.

If this doesn't suffice, switch to rostest instead of rosunit. http://wiki.ros.org/rostest

then your main should look like:
rostest.rosrun(PKG, NAME, FaceDecFunc, sys.argv)

with
PKG = 'ros_nodes' and NAME whatever this test is named.

2013-06-17 07:37:12 -0600 received badge  Famous Question (source)
2013-05-09 07:58:59 -0600 received badge  Notable Question (source)
2013-04-19 00:44:58 -0600 received badge  Popular Question (source)
2013-04-15 08:52:45 -0600 received badge  Student (source)
2013-04-15 08:39:02 -0600 asked a question rqt on MacOSX fails to start [ImportError?]

I followed Homebrew source installation of Groovy on MacOS 10.7.5 and when i'm trying to run rqt i get the following error:

ImportError: numpy.core.multiarray failed to import
'import sitecustomize' failed; use -v for traceback
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/rosdep2/__init__.py", line 34, in <module>
    from __future__ import print_function
ImportError: No module named __future__
[rospack] Error: could not find python module 'rosdep2.rospack'. is rosdep up-to-date (at least 0.10.4)?
[librospack]: error while executing command
terminate called throwing an exceptionAbort trap: 6

What is wrong? Can you help me?