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

adasta's profile - activity

2019-10-03 11:27:30 -0500 received badge  Nice Answer (source)
2016-02-06 09:33:10 -0500 received badge  Nice Answer (source)
2014-01-28 17:22:32 -0500 marked best answer Package and stacks with the same name

Can packages and stacks share the same name? Will having a stack called foo and a package called foo cause problems?

My use case is that I have a stack called foo which contains package foo and package bar.

The local ROS tools are behaving, but I am not sure if this subtly breaks something.

2014-01-28 17:22:20 -0500 marked best answer Passing Arugments to a Rosjava Node

How do you pass arguments to a rosjava node?

In the examples, org.ros.RosRun is used to instantiate the node. Only a NodeConfiguration is passed to this new node and the NodeConfiguration does not contain the command line arguments.

2013-04-22 17:47:31 -0500 received badge  Good Answer (source)
2013-02-18 01:14:28 -0500 received badge  Famous Question (source)
2013-02-18 01:14:28 -0500 received badge  Notable Question (source)
2013-02-18 01:14:28 -0500 received badge  Popular Question (source)
2012-08-15 04:20:34 -0500 received badge  Famous Question (source)
2012-08-15 04:20:34 -0500 received badge  Notable Question (source)
2012-08-15 04:20:34 -0500 received badge  Popular Question (source)
2012-05-18 06:37:32 -0500 received badge  Nice Answer (source)
2012-02-03 07:44:18 -0500 received badge  Student (source)
2012-01-06 07:36:54 -0500 answered a question Arduino Rosserial no/slow communication

It sounds like you are exceeding the bandwidth and the packets are getting jumbled.

As a quick sanity check, figure out how much data you are actually sending per second.

The odometry message has a geometry_msg/PoseWithCovariance and a geometry_msg/TwistWithCovarience field. The covariance is a float64[36]. This means to send just the covariances you 2* 836=576 bytes. It is another 268=208 bytes to send the Twist and Pose. Total= 784 per message. Multiply that by the rate to get the bandwidth used.

TFs are also another source of huge data transfer.

You cant send that much data back and forth between the computer and the arduino. You need to throttle it.

Cheers, Adam

2011-11-09 22:42:42 -0500 received badge  Enthusiast
2011-11-06 16:08:40 -0500 received badge  Good Answer (source)
2011-10-05 18:57:48 -0500 received badge  Guru (source)
2011-10-05 18:57:48 -0500 received badge  Great Answer (source)
2011-09-21 13:07:13 -0500 received badge  Nice Answer (source)
2011-09-18 17:12:01 -0500 answered a question rosserial spinOnce() blocks if not connected to ROS

Hi Dan,

spinOnce should never block. It just checks to see if new serial data has come in and fires callback messages if it has received a full message. It is supposed to work just like spinOnce in roscpp. All it handles is com and callbacks.

Under what situations are you seeing it block?

2011-09-15 12:35:15 -0500 answered a question ROS_INFO on rosserial?

It can do ROS_INFO, but not with the same kind of syntax.

See http://www.ros.org/wiki/rosserial/Overview/Logging

You also need to be using rosserial from source in order to use this.

2011-09-14 01:44:55 -0500 commented question rosserial - lost sync with device (arduino)
Does your arduino duemilanove have a atmega168 or atmega328? If it is a 168, it is probably running out of memory. If so, check out this answer: http://answers.ros.org/question/2120/problem-setting-up-rosserial_arduino
2011-09-14 01:31:48 -0500 answered a question Ros serial

Hi Peter,

I think that the problem is that the electric release is actually an older version of rosserial. We broke that API a little while ago and updated the documentation on the website to reflect newest code. Could you try pulling rosserial from the repo and using it?

Just do :

hg clone https://kforge.ros.org/rosserial/hg rosserial

2011-09-06 13:31:09 -0500 received badge  Nice Answer (source)
2011-09-05 03:21:25 -0500 answered a question rosserial and custom message: cannot load package error

Hi Brice,

