Ask Your Question

theNerd247's profile - activity

2020-04-03 15:05:50 -0600 received badge  Nice Question (source)
2020-02-08 07:55:53 -0600 received badge  Guru (source)
2020-02-08 07:55:53 -0600 received badge  Great Answer (source)
2019-03-13 10:43:16 -0600 received badge  Enlightened (source)
2019-03-13 10:43:16 -0600 received badge  Good Answer (source)
2018-11-16 03:30:30 -0600 received badge  Student (source)
2018-03-23 06:44:38 -0600 received badge  Nice Answer (source)
2018-02-11 09:52:12 -0600 received badge  Famous Question (source)
2018-02-11 09:52:12 -0600 received badge  Notable Question (source)
2018-02-11 09:52:12 -0600 received badge  Popular Question (source)
2018-01-28 04:26:25 -0600 received badge  Famous Question (source)
2017-04-07 09:20:55 -0600 received badge  Famous Question (source)
2017-02-17 08:16:30 -0600 received badge  Notable Question (source)
2017-02-12 06:34:46 -0600 received badge  Teacher (source)
2016-07-27 21:25:56 -0600 received badge  Notable Question (source)
2015-12-04 00:31:49 -0600 received badge  Popular Question (source)
2015-12-03 12:49:53 -0600 asked a question yaml serialization for messages

Is it possible to serialize ROS messages to and from YAML files directly? I want to save some config data and a piece of this data is a geometry_msgs/Pose data type. I realized that you can publish to a node using YAML syntax in the command line and so I know they are serializable I just don't know of an API for doing so in C++.

2015-11-06 07:24:33 -0600 received badge  Enthusiast
2015-10-29 14:47:32 -0600 received badge  Popular Question (source)
2015-10-29 13:54:07 -0600 received badge  Scholar (source)
2015-10-29 13:53:58 -0600 received badge  Supporter (source)
2015-10-29 13:53:54 -0600 commented answer Get apt-get dependencies given rosdep key

Thanks for explaining the difference between these commands. The rosdep documentation is rather slim and vague.

2015-10-29 13:53:30 -0600 commented answer Get apt-get dependencies given rosdep key

Exactly what I needed. Thanks! Recursion can be done using a simple bash script.

2015-10-29 12:46:52 -0600 asked a question Get apt-get dependencies given rosdep key

So I know using rosdep install will install the dependencies for a given package. However I need to get a list of all the system dependencies for a given package. Is there a way to get the corresponding apt-get entries in the rosdep database given the rosdep key?

i.e the foo rosdep key has this entry in the database:

foo:
  ...
  debian: [package1,package2,...]
  ...

Is there a command that will return package1 packag2 ... with rosdep?

2015-10-08 06:50:50 -0600 answered a question How to publish a ROS msg on Linux terminal

The ROS wiki gives this as an answer example.

$ rostopic pub -r 10 /cmd_vel geometry_msgs/Twist  '{linear:  {x: 0.1, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

Depending on your message type you can simply follow the pattern given above; in which case you won't need -- in your command. Instead wrap the message data in single quotation marks and use the YAML map syntax. For example:

$ rostopic pub /topic package/msg_type '{x: 1, y: 2, c: a, type: string}'
2015-10-07 13:44:52 -0600 asked a question Generic Ros Service Clients

I'm currently trying to use the topic_tools/mux node to multiplex multiple topics using the same selector (which is implemented as a ROS service). Now, I've recently discovered that ROS Services cannot be created with the same name, and if they are then the most recent Services gets created and the ones before are destroyed (without notification to the user by the way which is not good in the sense that it may not be intended by the user). So then, another solution would be to create the multiplexer each with a different service name. Then I would create another node that broadcasted to these services. Now, I would like to make this generic (as it would be very useful for later use) such that this node would:

  • take __N__ output service names, and an input service name (called __S__) via program arguments
  • For each __N__ services name create a ServiceClient and check to make sure all clients have the same request and respond ROS types. If they don't then exit with some failure type
  • Then advertise a service with name __S__. This service will simply take the called request and forward it to each of the __N__ clients. The response from these clients can be ignored (for now).

My current problem is that I can't find a way to determine the Service type based on the given qualified service name using the current roscpp API. I may be missing something however, it appears that the only way to create a ROS Service client is to know the Request and Respond types first; there is no generic wrapper around this so that applications - such as mine - can forward client requests to services without regard to the type. This seems to be possible as I would assume that there is some class that the roscpp API is using to bind a service's name with its service type - that and the topic_tools/mux node seems to be able to do this for topics (that is forwarding the messages from one topic to another without regard to the topic message types). And though services are different than topics they both seem to be based on message types.