GithubHelp home page GithubHelp logo

ros / ros_comm Goto Github PK

View Code? Open in Web Editor NEW
737.0 75.0 907.0 14.69 MB

ROS communications-related packages, including core client libraries (roscpp, rospy, roslisp) and graph introspection tools (rostopic, rosnode, rosservice, rosparam).

Home Page: http://wiki.ros.org/ros_comm

CMake 1.76% C++ 41.85% C 1.66% Python 54.32% Shell 0.21% Makefile 0.03% EmberScript 0.16% Batchfile 0.01%
ros robotics

ros_comm's People

Contributors

130s avatar bcharrow avatar cwecht avatar deng02 avatar dirk-thomas avatar eric-wieser avatar flixr avatar furushchev avatar gerkey avatar hershwg avatar jspricke avatar k-okada avatar kejxu avatar kmactavish avatar lucasw avatar mgrrx avatar mikaelarguedas avatar mikepurvis avatar peci1 avatar racko avatar rhaschke avatar seanyen avatar sloretz avatar stonier avatar tfoote avatar trainman419 avatar vrabaud avatar wjwwood avatar wkentaro avatar xqms avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ros_comm's Issues

rosservice: Using now and auto command line keys with rosservice in simulation

When using now and auto keys on the command line and running Clock server (e.g. gazebo simulation) I get zero time filled instead of current simulation time (rosservice node is not running long enough to get a message from /clock topic).

I've made a simple patch (calling rospy.sleep(0) before asking for current time) for rosservice. I suppose something similar could be done for rostopic pub.

Patch was made against current version in fuerte (installed from packages).

patch against fuerte 8 weeks ago is available on trac:
https://code.ros.org/trac/ros/ticket/4065

roslaunch: Specify target machine for a set of nodes

Migrated from https://code.ros.org/trac/ros/ticket/2598
Attachment available in code.ros.org?: No


I have two launch files:

sublaunch.launch

<launch>
  <node pkg='my_pkg' type='node1'>
  <node pkg='my_pkg' type='node2'>
  <node pkg='my_pkg' type='node3'>
</launch>

main_launch.launch

<launch>
  <include file="sub_launch.launch" ns="pipeline1" />
  <include file="sub_launch.launch" ns="pipeline2" />
</launch>

I want pipeline1 to run on c1, and pipeline2 to run on c2. Thus, I want to do something like this:

specify_machines.launch

<launch>
  <include file="sub_launch.launch" ns="pipeline1" machine="c1"/>
  <include file="sub_launch.launch" ns="pipeline2" machine="c2"/>
</launch>

Here, my machine attribute would override any machine tags in the included file. Or, it could override machine tags for any node with an unspecified machine attribute.

Hopefully this makes sense.

Groovy roscpp version not resolved in common.h

These lines in <ros/common.h> should be resolved to the actual roscpp version number.

#define ROS_VERSION_MAJOR roscpp_VERSION_MAJOR
#define ROS_VERSION_MINOR roscpp_VERSION_MINOR
#define ROS_VERSION_PATCH roscpp_VERSION_PATCH

That failure breaks any code using the ROS_VERSION_GE() or ROS_VERSION_MINIMUM() macros.

roslaunch: Execute .py via roslaunch on windows

Migrated from https://code.ros.org/trac/ros/ticket/3422
Attachment available in code.ros.org? : yes


Roslaunch can't currently execute python programs on windows because windows doesn't recognise .py as being executable.

The following patches help roslib recognise a .py file as something that can potentially be executed who then passes it off to roslaunch which will recognise the .py as being special (on windows) and prefix the launch command with python (aka python.exe).

After a fair bit of hunting around, this seems to be the best solution I could find. Any other ideas?

rostopic: find shows inactive topics

When I run rostopic find sensor_msgs/Image I get a larger list of topics than rostopic list. The list includes topics that haven't been active for a while. They were originally active on this core, but all the nodes connected to these topics have shut down (and been purged with rosnode cleanup), so I'm not sure why these topics are still showing up.

Another thing: it might be nice if the list of topics were sorted.

