[ros-users] handling multiple topics in Python

Blaise Gassend blaise at willowgarage.com
Fri Apr 16 02:26:49 UTC 2010


Can you redo the rostopic hz like this:
rostopic hz /joy -w 10

It will make the results easier to interpret.

Could you also let me know what kind of joystick you are using, and how
exactly you are running the joy_node (exact command line arguments or
launch file). Have you also verified whether the node is outputting any
messages?

Failure to repeat is an annoyance for any users of the node so I want to
track this one down (it also seems like a better option than having you
write your own node).

Thanks,
Blaise

On Thu, 2010-04-15 at 16:55 -0700, Patrick Bouffard wrote:
> I was just now in the process of doing that.. The biggest I've seen is
> about 3 seconds. They tend to be relatively infrequent but frequent
> enough that they will be troublesome for my application. Here's an
> example output, this is with autorepeat_rate set to 5 Hz:
> http://pastebin.org/152943
> 
> I may take a quick try at writing a pure python node for the joystick
> using pygame as I'm familiar with that and had no issues with it using
> the same hardware. I'll let everyone know how that goes.
> 
> Pat
> 
> On Thu, Apr 15, 2010 at 4:43 PM, Blaise Gassend <blaise at willowgarage.com> wrote:
> > Try rostopic hz or rostopic echo to see if you are getting any gaps on
> > the /joy topic. How big are the gaps you are seeing?
> >
> > On Thu, 2010-04-15 at 12:12 -0700, Patrick Bouffard wrote:
> >> Thanks all for the responses, that gives me a few things to try.
> >>
> >> Regarding the joystick: I'm using joy_node from the joy package, and
> >> setting the autorepeat_rate parameter, so I should be getting a steady
> >> stream of joy messages, which I mostly do but sometimes there is a
> >> long gap. My suspicion is that it's my code that is to blame for that
> >> though.
> >>
> >> I'll hack on this a bit more and report back..
> >>
> >> Cheers,
> >> Pat
> >>
> >> On Thu, Apr 15, 2010 at 10:59 AM, Blaise Gassend
> >> <blaise at willowgarage.com> wrote:
> >> >> Rospy replaces the signal handler for SIGINT.  A running loop in your
> >> >> main thread will no longer be interrupted with a KeyboardInterrupt.
> >> >> Instead you should check rospy.is_shutdown() as a condition of your
> >> >> loop.
> >> >
> >> > Also, if you are using threads, SIGINT will only kill one of them even
> >> > without rospy. You have to make sure that each thread exits after a
> >> > KeyboardInterrupt (or after rospy.is_shutdown() goes true in the case of
> >> > rospy).
> >> >
> >> >
> >> > _______________________________________________
> >> > ros-users mailing list
> >> > ros-users at code.ros.org
> >> > https://code.ros.org/mailman/listinfo/ros-users
> >> >
> >> _______________________________________________
> >> ros-users mailing list
> >> ros-users at code.ros.org
> >> https://code.ros.org/mailman/listinfo/ros-users
> >
> >
> > _______________________________________________
> > ros-users mailing list
> > ros-users at code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-users
> >
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users





More information about the ros-users mailing list