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

Chengarda's profile - activity

2017-03-07 10:45:50 -0500 received badge  Good Answer (source)
2015-09-09 15:00:03 -0500 received badge  Famous Question (source)
2015-05-12 01:04:58 -0500 received badge  Famous Question (source)
2014-05-14 04:40:25 -0500 received badge  Notable Question (source)
2014-05-14 04:40:25 -0500 received badge  Popular Question (source)
2014-04-21 00:23:25 -0500 received badge  Notable Question (source)
2014-04-21 00:23:25 -0500 received badge  Popular Question (source)
2014-02-06 20:36:05 -0500 received badge  Enlightened (source)
2014-02-06 20:36:05 -0500 received badge  Guru (source)
2014-01-01 10:57:00 -0500 answered a question catkin package cannot find its own message type (python)

When you are importing, Python is looking for, but not finding a folder called msg, which has to be in the exact spot it expects, which is (I think):

"/home/patrick/Dropbox/Robotics/catkin_ws/src/skeleton_markers/msg"

If you have put your msg folder inside your 'nodes' folder, it might not find it. You could move the folder, or change the import to from skeleton_markers.nodes.msg

2013-12-22 14:45:03 -0500 commented answer rosbuild_genmsg() fails under Hydro

Great to hear, good luck with it.

2013-12-22 11:24:17 -0500 answered a question rospy Custom message; "ImportError: No module named msg"

the .msg in the import statement refers to a folder which stores your messages, the directory of your message type should be in this case:

catkin_ws/src/ssimsim/msg/parsedDiagMsg.msg
2013-12-22 11:19:19 -0500 answered a question rosbuild_genmsg() fails under Hydro

Have you got

generate_messages(
  DEPENDENCIES
  std_msgs
  geometry_msgs
)

in CMakeLists?

2013-12-19 12:41:12 -0500 received badge  Critic (source)
2013-12-18 09:33:13 -0500 answered a question fatal error: file massage.h not found

Random guess - have you included a build dependency for <packagename>_generate_messages in CMakelists? and included RopIn.msg in the list of message files? Leaving either of these out would probably cause the .h not to be created.

2013-12-15 20:47:15 -0500 received badge  Great Answer (source)
2013-12-15 10:40:35 -0500 commented answer Check to see if a service is running?

Thanks, good advice, both parts. I think you might be right about a simpler solution.

2013-12-15 10:39:23 -0500 received badge  Scholar (source)
2013-12-13 20:14:43 -0500 received badge  Good Answer (source)
2013-12-13 07:53:41 -0500 received badge  Nice Answer (source)
2013-12-12 21:25:40 -0500 received badge  Nice Answer (source)
2013-12-12 17:48:08 -0500 answered a question ROS related very basic question.
  1. ROS isn't technically a computer operating system, as it requires some other operating system as a base. However, it can be considered analogous to an operating system in that it provides a standardized way of interacting with and developing for a variety of hardware types. This is similar to how Windows and Linux can run on machines with different processors, memory, peripherals etc. It also is designed to be easily extensible, such that new software can be developed to work in conjunction with ROS.

  2. ROS is designed to be an object-based, parallel control system. This means that each node in ROS can be doing its own thing, but can communicate with other nodes where necessary. ROS allows for sensors, actuators, and software components to run (effectively) simultaneously. If you were attempting to program a robot in say, C, (as for a micro controller) you would have to create a control loop which periodically checked sensors, adjusted actuators and performed calculations. Managing the delicate timing required for real time operation in such an environment is complicated to say the least. ROS nodes communicate primarily through Topics and Services. Topics can be thought of as putting up a poster - you don't know when someone has read it, but anyone who wants to read it can find it. Services are more like organizing a meeting - both nodes connect, exchange information and then disconnect. They know for certain that the information has gone through, and can know who knows it.

  3. ROS distributions usually come with an assortment of drivers for some common hardware, but the true capacity of ROS is realized in the drivers and support offered by the User-Community. I'd head to the ROS wiki to start to find out about the range of hardware for which there is development.

2013-12-12 17:28:53 -0500 commented question What does thie publish error mean?

Additionally, you can edit questions after posting, click the pencil icon directly under the question. Please use this rather than duplicating questions.

2013-12-12 17:28:33 -0500 commented question What does thie publish error mean?

The error suggests that you have advertised your publish with the float64 type, but whatever you are passing to it is not the same type. You might have better answers if you post the lines of code in which you attempt to publish.

2013-12-12 17:21:19 -0500 asked a question Check to see if a service is running?

Hi,

I'm trying to use a service that will only ever need to be called once. I'd like to destroy the service server object as soon as the service is completed, allowing the service name to be reused.

I've tried sending a call to Shutdown() as the last part of the service callback, but of course this starts destroying the service while it's in use. Can anyone suggest a way to check if a service is currently in use?

I'd prefer not to use another service or topic to signal the completion of the service from the client.

2013-12-12 17:00:52 -0500 answered a question programatically create subscribers

I'm doing a similar thing at the moment. So far, it only seems possible in rospy, not roscpp. I'm using the services:

rosapi/topics
rosapi/topic_type

to get a full list of topics and msg types, then a little (lots) of dodgy string manipulation getting the correct format of topic to use with:

__import__(pkg,globals(),locals(),[topictype],-1)

(this dynamically creates a from pkg import topictype C++ doesn't seem to have an equivalent)

once you have the topic name and type, it's easy to subscribe to it. You can filter the full list by comparing against your provided list to only subscribe to topics you are interested in.

2013-12-12 16:29:43 -0500 received badge  Editor (source)
2013-12-12 16:29:15 -0500 received badge  Teacher (source)
2013-12-12 16:26:13 -0500 answered a question How to list all topics/services that are known by the server with roscpp?

You can use the services of the omnipresent rosapi node, these are equivalent to the command line statements:

rosservice call rosapi/topics rosservice call rosapi/services

Roscpp

ros::ServiceClient topicfinder = n.serviceClient<rosapi::Topics>("rosapi/topics");
ros::ServiceClient servicesfinder = n.serviceClient<rosapi::Services>("rosapi/services");

rosapi::Topics topicsrv;
rosapi::Services servicessrv;

topicfinder.call(topicsrv);
servicesfinder.call(servicessrv);

Rospy

from rosapi.srv import Topics, Services

topics = rospy.ServiceProxy('/rosapi/topics', Topics)
services = rospy.ServiceProxy('/rosapi/services', Services)
topiclist = topics()
servicelist = services()

I've probably got some typos and mistakes in here, but that's the general gist.

2013-12-12 15:40:43 -0500 answered a question Rosbridge - isConnected() ?

Having found no reasonable alternative, I've gone with a combination of a service and a topic to achieve this. The devices post the number of stored messages on a topic, and the web server calls a data-fetching service this number of times. It's working, but seems very heavy handed for such a simple problem.

2013-12-04 16:43:14 -0500 asked a question Rosbridge - isConnected() ?

Hi,

I'm working with Rosbridge at the moment, and trying to determine from the ROS side (server) whether the websocket connection is ok. Is there a isConnected() or ping() type function that will enable me to determine the connection status? I need a test that determines the current connection reliability for use with wireless/3G/4G connected ROS devices, which will frequently drop messages without disconnecting from the socket. (They stay 'sort of' connected).

I'm trying to do something like:

if (isConnected()) { - Send messages from subscribed topics - } else { - Save the messages, instead - }

I tried using a service, but it seems I'm using rosbridge a little bit backwards; since a service initiated from the web-side wouldn't help.

'My apologies in advance for being completely wrong about everything ever.'