migrated from trac ticket 3485:
https://code.ros.org/trac/ros/ticket/3485

Need Provides for Debian dependency

We have several external debian packages that can work with either Fuerte or Groovy and need some way to check that ROS is installed but we don't care which version.

To solve this we need to use the Provides directive in the debian control file.

For example ros-groovy-ros-comm could use something like
Provides: ros-ros-comm
in the debian control file so our package can depend on that instead of maintaining two separate packages just to depend on ros-fuerte-ros-comm or ros-groovy-ros-comm

Create a performance test to qualify different client libraries

This will be a test suite which can be run against different client libraries to verify performance characterisitcs of the libraries on different platforms.

It should include various sized messages, different rates, throughput, cpu utilization. Services and parameter access tests.

rosgraph exception starting roscore

Apologies if this is a user error and doesn't belong here.

On a freshly installed bare ROS groovy, I can't start roscore: I get the following exception:

Traceback (most recent call last):
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/__init__.py", line 263, in main
    p.start()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
    self.runner.launch()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/launch.py", line 644, in launch
    self._setup()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/launch.py", line 620, in _setup
    self._launch_master()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/launch.py", line 384, in _launch_master
    validate_master_launch(m, self.is_core, self.is_rostest)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/launch.py", line 79, in validate_master_launch
    if not rosgraph.network.is_local_address(m.get_host()):
  File "/opt/ros/groovy/lib/python2.7/dist-packages/rosgraph/network.py", line 160, in is_local_address
    local_addresses = ['localhost'] + get_local_addresses()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/rosgraph/network.py", line 211, in get_local_addresses
    ifaces = ifaddrs.getifaddrs()
  File "/opt/ros/groovy/lib/python2.7/dist-packages/rosgraph/ifaddrs.py", line 116, in getifaddrs
    sa = sockaddr.from_address(ifa.ifa_addr)
TypeError: integer expected

In case it is of any use, here is my network configuration:

