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

Kurt Leucht's profile - activity

2022-07-18 05:35:24 -0500 received badge  Nice Answer (source)
2021-04-19 09:53:32 -0500 received badge  Famous Question (source)
2020-09-21 17:02:46 -0500 received badge  Famous Question (source)
2020-04-21 23:07:23 -0500 received badge  Nice Answer (source)
2020-04-03 16:38:45 -0500 commented answer RealSense D435 gazebo plugin

I'm stuck on ROS kinetic and Gazebo 7.0, so that could be why it doesn't work for me.

2020-04-03 16:24:29 -0500 commented question how connect ros to web hosting (web cam streaming)

There's no reason to get ROS involved at all here. There are lots of tools and utilities on the Internet that you can i

2020-04-03 16:17:20 -0500 edited answer Data collected from ROS

You can record any ROS data you want using rosbag record: http://wiki.ros.org/rosbag/Commandline Then you can play tha

2020-04-03 16:16:46 -0500 edited answer Data collected from ROS

You can record any ROS data you want using rosbag record: http://wiki.ros.org/rosbag/Commandline Then you can play tha

2020-04-03 16:14:45 -0500 received badge  Rapid Responder (source)
2020-04-03 16:14:45 -0500 answered a question Data collected from ROS

You can record any ROS data you want using rosbag record: http://wiki.ros.org/rosbag/Commandline Then you can play tha

2020-04-03 16:03:54 -0500 commented answer RealSense D435 gazebo plugin

So just for fun, I cloned and built the original plugin for the RS200 camera. It built fine but seemed to not do anythi

2020-04-03 15:20:12 -0500 edited answer RealSense D435 gazebo plugin

Not sure if this helps, but it looks like the full list of realsense_gazebo_plugin configurable parameters are listed in

2020-04-03 15:17:15 -0500 received badge  Rapid Responder (source)
2020-04-03 15:17:15 -0500 answered a question RealSense D435 gazebo plugin

Not sure if this helps, but it looks like the full list of realsense_gazebo_plugin configurable parameters are listed in

2020-04-03 13:41:22 -0500 commented answer example RQT plugin in C++ that uses signals/slots

"This was very helpful to me and should certainly go into the tutorial!" Thank you!

2020-04-03 13:40:58 -0500 commented answer example RQT plugin in C++ that uses signals/slots

"This definitely should be in the tutorials, many thanks to you." Thanks! I agree! Would have saved me a ton of time

2020-04-03 13:34:36 -0500 commented question Obstacle avoidance with pure Vision approach?

unless the 2 cameras are separated by a good distance, right? Isn't it just simple geometry?

2019-05-20 02:28:22 -0500 marked best answer how do I override the default bounds (max and min) for my payload in ur_driver (and/or ur_modern_driver)?

I'm very very new to ur_driver (urd, for short) and ur_modern_driver (urMd, for short) and I really do not understand how they work. I thought urMd was advertised as a drop in replacement for urd, but when I try to build my workspace with only urMD without urd there, it fails. So apparently there are some dependencies or assumptions there that I don't understand.

So I've got both cloned from github and built on Ubuntu 16.04 and ROS kinetic. And I'm able to control my UR10 arm using the sample test_move.py script, which is completely awesome! But I am needing to pick up a 16kg payload, so I'm calling the SetPayload service (which appears to be in urd, not urMd) and it won't let me change the value above 9.9999

So where is the limit of 10kg set and how do I go about changing that limit? I saw a reference in the urMd code to the parameter server so I changed the value on the parameter server, but for some reason I am still unable to set the value using the service above 9.9999

So I'm not sure where that value is actually being limited.

Thanks for any help you can give.

2019-05-20 02:05:08 -0500 marked best answer Is there a plan to clean up Tags on ROS Answers site?

I'm not suggesting that it be a manual effort. There definitely should be an easy-button for admins to accomplish this task. and maybe eventually it could even be completely automated.

But I just earlier asked a Universal Robots question and the following three Tags were all available for me to use:

universal-robot 
universal-robots 
universal_robot

Not knowing which was the most popular choice, I chose to tag my post with all 3. Which is not ideal. For several reasons.

Is there an effort or a plan to reduce examples like this to a single commonly used Tag? It's website maintenance that would need to be done on a regular basis, because users will continue to make sloppy in-informed Tags.

2019-01-06 07:29:27 -0500 marked best answer using an external library: C versus C++ issue

I downloaded a vendor's library for accessing analog I/O ( http://www.rtd.com/software/CM/aAIO/a... ) on their motherboard ( http://www.rtd.com/PC104/CM/CMX32/CMX... ) and it works fine. I can compile the driver, install the driver, compile the library, compile the example usage code and run the example usage code that uses the library. It works like a charm. All the compiles use the command line "make" command. My problem is that I can't figure out how to get this exact same example code to compile in my catkin workspace and then add ROS code into it so I can publish the analog readings as ROS topics.