You found a pretty tricky bug! I guess we had never tried to run rosserial_python from within the package of a custom message. Python automatically adds the working directory of a python executable to the python sys.path. As a result, when rosserial_python went to check if it had the package in its sys.path, it found the current working directory. I just updated the code to check for the src directory of the package instead of just the package name. It should work now.

Just pull the latest repo.

2011-09-03 06:27:34 -0500 commented question rosserial and custom message: cannot load package error
I am not sure if I understand what you just said: ", lowlevel.msg is not found because it is in the src subdirectory" Msg descriptions need to be put in the msg folder. Python =msg generator looks there for the message. Could you just email your packag/code? adasta@gmail.com
2011-09-01 09:35:15 -0500 commented question rosserial and custom message: cannot load package error
could you post your arduino code?
2011-08-27 19:58:06 -0500 received badge  Good Answer (source)
2011-08-26 17:05:24 -0500 received badge  Nice Answer (source)
2011-08-25 17:12:57 -0500 commented question rosserial and custom message: cannot load package error
In that same program, could you add a hello world publisher just to make sure that everything else is working correctly?
2011-08-25 17:12:32 -0500 answered a question rosserial and custom message: cannot load package error

In that same program, could you add a hello world publisher just to make sure that everything else is working correctly?

2011-08-25 17:09:54 -0500 answered a question rosserial_arduino: trouble with too much messaging?

You could be saturating the serial communication.

rosserial runs at 57600 baud. If it is a larger message, like geometry_msg/Twist for example, you would need a minimum of 67840 baud to send messages that fast. ( (8 x 3 x 2 bytes per message + 5 bytes message overhead ) x 160 x 8 bits per byte)

You have two options if this is the case. Limit the messages like you are doing. The only reason the joy stick is sending that many messages is because it sends a message everytime the joystick angle changes. It is very sensitive.

The other option is to increase the Arduino's baud rate.To modify what baud rate your rosserial uses, you need to update both the Arduino and the python serial_node. In the Arduino program, this means that you must set rate before you initialize the node. You set the baud rate by accessing the hardware object and setting its internal baud rate.

nh.getHardware()->setBaud(115200); //or what ever baud you want

Next, when you launch the serial node, you must set a private baud param to the specified baud rate.

<node name="rosserial_node" type="serial_node.py" pkg="rosserial_python">
    <param name="baud" value="115200"/>
</node>

Another possible problem could be that you are not calling nh.spin() enough. The Arduino's Serial circular buffer is only 80 bytes. If you happen to be sending data very fast and calling nh.spin() very slowly, then it will cause these kinds of problems.

2011-08-21 11:49:21 -0500 answered a question rosserial incompatable with Ardupilot?

Hi Patrick.

I am unfamiliar with ardupilot, however it shouldnt give you errors like that. If you provide a self contained example of where you are getting the error, I can help.

2011-08-08 06:30:07 -0500 received badge  Critic (source)
2011-08-07 15:52:27 -0500 answered a question Can material colors be applied to Collada (.dae) meshes?

Collada files have color built in to the mesh definition while STL files do not. I think the default for RVIZ is to simply use what is specified in the file.

Collada is a pretty reasonable XML format. Since you probably one have one color, there will probably just be one tag to change in order to set the color.

2011-08-05 22:17:24 -0500 received badge  Enlightened (source)
2011-08-03 23:46:05 -0500 received badge  Good Answer (source)
2011-08-02 11:45:14 -0500 marked best answer Package and stacks with the same name

This is not a recommended practice. You can have a unary stack where a package is also a stack. Most of the tools are robust to it, however there are several edge cases which this will break. Most obvious is roscd, as well as indexing and documentation will be broken as packages and stacks share a namespace. Getting REP 109 to work was hard. The package and stack are obviously at different scopes, they should be able to be named differently.

2011-08-02 10:41:55 -0500 received badge  Nice Answer (source)
2011-08-02 06:13:20 -0500 answered a question Visualize part of a complex message

In general, you cannot do that.

Rviz is not set up to do that. Part of the reason is that RVIZ is written in C++ and cannot do that kind of runtime introspection. It needs to have the full message class compiled into its binary in order to be able to receive, deserialize, and manipulate the object.