box:~/moveit_groovy$ ifconfig
eth0      Link encap:Ethernet  HWaddr 80:ee:73:12:6e:7a  
          inet addr:10.1.0.10  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::82ee:73ff:fe12:6e7a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:189757 errors:0 dropped:0 overruns:0 frame:0
          TX packets:173295 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:186011640 (186.0 MB)  TX bytes:14740247 (14.7 MB)
          Interrupt:63 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1787 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1787 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:241486 (241.4 KB)  TX bytes:241486 (241.4 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.0.10.237  P-t-P:10.0.10.238  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5545 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4872 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:6712642 (6.7 MB)  TX bytes:279550 (279.5 KB)

Any hints? If it is indeed a bug, how could I help fix it?

message_filters: Subscriber needs a copy constructor (03/02/2011)

Issue migrated from code.ros.org, posted by "sglaser", ticket #3384. I can confirm I do not see a copy constructor defined in Subscriber.h

Details:
In order to create a std::vector<message_filters::Subscriber>, the message_filters::Subscriber class needs a copy constructor.

topic throttler does not working properly

I tried to throttle image topic using topic_tool throttle and didn't work.

jihoonl@whoolala:/opt/ros/groovy/stacks/openni_launch/launch$ rosrun topic_tools throttle messages /camera/rgb/image_color 5

jihoonl@whoolala:/opt/ros/groovy/stacks/openni_launch/launch$ rostopic info /camera/rgb/image_color
Type: sensor_msgs/Image

Publishers:

Subscribers:

jihoonl@whoolala:/opt/ros/groovy/stacks/openni_launch/launch$ rosnode info /image_color_throttle_1353303817772763152

Node [/image_color_throttle_1353303817772763152]
Publications:

  • /rosout [rosgraph_msgs/Log]

Subscriptions:

  • /camera/rgb/image_color [sensor_msgs/Image]

Services:

  • /image_color_throttle_1353303817772763152/get_loggers
  • /image_color_throttle_1353303817772763152/set_logger_level

contacting node http://whoolala:36997/ ...
Pid: 32139
Connections:

  • topic: /rosout
    • to: /rosout
    • direction: outbound
    • transport: TCPROS
  • topic: /camera/rgb/image_color

jihoonl@whoolala:/opt/ros/groovy/stacks/openni_launch/launch$

Importing tf in python fails because of undefined symbol

Importing tf fails with this error:

Traceback (most recent call last):
  File "test/arm_mover_test.py", line 6, in <module>
    from moveit_commander.commander import MoveGroupCommander
  File "/u/selliott/moveit/src/moveit_commander/src/moveit_commander/__init__.py", line 1, in <module>
    from commander import *
  File "/u/selliott/moveit/src/moveit_commander/src/moveit_commander/commander.py", line 38, in <module>
    import tf
  File "/opt/ros/groovy/lib/python2.7/dist-packages/tf/__init__.py", line 28, in <module>
    from _tf import *
ImportError: /opt/ros/groovy/lib/libroscpp.so: undefined symbol: _ZN6XmlRpc12XmlRpcSocket11s_use_ipv6_E

rostest ran with improper ROS_MASTER_URI

Migrated from https://code.ros.org/trac/ros/ticket/3270
Attachment available in code.ros.org?: No
Priority: major
Last modified ago: Jan 2011
Owned by: kwc
Reported by: tfoote


Standard Error

[test_nodelet.rostest__test_test_console] stderr--------------------------------
?[31mWARNING: ROS_MASTER_URI port [11311] does not match this roscore [22422]?[0m
?[31m[console_test-2] escalating to SIGTERM?[0m

http://build.willowgarage.com/job/devel_unstable_common_maverick_i386/17/testReport/test_nodelet.TEST-rostest__test_test_console.rostest.runner/RosTest/test_nodelet_rostest__test_test_console_testconsole_test/

This happens semi repeatably on this build

setup.py uses invalid param install_requires

for distutils, should be just 'requires' instead.

Causes:

/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'

warnings.warn(msg)

on makeinstall of groovy underlay. Here is a list of all setup.py files in groovy underlay

./ros_comm/tools/rostest/setup.py
./ros_comm/tools/rosgraph/setup.py
./ros_comm/tools/rosbag/setup.py
./ros_comm/tools/rosmaster/setup.py
./ros_comm/tools/rostopic/setup.py
./ros_comm/tools/rosnode/setup.py
./ros_comm/tools/roslaunch/setup.py
./ros_comm/tools/rosservice/setup.py
./ros_comm/tools/rosmsg/setup.py
./ros_comm/tools/rosparam/setup.py
./ros_comm/clients/rospy/setup.py
./ros_comm/utilities/roswtf/setup.py
./ros_comm/utilities/message_filters/setup.py
./diagnostics/diagnostic_common_diagnostics/setup.py
./gencpp/setup.py
./ros/core/roslib/setup.py
./ros/tools/rosmake/setup.py
./ros/tools/rosunit/setup.py
./ros/tools/rosclean/setup.py
./ros/tools/roscreate/setup.py
./genlisp/setup.py
./actionlib/setup.py
./genpy/setup.py

some are outside ros_comm, maybe you can fix those without a ticket each?

roscpp subscribers don't connect properly when using ROS_IP/ROS_HOSTNAME

This issue has come up a few times on the ROS-Release mailing list. I've come up with good instructions on how to reproduce it. It only appears to be a problem with roscpp subscribers; rospy subscribers are unaffected, and setups which don't use ROS_IP or ROS_HOSTNAME on the publisher are also unaffected.

To reproduce this, you must have two machines on a network; it doesn't seem to reproduce when all nodes are run on the same machine.

Steps to reproduce:
On machine 1, start a roscore
On machine 1, set ROS_IP and rosrun roscpp_tutorials talker
On machine 2, set the ROS_MASTER_URI to machine 1
On machine 2, rosrun roscpp_tutorials listener
On machine 2, rosrun rospy_tutorials listener

Observed results:
the rospy listener receives messages correctly; the roscpp listener does not

Expected results:
both listeners receive messages correctly.

roscpp_VERSION_* defines have dissappeared

simulator_gazebo was using ROS_VERSION logic in macros for roslib/Header.h vs std_msgs/Header.h but now it's broken. http://jenkins.willowgarage.com:8080/job/ros-groovy-simulator-gazebo_binarydeb_precise_amd64/196/consoleText

It was using this logic.

#include <ros/ros.h>
#if ROS_VERSION_MINIMUM(1, 3, 1)
#include <std_msgs/Header.h>
#else
#include <roslib/Header.h>
#endif

Grepping around ROS_VERSION_* seem to be defined to roscpp_VERSION_* but I cannot find roscpp_VERSION_* anymore.

roslaunch: does not handle multiple "anon" nodes when listing nodes in launch file

Migrated from https://code.ros.org/trac/ros/ticket/3386
Reported by: watts Owned by: kwc
Priority: major
Attachment available: No
Last modified ago: Feb 2011


I have a simple launch file with two anonymous nodes, both of the same ID. I can launch the file just fine, but when I try to run "roslaunch --nodes" on the file, it fails. Using ROS 1.4.6

<launch>
  <node pkg="rostopic" type="rostopic" name="$(anon chatter)"
        args="echo chatter" output="screen" />

    <node pkg="rostopic" type="rostopic" name="$(anon chatter)"
        args="pub chatter std_msgs/String hello -r 1" output="screen" />
</launch>
$ roslaunch --nodes multiple_anon_names.launch
roslaunch file contains multiple nodes named [/$(anon chatter)].
Please check all <node> 'name' attributes to make sure they are unique.
Also check that $(anon id) use different ids.



$ roslaunch multiple_anon_names.launch 
... logging to /u/watts/.ros/log/0f47643a-4543-11e0-b706-003048fd84d2/roslaunch-ckb-31722.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ckb:44858/

SUMMARY
========

PARAMETERS
 * /rosversion
 * /rosdistro

NODES
  /
    chatter_ckb_31722_4149613840439684256 (rostopic/rostopic)
    chatter_ckb_31722_524952101798366556 (rostopic/rostopic)

auto-starting new master
process[master]: started with pid [31736]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 0f47643a-4543-11e0-b706-003048fd84d2
process[rosout-1]: started with pid [31749]
started core service [/rosout]
process[chatter_ckb_31722_4149613840439684256-2]: started with pid [31756]
process[chatter_ckb_31722_524952101798366556-3]: started with pid [31762]
WARNING: topic [/chatter] does not appear to be published yet
data: hello

---
data: hello

---
data: hello

---
^C[chatter_ckb_31722_524952101798366556-3] killing on exit
[chatter_ckb_31722_4149613840439684256-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

rosmaster needs to run_depend on rosout

I believe package rosmaster needs a run_depend on rosout. I have installed ros-groovy-ros-comm and this did not install rosout apparently, as the "roscd" at the end of this log shows. "roscore" seems to not work without rosout.

hersh@hairynipples$ roscore
... logging to /home/hersh/.ros/log/4ce5fdc2-58ee-11e2-bd69-1078d2d60e5c/roslaunch-hairynipples-15143.log
started roslaunch server http://hairynipples:36081/
ros_comm version 1.9.27

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /rosversion

NODES

auto-starting new master
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored
process[master]: started with pid [15157]
ROS_MASTER_URI=http://hairynipples:11311/

setting /run_id to 4ce5fdc2-58ee-11e2-bd69-1078d2d60e5c



ERROR: rosout is not built. Please run 'rosmake rosout'



failed to start core service [/rosout]
[master] killing on exit
=====[ dir ~/groovy_stacks/visualization_tutorials/rviz_plugin_tutorials ]=====
hersh@hairynipples$ roscd rosout
roscd: No such package/stack 'rosout'

Update the documentation of node_handle

This is an enhancement issue based on the discussions about this question: http://answers.ros.org/question/48312/callback-function-for-advertise-is-not-called/

I followed the documentation for NodeHandle::advertise (http://www.ros.org/doc/fuerte/api/roscpp/html/classros_1_1NodeHandle.html#ae4711ef282892176ba145d02f8f45f8d) but it does not work on my machine (and I assume in general since I the standard C++ compiler from ROS Fuerte).

The documentation should have an explicit type cast:
handle.advertise<std_msgs::Empty>("my_topic", 1, (ros::SubscriberStatusCallback)connectCallback);

rosbag doesn't honor --duration

Observed behavior:
rosbag with --duration runs forever, and records a bag file for the entire run-time.

$ time rosbag record --duration 5 chatter
[ INFO] [1353036305.828513349]: Subscribing to chatter
[ INFO] [1353036305.831663013]: Recording to 2012-11-15-19-25-05.bag.
^C
real 0m22.536s
user 0m0.264s
sys 0m0.896s
$ rosbag info 2012-11-15-19-25-05.bag
path: 2012-11-15-19-25-05.bag
version: 2.0
duration: 21.6s
start: Nov 15 2012 19:25:06.07 (1353036306.07)
end: Nov 15 2012 19:25:27.67 (1353036327.67)
size: 23.1 KB
messages: 217
compression: none [1/1 chunks]
types: std_msgs/String [992ce8a1687cec8c8bd883ec73ca41d1]
topics: chatter 217 msgs : std_msgs/String

Expected behavior:
rosbag runs for roughly the specified time and then terminates.

message_filters: dynamic time synchronizers (02/22/2011)

Issue migrated from code.ros.org, posted by "rusu", ticket #2562

We need a way to create more flexible time synchronizers that can potentially synchronizer a large number of topics. Since topics are the way to go in terms of "semantics" in ROS, there might be producers which can output several tens of topics that need to be synchronized.

If needed, the user can specify the maximum number of topics that need to be synchronized via a ROS parameter (e.g., 64 topics or 100 topics, etc).

service exception using tf listener in rospy

This has been brought up on ros answers a while ago, but this minor bug is still around in Fuerte (on Ubuntu Precise 64bit).

http://answers.ros.org/question/10777/service-exception-using-tf-listener-in-rospy/

And regarding Tully's answer, he is right, this exception is only thrown on creation.

PS: I hope this is the right place for new tickets or should I report this on trac?
PPS: If this is the right place, we should update the "rospy wiki":http://www.ros.org/wiki/rospy.

message_filters: refactorization required (02/22/2011)

Issue migrated from code.ros.org, posted by "rusu", ticket #3362

Message filters is due for refactorization, as many have already noted. Just creating a ticket so we can keep track of things.

Our tests showed a 150MB+ and 10+ seconds compile time increase for every object / GCC compilation unit.

This makes it really hard to use in large projects where several instantiations of message_filters subscribers or approximate time synchronizers are used.

Change History

Changed 23 months ago by straszheim

status changed from new to assigned
Changed 23 months ago by straszheim

I'm fairly confident that compile time could be improved and am working on it... a difficult job. It would be disappointing to find out later that there are fundamental problems with the design (other than compile time), so that this restructuring work needs to be thrown out.

Changed 23 months ago by rusu

I agree. Troy, let's keep this one on hold and rediscuss this next week with Patrick. It might be that https://code.ros.org/trac/ros/ticket/3363 invalidates this one.

rosout: symbol lookup error when running roscore

I know this is on a 32-bit system, but I thought 32-bit versions were being built now.

The main error line is this:

/opt/ros/groovy/lib/rosout/rosout: symbol lookup error: /opt/ros/groovy/lib/libroscpp.so: undefined symbol: _ZN3ros12DurationBaseINS_12WallDurationEE6isZeroEv

Full log with machine info:

hersh@hairynipples$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l

=====[ dir ~ ]=====
hersh@hairynipples$ uname -a
Linux hairynipples 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux
=====[ dir ~ ]=====
hersh@hairynipples$ sudo apt-get install ros-groovy-rosout ros-groovy-rosmaster
[sudo] password for hersh: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ros-groovy-rosmaster is already the newest version.
ros-groovy-rosmaster set to manually installed.
ros-groovy-rosout is already the newest version.
The following packages were automatically installed and are no longer required:
  kdesudo libxml-commons-external-java libjaxp1.3-java libxerces2-java update-manager-kde libxml-commons-resolver1.1-java
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.
=====[ dir ~ ]=====
hersh@hairynipples$ roscore
... logging to /home/hersh/.ros/log/77978dda-58f1-11e2-a1bd-1078d2d60e5c/roslaunch-hairynipples-19039.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
WARNING: disk usage in log directory [/home/hersh/.ros/log] is over 1GB.
It's recommended that you use the 'rosclean' command.

started roslaunch server http://hairynipples:49760/
ros_comm version 1.9.27

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /rosversion

NODES

auto-starting new master
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored
process[master]: started with pid [19053]
ROS_MASTER_URI=http://hairynipples:11311/

setting /run_id to 77978dda-58f1-11e2-a1bd-1078d2d60e5c
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored
process[rosout-1]: started with pid [19066]
started core service [/rosout]
/opt/ros/groovy/lib/rosout/rosout: symbol lookup error: /opt/ros/groovy/lib/libroscpp.so: undefined symbol: _ZN3ros12DurationBaseINS_12WallDurationEE6isZeroEv
[rosout-1] process has died [pid 19066, exit code 127, cmd /opt/ros/groovy/lib/rosout/rosout __name:=rosout __log:=/home/hersh/.ros/log/77978dda-58f1-11e2-a1bd-1078d2d60e5c/rosout-1.log].
log file: /home/hersh/.ros/log/77978dda-58f1-11e2-a1bd-1078d2d60e5c/rosout-1*.log
respawning...

Debian package version info:

=====[ dir ~ ]=====
hersh@hairynipples$ dpkg -l | grep ros-groovy-roscpp
ii  ros-groovy-roscpp                             1.9.27-0precise-20121027-1756-+0000             roscpp is a C++ implementation of ROS. It provides a client library that enables C++ programmers to quickly interface with ROS Topics, Services, and Parameters. roscpp is the most widely used ROS client library and is designed to be the high-performance library for ROS.
ii  ros-groovy-roscpp-serialization               0.3.11-0precise-20121225-1557-+0000             roscpp_serialization contains the code for serialization as described in MessagesSerializationAndAdaptingTypes. This package is a component of roscpp.
ii  ros-groovy-roscpp-traits                      0.3.11-0precise-20121225-1534-+0000             roscpp_traits contains the message traits code as described in MessagesTraits. This package is a component of roscpp.
=====[ dir ~ ]=====
hersh@hairynipples$ dpkg -l | grep rosout
ii  ros-groovy-rosout                             1.9.39-0precise-20121230-1106-+0000             System-wide logging mechanism for messages sent to the /rosout topic.
=====[ dir ~ ]=====
hersh@hairynipples$ dpkg -l | grep rosmaster
ii  ros-groovy-rosmaster                          1.9.39-0precise-20121229-1131-+0000             ROS Master implementation.

[rosbag] bagsort fails with ValueError

Traceback (most recent call last):
File "/opt/ros/groovy/lib/rosbag/bagsort.py", line 65, in
sortbags(sys.argv[1], sys.argv[2])
File "/opt/ros/groovy/lib/rosbag/bagsort.py", line 43, in sortbags
schedule = [(t, i) for (topic, msg, t) in enumerate(rosbag.Bag(inbag).read_messages(raw=True))]
ValueError: need more than 2 values to unpack

message_filters: Zero timestamp causes time_synchronizer to fail (03/29/2010)

Issue migrated from code.ros.org, posted by "blaise", ticket #2562

There was a really long thread recently on ros_users trying to debug why image_proc wasn't working with camera1394. It turns out that they weren't setting the timestamp in the image, and hence the time_synchronizer was failing to produce any output. A check and warning for zero timestamps would make this debugging much easier.

Change history:
Changed 3 years ago by joq

As Blaise mentioned, this problem is easy to reproduce. Just publish Image and CameraInfo? messages with zeros in the header.stamp field.

Formerly, the warning would have appeared when the message was published, but that no longer happens.

Changed 23 months ago by jfaust

owner changed from jfaust to straszheim

Clarify the documentation for method getNumSubscribers()

This is an enhancement issue based on the discussions about this question: http://answers.ros.org/question/11167/how-do-i-publish-exactly-one-message

The method getNumSubscribers() returns the number of subscribers that are currently connected to the local publisher, and not the total number of subscribers for that topic.

The documentation should be clarified to avoid misinterpretations. Also, it could link to a method that would return the total number of subscribers for that topic.

ros_comm depends on non-existent package test_ros

The test_rosservice packages in ros_comm has a dependency on test_ros, but this dependency does not exist anywhere. This causes devel builds and prerelease builds like this one to fail: http://jenkins.willowgarage.com:8080/job/devel-groovy-ros_comm/ARCH_PARAM=amd64,UBUNTU_PARAM=precise,label=devel/29/console.

As one of the tasks of the devel and prerelease builds is to find out if the dependencies of a repository are correct, it's not a good idea to simply ignore this incorrect dependency.

rosbag compilation error with Boost 1.50 on OSX

This is from a fuerte install started today from fresh:

/Users/nah/ros-underlay/ros_comm/tools/rosbag/src/recorder.cpp:439:42: error: 
      no member named 'TIME_UTC' in namespace 'boost'; did you mean 'TIME_UTC_'?
            boost::xtime_get(&xt, boost::TIME_UTC);
                                  ~~~~~~~^~~~~~~~
                                         TIME_UTC_
/usr/local/include/boost/thread/xtime.hpp:23:5: note: 'TIME_UTC_' declared here
    TIME_UTC_=1
    ^
1 error generated.

Adding the _ appears to fix it.

Give the total number of subscribers when a publisher advertises

This is an enhancement issue based on the discussions about this question: http://answers.ros.org/question/11167/how-do-i-publish-exactly-one-message

The problem that my colleague and I experienced is that the first (few) messages published were "lost". In our case, we wanted to publish exactly one message and not more. The problem with ROS is that the publisher starts sending its messages as soon as it exists, without waiting for the subscribers to establish a connection. This is acceptable in some cases, but not in many others.

Here is my suggestion:

Calling NodeHandle::advertise eventually gets to line 403 of topic_manager.cpp: master::execute("registerPublisher", args, result, payload, true); Currently, the variable result is ignored, but it should contain the total number of subscribers for the given topic. I would also add an optional parameter in advertise() that would be a duration. Then, we a publisher would be created, it would wait for the subscribers to connect, up to the given duration. Any call to Publisher::publish before that would queue the message.

This solution is not fail-proof, but at least with a timeout option, it would increase the reliability when required and still allow not to wait (or not to wait too long) for other cases (by giving zero as a timeout duration).

Break rosbag record's `--split` option into `--split-duration` and `--split-size`

Break rosbag record's --split option into --split-duration and --split-size. This will make it clearer how --split* options related to the --duration and --size options and will allow them to work together in a use case like:

rosbag record --split-duration 2m --duration 10m topic1 topic2 topic3 -> Will record for a total of 10 minutes, but will split the bag files up by two minute intervals.

See: #2

rostopic: pub doesn't update timestamps on every publish when 'now' or 'auto' keywords used

I'm not sure if this a bug or a 'feature', but I'm seeing that if I do something like:

rostopic pub -r 50 /sometopic geometry_msgs/TransformStamped '{header: auto, child_frame_id: /bla, transform: {translation: {x: 0, y: 0, z: 0}, rotation: {x: 0, y: 0, z: 0, w: 1}}}'

or

rostopic pub -r 50 /sometopic geometry_msgs/TransformStamped '{header: {stamp: now, frame_id: foo}, child_frame_id: /bla, transform: {translation: {x: 0, y: 0, z: 0}, rotation: {x: 0, y: 0, z: 0, w: 1}}}'

.. then the header timestamp is populated, but only with a single time (I guess the time the first message is sent). It would make more sense to me to have the timestamp change with every message. Is there a reason it doesn't?

change log:
Changed 15 months ago by kwc

similarly,

https://code.ros.org/trac/ros-pkg/ticket/5192

rostopic doesn't subscribe to simtime, so the timestamp is always walltime

ticket 5192 follows:

When I have gazebo running, "rostopic pub" fills the time stamp with the wall time instead of the simulation time:

<launch>
  <param name="/use_sim_time" value="true" />

  <node name="gazebo" pkg="gazebo" type="gazebo" args="-u $(find gazebo_worlds)/worlds/empty.world" respawn="false" output="screen"/>

  <node pkg="rostopic" type="rostopic" name="fake_wheel_joint_states"
    args="pub -r 1 /joint_states sensor_msgs/JointState '{header: auto, name: [dummy_joint], position: [0.0]}'" /> 
</launch>

As you can see, the stamp is filled with wall time; also, the time stamp doesn't change:

$ rostopic echo /joint_states
header: 
  seq: 1
  stamp: 
    secs: 1317580589
    nsecs: 692742109
  frame_id: ''
name: ['dummy_joint']
position: [0.0]
velocity: []
effort: []

---
header: 
  seq: 2
  stamp: 
    secs: 1317580589
    nsecs: 692742109
  frame_id: ''
name: ['dummy_joint']
position: [0.0]
velocity: []
effort: []

---

This seems to be caused by this line:

# disable /rosout and /rostime as this causes blips in the pubsub network due to rostopic pub often exiting quickly
rospy.init_node('rostopic', anonymous=True, disable_rosout=True, disable_rostime=True)

Wouldn't it be more sensible to enable rostime if

rostopic is called with the '-r' parameter (in other words, it won't exit quickly), and/or
the parameter use_sim_time is set?
Currently, "rostopic pub" is almost useless in simulation.

ticket 5192 change history:
Changed 15 months ago by gerkey

owner changed from gerkey to kwc
This ticket should really move to the ros Trac, but the TicketMoverPlugin seems have been disabled or removed in the recent server upgrade.

Changed 15 months ago by martin_guenther

Ooops, sorry about that. I actually started off at the right entry page ( https://code.ros.org/trac/ros/) without realizing that this was already the entry page, saw the list of available tracs and clicked right through to ros-pkg, since that seemed to fit best.

Perhaps the entry pages of the ros, ros-pkg and wg-ros-pkg tracs could have a message at the top saying something like "This is the bug tracker for the ROS core software (e.g. ROS client libraries, roslaunch, rostopic). To file a ticket, log in and select "new ticket" on the right." (like on http://www.ros.org/wiki/Tickets). Perhaps this would help with other people like me who can click faster than they can think.

Changed 15 months ago by kwc

status changed from new to closed
resolution set to duplicate
duplicate:

https://code.ros.org/trac/ros/ticket/3174

Changed 15 months ago by kwc

status changed from closed to reopened
resolution duplicate deleted
actually, this is different (read to fast, reopen)

Changed 15 months ago by kwc

status changed from reopened to closed
resolution set to duplicate
rather than fix the ticket move plugin, I updated 3174 with the additional detail of simtime vs. walltime as it's generally the same block of code at fault. Unfortunately, it's also a tricky block of code to fix as it requires a general API rewrite.

Linker error due to missing symbols from rostime

Compiiing a dry package that depends on rosbag only currently fails in ROS fuerte (installed from the Ubuntu repositories), as rosbag does not depend on package rostime or imports the rostime linker flags via the pkgconfig call:

Linking CXX executable ../bin/frame_id_adder
/usr/bin/cmake -E cmake_link_script CMakeFiles/frame_id_adder.dir/link.txt --verbose=1
/usr/lib/ccache/c++ -m64 -O2 -g -pthread CMakeFiles/frame_id_adder.dir/src/frame_id_adder.o -o ../bin/frame_id_adder -rdynamic -L/opt/ros/fuerte/lib -lrosbag -Wl,-rpath,/opt/ros/fuerte/lib
/usr/bin/ld: CMakeFiles/frame_id_adder.dir/src/frame_id_adder.o: undefined reference to symbol 'ros::TIME_MIN'
/usr/bin/ld: note: 'ros::TIME_MIN' is defined in DSO /opt/ros/fuerte/lib/librostime.so so try adding it to the linker command line
/opt/ros/fuerte/lib/librostime.so: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.