(Actually the link to the tarball above is old and the vendor emailed me a new version that is not on their website yet. Let me know if you would like me to get that corrected tarball to you.)

The example code I want to start with is "soft_trig.c" from the examples folder. I can copy that file into my catkin package, add it to the CMakeLists.txt, get it to compile as straight C code linked to the library without any ROS calls, and even execute it using rosrun just fine.

Here is my working CMakeLists.txt:

cmake_minimum_required(VERSION 2.8.3)
project(ros_aaio_node)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
)

catkin_package(
)

include_directories(
  ~/aaio/include
  ${catkin_INCLUDE_DIRS}
)

link_directories(~/aaio/lib)

add_executable(ros_aaio_node src/soft_trig.c)

target_link_libraries(ros_aaio_node
  rtd-aaio
  ${catkin_LIBRARIES}
)

So now I want to add ROS stuff to the file so I can publish data as ROS Topics. This is where I don't know what to do. I added

#include <ros/ros.h>

to the file and I got lots of compile errors. Lots of header files were not found.

It occurred to me that all my other ROS code was cpp files, not c files, so I renamed the file to soft_trig.cpp and changed the executable line in the CMakeLists.txt file too and I get a lot of different compile errors now. Tons of deprecated conversion warnings and several invalid conversion errors.

I saw some working code on another project where a coworker had been using a straight C compiled library with their ROS code and they used these two lines in their CMakeLists.txt:

set(CMAKE_C_FLAGS "-std=c99" )
set(CMAKE_CXX_FLAGS "-fpermissive")

So I tried that and all the compiler warnings and errors went away. But now I get a whole slew of undefined reference errors during linking.

