Ask Your Question

Felix Messmer's profile - activity

2021-07-01 06:41:59 -0600 received badge  Nice Question (source)
2021-07-01 06:41:43 -0600 received badge  Famous Question (source)
2021-04-28 08:39:06 -0600 received badge  Famous Question (source)
2021-03-24 13:37:53 -0600 received badge  Favorite Question (source)
2021-03-24 13:37:35 -0600 received badge  Notable Question (source)
2021-02-06 19:45:17 -0600 received badge  Popular Question (source)
2021-01-05 04:03:12 -0600 asked a question rosjava for noetic

rosjava for noetic A simple question to start with: Has anybody been trying to use (or using) rosjava on ROS noetic?

2021-01-04 07:39:50 -0600 commented question [noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key

the respective PR is waiting for review/comments: https://github.com/ros-infrastructure/ros_buildfarm_config/pull/189

2020-12-08 15:42:17 -0600 received badge  Notable Question (source)
2020-12-08 13:41:44 -0600 edited answer [noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key

thanks for the PR for cob_monitoring - I'm no longer receiving the failure reports for that package anymore still, I re

2020-12-08 13:41:21 -0600 edited answer [noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key

thanks for the PR for cob_monitoring - I'm no longer receiving the failure reports for that package anymore still, I re

2020-12-08 13:40:08 -0600 answered a question [noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key

thanks for the PR for cob_monitoring - I'm no longer receiving the failure reports for that package anymore still, I re

2020-12-03 14:19:31 -0600 received badge  Popular Question (source)
2020-12-03 02:25:57 -0600 edited question [noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key

[noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key I'm getting daily mails about jenkins faili

2020-12-03 02:25:02 -0600 asked a question [noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key

[noetic] Build failed in Jenkins: debian/buster could not resolve rosdep key I'm getting daily mails about jenkins faili

2020-12-01 07:18:35 -0600 answered a question Ros-kinetic error: pcl_ros cannot find openmpi

although this question is quite old, the problem just recently popped up again: https://github.com/ros-planning/navigat

2020-12-01 07:17:51 -0600 answered a question costmap_2d expects non-existing include dir

although this question is quite old, the problem just recently popped up again: https://github.com/ros-planning/navigati

2020-03-16 10:27:33 -0600 commented question disable_rostime for roscpp

I ended up using https://www.boost.org/doc/libs/1_35_0/doc/html/boost_asio/tutorial/tuttimer2.html instead of the roscpp

2020-03-16 10:26:47 -0600 commented question disable_rostime for roscpp

I ended up using https://www.boost.org/doc/libs/1_35_0/doc/html/boost_asio/tutorial/tuttimer2.html

2020-03-16 10:25:36 -0600 received badge  Popular Question (source)
2020-03-13 10:25:34 -0600 edited question disable_rostime for roscpp

disable_rostime for roscpp I'm looking for the corresponding api in roscpp of the following rospy api rospy.init_node('

2020-03-13 10:24:41 -0600 edited question disable_rostime for roscpp

disable_rostime for roscpp I'm looking for the corresponding api in roscpp of the following rospy api rospy.init_node('

2020-03-13 10:24:05 -0600 asked a question disable_rostime for roscpp

disable_rostime for roscpp I'm looking for the corresponding api in roscpp of the following rospy api rospy.init_node('

2018-09-18 21:53:48 -0600 marked best answer How to convert *.urdf.xacro files to *.sdf for gazebo?

Dear all,

as with the latest gazebo version (1.7.12-s1367893033~precise) in groovy, it seems that our *.urdf.xacro files are finally not supported anymore.

I found out about the latest .sdf format (1.3) and already tried to update some of our files. I.e. I replaced

  <xacro:macro name="sick_s300_laser_gazebo_v0" params="name ros_topic update_rate min_angle max_angle">
    <gazebo reference="${name}_link">
      <sensor:ray name="${name}">
        <rayCount>541</rayCount>
        <rangeCount>541</rangeCount>
        <laserCount>1</laserCount>

        <origin>0.0 0.0 0.0</origin>
        <displayRays>false</displayRays>

        <minAngle>${min_angle*180.0/M_PI}</minAngle>
        <maxAngle>${max_angle*180.0/M_PI}</maxAngle>

        <minRange>0.05</minRange>
        <maxRange>30.0</maxRange>
        <resRange>0.03</resRange>
        <updateRate>${update_rate}</updateRate>
        <controller:gazebo_ros_laser name="gazebo_ros_${name}_controller" plugin="libgazebo_ros_laser.so">
          <gaussianNoise>0.005</gaussianNoise>
          <alwaysOn>true</alwaysOn>
          <updateRate>${update_rate}</updateRate>
          <topicName>${ros_topic}</topicName>
          <frameName>/${name}_link</frameName>
          <interface:laser name="gazebo_ros_${name}_iface" />
        </controller:gazebo_ros_laser>
      </sensor:ray>
      <material value="IPA/LightGrey" />
    </gazebo>
  </xacro:macro>

with

  <xacro:macro name="sick_s300_laser_gazebo_v0" params="name ros_topic update_rate min_angle max_angle">
    <gazebo reference="${name}_link">
    <sensor name="${name}" type="ray">
        <ray>
            <scan>
                <horizontal>
                    <samples>541</samples>
                    <resolution>1.0</resolution>
                    <min_angle>${min_angle*180.0/M_PI}</min_angle>
                    <max_angle>${max_angle*180.0/M_PI}</max_angle>
                </horizontal>
            </scan>
            <range>
                <min>0.05</min>
                <max>30.0</max>
                <resolution>0.03</resolution>
            </range>
        </ray>
    </sensor>       

      <material value="IPA/LightGrey" />
    </gazebo>
  </xacro:macro>

for the urdf.xacro files for one of our sensors.

However, if I then spawn our robot, I get the following message from gazebo:

fxm@sony-fxm:/opt/ros/groovy/stacks/simulator_gazebo/gazebo_worlds/worlds$ roslaunch gazebo_worlds empty_world.launch 
... logging to /home/fxm/.ros/log/320cbf70-bca0-11e2-9ff7-00271039ca78/roslaunch-sony-fxm-20823.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://sony-fxm:55478/

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /rosversion
 * /use_sim_time

NODES
  /
    gazebo (gazebo/gazebo)
    gazebo_gui (gazebo/gui)

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

setting /run_id to 320cbf70-bca0-11e2-9ff7-00271039ca78
process[rosout-1]: started with pid [20850]
started core service [/rosout]
process[gazebo-2]: started with pid [20864]
process[gazebo_gui-3]: started with pid [20876]
Gazebo multi-robot simulator, version 1.5.0
Copyright (C) 2013 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Gazebo multi-robot simulator, version 1.5.0
Copyright (C) 2013 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Warning [parser.cc:361] Converting a deprecated SDF source[/opt/ros/groovy/stacks/simulator_gazebo/gazebo_worlds/worlds/empty.world].
Set SDF value
  Version[1.2] to Version[1.3]
  Please use the gzsdf tool to update your SDF files.
    $ gzsdf convert [sdf_file]
Msg Waiting for master[ INFO] [1368540701.989137839]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...

Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 10.17.55.151
Msg Waiting for master
Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 10.17.55.151
Error [Events.hh:141] Events::ConnectWorldUpdateStart is ...
(more)
2018-07-18 06:44:35 -0600 received badge  Nice Answer (source)
2018-03-25 16:06:53 -0600 received badge  Nice Question (source)
2017-10-31 21:22:02 -0600 received badge  Favorite Question (source)
2017-02-17 07:13:53 -0600 received badge  Nice Question (source)
2016-03-01 16:45:59 -0600 commented answer Can't build ipa_canopen

Unfortunately, I don't know this arm. It's none of the ones with example files in schunk_robots. Ask Schunk directly! But if you are going to use ROS with it, you will most likely also face the problem that no URDF exists (yet).

2015-08-31 21:16:10 -0600 marked best answer Use Morse to interface with Blender

Hi everybody,

I would like to use Morse to interface between ROS and the Blender Game Engine to simulate a robot that has been modeled in Blender. But I'm having problems with getting started - I think it has something to do that I have both python2.7 and python3.2 installed (more to it later).

I'm using ROS Electric on a Ubuntu 11.04 Natty and Blender 2.63. I followed the installation instructions on http://www.openrobots.org/morse/doc/stable/user/installation.html to install Morse.

Since Morse requires python3.2 it installed it via Synaptic Package Manager. The following command was used to install Morse

cmake -DCMAKE_INSTALL_PREFIX=/opt/morse -DBUILD_ROS_SUPPORT=ON -DPYMORSE_SUPPORT=ON -DCMAKE_BUILD_TYPE=RELEASE -DPYTHON3_EXECUTABLE=/usr/bin/python3 -DPYTHON_EXECUTABLE=/usr/bin/python ..

sudo make install

This worked fine but when I tried to run

morse <some_file>.blend

I got encoding errors. Since this is mentioned in the installation instructions, I downloaded python 3.2.3 source code and installed it from source using

./configure --with-wide-unicode

After setting the PYTHONPATH accordingly, I tried to reinstall Morse but it failed due to an error with the shared library or so (I don't know the exact error message anymore).

I was able to install Morse after I reconfigured and reinstalled python using

./configure --enable-shared --with-wide-unicode --with-system-expat --with-system-ffi

Now, when I want to run

morse <some_file>.blend

I get the following error message

Traceback (most recent call last):
  File "/opt/morse/bin/morse", line 32, in <module>
    import tempfile
  File "/usr/local/lib/python3.2/tempfile.py", line 37, in <module>
    from random import Random as _Random
  File "/usr/local/lib/python3.2/random.py", line 43, in <module>
    from os import urandom as _urandom
ImportError: cannot import name urandom

Can anyone help me with this?

Best regards, Felix

2015-06-18 08:57:35 -0600 received badge  Nice Question (source)
2015-02-24 13:31:10 -0600 received badge  Stellar Question (source)
2014-10-17 08:43:39 -0600 received badge  Nice Question (source)
2014-07-03 17:43:32 -0600 received badge  Famous Question (source)
2014-05-09 00:15:49 -0600 received badge  Notable Question (source)
2014-05-09 00:15:49 -0600 received badge  Popular Question (source)
2014-04-20 06:53:51 -0600 marked best answer Use Matlab Code within ROS

Dear all,

I am currently investigating several methods for how Matlab code can be used within ROS.

I was able to use rosbridge to exchange data with Matlab. However, this requires a lot of ASCII-parsing on the Matlab side.

Then I found out about the possibility to package Matlab code into C++ shared libraries using the Matlab Compiler toolbox (deploytool). This would have been the ideal solution to my problem since Matlab would not need to be running and still ROS could use the Matlab functionality. However, because Matlab comes with its own Boost libraries integrated (version 1.44) it is not possible to use these shared libraries within ROS (linked against Boost version 1.46 under Ubuntu 12.04). Is there anyone else who tried to use Matlab shared libraries within ROS? And succeeded?

I also found the IPC-Bridge approach (IPC-Bridge) and TU Darmstadt's rosmatlab. However, both will need a running Matlab.

Furthermore, although IPC-Bridge solves the ASCII parsing problem, it is limited to support topic communication. Or has support for services been added already?

As to rosmatlab, linking ROS against Matlab's Boost libraries is not really suitable for my problem as I use other software packages depending on Boost as well. So it would get really nasty.

Anyway, I would like to hear about your experiences with any of the proposed solutions!

Best regards, Felix

2014-04-20 06:52:58 -0600 marked best answer Creating Octomap from Blender file

Dear all,

I would like to use dynamicEDT3D that comes with octomap for distance computation. For the moment this question is not necessarily a ROS issue, but I hope to get an answer to my problem here as well.

I am using the latest source code from the octomap github repository and built it. I created a simple environment within blender (2.61) only consisting of a wall spanning from 0,05..x..0,15 -0,5..y..0,5 0,0..z..1,0 (Blender coordinates) and a point lamp. Then, I followed the tutorial to generate a binary tree to initialize the octomap structure.

I used the following commands:

  • Export as X3D Extensible 3D file with 'Y forward' and 'Z up'
  • xsltproc -o collision_test_envYZ.vrml X3dToVrml97.xslt collision_test_envYZ.x3d

    [Info] <x3d profile="Immersive"> differs from computed profile='Interactive' [Hint] preferred Dublin Core Metadata Term is name='title' (vice filename) <meta name="filename" content="collision_test_envYZ.x3d"/> [Hint] Recommended: add <meta name="description" content="..."/> for documentation [check X3D source or VRML output to find pertinent head] [Hint] Recommended: add <meta name="created"/> date content for documentation [check X3D source or VRML output to find pertinent head] [Hint] Recommended: add <meta name="modified"/> date content for documentation [check X3D source or VRML output to find pertinent head] [Warning] PointLight node location and radius are affected by translation and scaling of parent <transform def="Point_TRANSFORM" translation="0.000000 0.000000 1.500000" scale="1.000000 1.000000 1.000000"/> [PointLight DEF='LA_Point']

  • ./binvox64 -bb -1.0 -1.0 -1.0 1.0 1.0 1.0 -d 200 ~/octomap/data/collision_test_envYZ.vrml

    --- [binvox] mesh voxelizer, version 1.08, build #445 on 2011/08/02 18:49:00 --- written by Patrick Min, 2004-2011

    will force bounding box to be [-1, -1, -1, 1] - [1, 1, 1, 1] loading model file... MeshFileIdentifier::*create_mesh_file(/home/fxm/octomap/data/collision_test_envYZ.vrml) VrmlMeshFile::load(/home/fxm/octomap/data/collision_test_envYZ.vrml) Timer [load_vrml] started VRML version 2.0 75 lines read, and 4 top level nodes Mesh::add_def_name_group(Point_TRANSFORM, 0, -1, 0) Mesh::add_def_name_group(group_ME_Cube, 0, 5, 2) Mesh::add_def_name_group(Cube_ifs_TRANSFORM, 0, 5, 1) Mesh::add_def_name_group(Cube_TRANSFORM, 0, 5, 0) freeing VRML memory Timer [load_vrml] stopped at 0.000439 seconds bounding box: [0.05, -0.5, 0, 1] - [0.15, 0.5, 1, 1] normalization transform: (1) translate [-0.05, 0.5, -0, 1], (2) scale 1, (3) translate [0, 0, 0] removed 0 faces before rendering

    voxel model dimension: 200 Graphics card and driver information: Vendor: NVIDIA Corporation Renderer: GeForce GT 330M/PCI/SSE2 Version: 3.3.0 NVIDIA 270.41.06 Voxels::init(200, 200, 200) calling set clip box SimpleMeshView::set_clip_box Voxelizer::carve_voxelize doing x direction doing y direction doing z direction Voxelizer::parity_vote_voxelize doing x direction doing y direction doing z direction Voxels::process_votes Voxelizer::voxelize took 0.680941 seconds area filled: 20 x 200 x 200 integer bounding box: [0,0,0] - [19,199,199]

    writing voxel file... VoxelFile::write_file(/home/fxm/octomap ...

(more)
2014-04-20 06:48:38 -0600 marked best answer GenericPublisher using ShapeShifter and SerializedMessage

Hi there,

I want to write a generic publisher that is able to publish ros-topics where each instance of this class publishes topics of different message types (e.g. pub_1 publishes std_msg::Int32, pub_2 publishes sensor_msgs::PointCloud2,...).

I work with serialized messages, i.e.:

ros::serialization::IStream i_stream((u_int8_t*) testArray.data(), m_genericRosTopic.SerializedMessageSize);

contains my serialized message which I want to publish. I also know the message type and the topic_name, that I want to publish on.

How can I do this in a generic way? I saw that the ros::Publisher class has a publish() function that is able to publish a ros::SerializedMessage.

Thus, I made a SerializedMessage from the IStream:

boost::shared_array<uint8_t> buf(i_stream.getData());
ros::SerializedMessage msg(buf, i_stream.getLength());

My generic publisher class has a ros::Publisher as a member. For advertising, I found:

m_genericRosTopic_publisher = m_shapeShifter.advertise(n, m_genericRosTopic.TopicName, 10);

After that I would like to publish the topic somehow:

m_genericRosTopic_publisher.publish(msg);

Publishing like this doesn't work. I guess there is still something missing. But it seems that everything I need is already there (somewhere in roscpp), but I am not able to put the puzzle together.

Can someone help me out here, by clarifying the correct usage of topic_tools::ShapeShifter, ros::SerializedMessage and ros::Publisher?

Thanks for your help!

2014-04-20 06:47:17 -0600 marked best answer trajectory_filter

Dear community,

I have some questions about the trajectory_filter...

First of all, here is how we currently set it all up:

  • cob_arm_navigation/cob3_trajectory_filter.launch (sorry, can't post or attach the file on answers.ros)

  • cob_arm_navigation/filters.yaml (dito)

  • in cob_arm_navigation/cob3_move_arm.launch:
    "trajectory_filter_allowed_time" type="double" value="2.0"

This is actually the configuration that I took from the pr2_arm_navigation tutorials a while ago...adopted to the care-o-bot...but I never looked into it more closely.

When I now do planned motion using the OMPL planner or our own PRMCE planner (which I am currently implementing and testing; for the idea behind it see Leven&Hutchinson: "A Framework for Real-time Path Planning in Changing Environments"), we come across some problems:

1)

Moving from a collision-free position to our home position using OMPL planner, I sometimes (not always) get the following EXCEPTION from the trajectory_filter

Info: LBKPIECE1: Starting with 2 states Info: LBKPIECE1: Created 36 (21 start + 15 goal) states in 32 cells (18 start + 14 goal) But the filtered trajectory does have filled time_from_start and also the movement in visualization does reach the goal. Also, the planned trajectory does already have a duration time_from_start, which starts with 0.0 for the first trajectory point and than adds 10 ms per point (equidistant).

2) BTW, why does the planned trajectory (PATH?) already include time_from_start?

After the trajectory filter they seem to be adjusted and not equidistant anymore. How are these new time_from_start s calculated and where? I guess it's with respect to the distance of the neighboring trajectory points and the max_vel of the arm.

As described in http://code.ros.org/lurker/message/20...

we also have problems with moving on that filtered trajectory! We first assumed that it has something to do with the dynamic model of the arm, but maybe it's just because the arm can not hold the velocities that derives from these time_from_start s.

Since, when setting the time_from_start to about 2 seconds per trajectory point, it works fine.

I'd be pleased to hear some of your opinions on this! Also, if anybody has suggestions on other/better trajectory_filter configurations, please let me know!!!

As always, if you have questions or need more details, let me know as well!

Thanks! Felix

2014-02-03 23:48:57 -0600 edited question Initialize rospy in rqt_plugin

Dear all,

I am trying to write a simple rqt_plugin for ROS Groovy in Python. The plugin is located in a rosbuild package.
My plugin is supposed to publish to a topic using data entered in the UI created with qt-designer.
I already can start the UI to fill a visualization_msgs::Marker message with the according current data. I can also use my plugin both standalone (rosrun my_pkg my_plugin) as well as with rqt.

However, after starting the pulugin, there is no ROS node initialized for it. Thus, also the topic is not advertised and I get an error when calling the publish() function of the Publisher I created in the plugin
Error Message: rospy.exceptions.ROSException: ROS node has not been initialized yet. Please call init_node() first

As I read in the tutorial, the plugin itself should not call init_node() as rqt is doing this.
So where does this initialization happen? Do I need to overload a certain function?
My plugin is derived from rqt_gui_py.plugin.Plugin.
I use a separate my_plugin_widget class similar to the existing rqt_plugins (e.g. rqt_publisher).

One thing, I found is that I need to set qt_gui_py::Plugin as the base_class_type within the plugin.xml

<class base_class_type="qt_gui_py::Plugin" name="MirorRGB" type="miror_rqt_gui.miror_rgb.MirorRGB">
...
</class>

Also, I need to have

  <export>
     <qt_gui plugin="${prefix}/plugin.xml">
  </qt_gui></export>

in my manifest.xml in order to be able to find my plugin with rqt --list-plugins and to be able to start it.

This is different from what the tutorials on the ROS wiki states where rqt_gu_py::Plugin is used in the plugin.xml and rqt_gui in the manifest.xml.

I hope someone is able to help.
If more information on my setup is needed, feel free to ask.

Thanks!