Linking CXX executable ~/catkin_ws/devel/lib/ros_aaio_node/ros_aaio_node
CMakeFiles/ros_aaio_node.dir/src/soft_trig.cpp.o: In function `main':
soft_trig.cpp:(.text+0x851): undefined reference to `aAIO_Open(aAIO_Descriptor**, unsigned char)'
soft_trig.cpp:(.text+0x873): undefined reference to `aAIO_Return_Status(aAIO_Descriptor*, int, char*)'
soft_trig.cpp:(.text+0x8a0): undefined reference to `aAIO_Reset(aAIO_Descriptor*)'
soft_trig.cpp:(.text+0x8c2): undefined reference to `aAIO_Return_Status(aAIO_Descriptor*, int, char*)'
soft_trig.cpp:(.text+0x934): undefined reference to `aAIO_Install_ISR(aAIO_Descriptor*, void (*)(unsigned int), void (*)(unsigned int), void (*)(unsigned int), void (*)(unsigned int), void (*)(unsigned ...
(more)
2018-12-18 02:04:47 -0500 received badge  Famous Question (source)
2018-12-03 13:34:23 -0500 received badge  Famous Question (source)
2018-11-29 22:56:12 -0500 received badge  Notable Question (source)
2018-08-10 22:54:00 -0500 received badge  Famous Question (source)
2018-06-05 05:42:54 -0500 received badge  Popular Question (source)
2018-04-16 08:02:06 -0500 received badge  Good Answer (source)
2018-04-16 08:02:06 -0500 received badge  Enlightened (source)
2018-02-16 07:14:13 -0500 commented question launch 2 independently controlled ur5 arms in gazebo

Many of the xacro files seem to have a ${prefix} variable before most of the joint names and such, so that may be the an

2018-02-14 13:28:20 -0500 commented question Obstacle avoidance with pure Vision approach?

You need good contrast in order for stereo cameras to give you good depth information.

2018-02-14 13:21:04 -0500 received badge  Notable Question (source)
2018-02-14 13:20:29 -0500 received badge  Notable Question (source)
2018-02-14 13:06:14 -0500 asked a question launch 2 independently controlled ur5 arms in gazebo

launch 2 independently controlled ur5 arms in gazebo I am running ROS Kinetic on Ubuntu 16.04. I am able to launch a si

2018-01-30 21:11:40 -0500 marked best answer Does a CAN bus library or package exist in ROS?

Newbie here. I have installed ROS Hydro and I have run through all the ROS basic tutorials but I have no practical experience yet. I have an ELMO motor controller and motor set up on a workbench with a CAN bus interface. I'm ready to try to write some code to send commands over the CAN bus to turn the motor on and off, but I don't really know where to start.

Are there any CAN bus libraries included with ROS or something that I can download as a plugin? Any other advise for a newbie? Thanks in advance!

2018-01-16 06:43:18 -0500 marked best answer example RQT plugin in C++ that uses signals/slots

I cannot for the life of me figure out how to use signals and slots to pass information to the GUI widget in an RQT plugin that is written in C++. The ROS Tutorial for creating a C++ RQT plugin doesn't even have any data widgets in the GUI, let alone any code to show how to use signals/slots to pipe data to a data widget: http://wiki.ros.org/rqt/Tutorials/Wri...

After several hours of trial and error, I was able to figure out a solution for using signals/slots in a Python RQT plugin, but I can't seem to make the stretch to C++.

Here is the python example I created starting from the ROS Tutorial for creating a python RQT plugin ( https://github.com/lucasw/rqt_mypkg ) and then adding some of this code from ROS Answers where a user asked how to use signals/slots in python: http://answers.ros.org/question/22415...

my_module.py:

import os
import rospy

from qt_gui.plugin import Plugin
from python_qt_binding import loadUi
from python_qt_binding.QtGui import QWidget
from std_msgs.msg import Int32
from PyQt4.QtCore import SIGNAL

class MyPlugin(Plugin):

    def __init__(self, context):
        super(MyPlugin, self).__init__(context)
        # Give QObjects reasonable names
        self.setObjectName('MyPlugin')

        # Process standalone plugin command-line arguments
        from argparse import ArgumentParser
        parser = ArgumentParser()
        # Add argument(s) to the parser.
        parser.add_argument("-q", "--quiet", action="store_true",
                      dest="quiet",
                      help="Put plugin in silent mode")
        args, unknowns = parser.parse_known_args(context.argv())
        if not args.quiet:
            print 'arguments: ', args
            print 'unknowns: ', unknowns

        # Create QWidget
        self._widget = QWidget()
        # Get path to UI file which is a sibling of this file
        # in this example the .ui and .py file are in the same folder
        ui_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'MyPlugin.ui')
        # Extend the widget with all attributes and children from UI file
        loadUi(ui_file, self._widget)
        # Give QObjects reasonable names
        self._widget.setObjectName('MyPluginUi')
        # Show _widget.windowTitle on left-top of each plugin (when 
        # it's set in _widget). This is useful when you open multiple 
        # plugins at once. Also if you open multiple instances of your 
        # plugin at once, these lines add number to make it easy to 
        # tell from pane to pane.
        if context.serial_number() > 1:
            self._widget.setWindowTitle(self._widget.windowTitle() + (' (%d)' % context.serial_number()))
        # Add widget to the user interface
        context.add_widget(self._widget)

        # kurt added these lines
        self.sub = rospy.Subscriber('my_data', Int32, self.ros_msg_callback, queue_size=1)
        self.connect(self, SIGNAL("changeUI(PyQt_PyObject)"), self.monitoring_slot)

    # kurt added this callback
    def ros_msg_callback(self, data):
        self.emit(SIGNAL("changeUI(PyQt_PyObject)"), data)
        pass

    # kurt added this slot routine
    def monitoring_slot(self, data):
        self._widget.data_myData.setText(str(data))
        self._widget.data_myData.setStyleSheet("color: black; background-color: red;")
        pass

    def shutdown_plugin(self):
        # TODO unregister all publishers here
        pass

    def save_settings(self, plugin_settings, instance_settings):
        # TODO save intrinsic configuration, usually using:
        # instance_settings.set_value(k, v)
        pass

    def restore_settings(self, plugin_settings, instance_settings):
        # TODO restore intrinsic configuration, usually using:
        # v = instance_settings.value(k)
        pass

    #def trigger_configuration(self):
        # Comment ...
(more)
2018-01-16 06:43:18 -0500 received badge  Nice Answer (source)
2017-10-10 11:09:28 -0500 received badge  Popular Question (source)
2017-10-02 10:33:57 -0500 commented answer IMU Calibration on Ground Robot - how do people do it?

This is really out of my domain. But I suspect that if you move/drive the robot around in it's normal axis of motion du

2017-10-02 10:18:12 -0500 commented question How can I retrieve a list of process IDs of ROS nodes?

Good to know. Thanks.

2017-10-02 10:16:39 -0500 commented answer Universal Robot: can I access the joint currents in ROS?

Wow. Thanks! I noticed this effort field when I first installed the UR drivers, but I didn't understand what it was fo

2017-10-02 10:15:08 -0500 marked best answer Universal Robot: can I access the joint currents in ROS?

I am successfully able to command my UR10 from a ROS node. I'm using Ubuntu 16.04, ROS Kinetic, the ROS universal robot package, and the ROS ur_modern_driver package (plus a minor code fix that I found on the Internet to make it compile under Ubuntu 16.04).

When I use the pendant to control the arm, I occasionally look at the joint current amperage values on the log tab in order to make decisions. Mostly when picking up payloads or dropping them off. Is there a way to access the real-time joint currents from ROS? Or am I just trying to do it all wrong?

2017-10-02 10:14:42 -0500 commented answer Is there a plan to clean up Tags on ROS Answers site?

I agree that every little effort will help. But how do you incentivize and make it easy for site visitors to clean up t