Ask Your Question

Felix Duvallet's profile - activity

2019-09-28 13:40:37 -0600 received badge  Nice Question (source)
2019-06-16 16:15:37 -0600 marked best answer What does "rcl" in ros2 stand for?

In ros2, the C++ include paths is something like:

#include "rclcpp/rclcpp.hpp"

and the python import looks like:

import rclpy

What does 'rcl' stand for?

2019-03-02 08:26:55 -0600 received badge  Notable Question (source)
2018-12-12 07:11:07 -0600 received badge  Nice Question (source)
2018-09-30 14:41:06 -0600 received badge  Good Question (source)
2018-08-03 06:45:23 -0600 received badge  Guru (source)
2018-08-03 06:45:23 -0600 received badge  Great Answer (source)
2018-07-10 06:50:02 -0600 received badge  Good Answer (source)
2018-06-25 14:30:44 -0600 received badge  Famous Question (source)
2018-06-20 09:52:34 -0600 received badge  Famous Question (source)
2018-05-23 09:45:49 -0600 edited question exclude some topics from rosbag play

exclude some topics from rosbag play I have a bag file with a bunch of topics inside of it, is it possible to exclude so

2018-03-08 07:52:50 -0600 received badge  Famous Question (source)
2018-01-17 07:21:57 -0600 received badge  Famous Question (source)
2018-01-17 07:21:57 -0600 received badge  Notable Question (source)
2017-09-12 03:36:54 -0600 received badge  Famous Question (source)
2017-09-07 03:02:48 -0600 received badge  Famous Question (source)
2017-07-24 03:16:09 -0600 answered a question How to search for ROS packages?

The rosindex tool is also very helpful for finding packages: You can se

2017-07-10 10:07:15 -0600 received badge  Nice Question (source)
2017-04-27 12:15:01 -0600 received badge  Nice Answer (source)
2017-02-15 06:57:17 -0600 received badge  Popular Question (source)
2017-01-26 06:23:17 -0600 received badge  Popular Question (source)
2017-01-17 18:06:18 -0600 received badge  Notable Question (source)
2017-01-03 16:35:09 -0600 received badge  Necromancer (source)
2016-11-12 12:47:19 -0600 received badge  Famous Question (source)
2016-10-24 10:06:49 -0600 received badge  Notable Question (source)
2016-10-24 09:01:27 -0600 received badge  Famous Question (source)
2016-10-21 11:04:32 -0600 received badge  Nice Answer (source)
2016-09-23 07:08:04 -0600 received badge  Guru (source)
2016-09-23 07:08:04 -0600 received badge  Great Answer (source)
2016-08-14 01:06:00 -0600 received badge  Good Answer (source)
2016-08-11 07:43:27 -0600 received badge  Nice Answer (source)
2016-08-11 06:35:13 -0600 commented answer What does environment set up do

Thanks for the comment, you're absolutely right. I've updated the answer. I think the link to the shared libraries tutorial is still helpful as a comment.

2016-08-11 01:51:43 -0600 answered a question What does environment set up do

The primary thing that happens when you source your catkin workspace's devel/setup.bash file is that you are setting environment variables.

For example, you'll notice a difference in many environment variables before & after sourcing the setup file:

  • ROS_PACKAGE_PATH: This tells ROS where to find packages, so that rosrun <pkg> <node> actually works.
  • CMAKE_PREFIX_PATH: This tells the compiler a bunch of stuff, including where to find the libraries defined in your package.
  • LD_LIBRARY_PATH: This is used at execution time to dynamically load shared libraries.
  • PYTHONPATH: This tells python where to look for any python modules defined in your package.

(There are others, there are just the important ones).

As an example, this is my ROS_PACKAGE_PATH before and after sourcing the setup file in some random catkin workspace:

$ cd /path/to/my/catkin_ws
$ source devel/setup.bash

Note the addition of my catkin workspace's src/ directory to the ROS_PACKAGE_PATH. This enables me to run any nodes I have defined in my workspace, otherwise only the system-installed packages are available. (Side note: /opt/ros/<distro>/ basically acts as one big catkin workspace too.)

Normally, you always source the global /opt/ros/<distro>/setup.bash every time you open a terminal because it's in your .bashrc file. However, since new terminal sessions don't carry over environment variables, you need to source your workspace's setup file again each time you open a new session.

If you do not want to have to source the workspace setup file yourself each time you open a new terminal, you can always add it to your .bashrc file:

echo "source /path/to/your/workspace/devel/setup.bash" >> ~/.bashrc

Obviously this only works if you have a single catkin workspace.

2016-08-04 13:29:49 -0600 marked best answer How can I integrate my ROS package with Travis continuous integration?

I want to run continuous integration (through travis-ci) for my ROS package, where can I find a .travis.yml file to get started?

2016-07-18 04:31:50 -0600 marked best answer exclude some topics from rosbag play

I have a bag file with a bunch of topics inside of it, is it possible to exclude some topics from being played back?

For example, the bag file might have:

topics:      /camera/depth/image            150 msgs    : sensor_msgs/Image          
             /camera/rgb/image_color        150 msgs    : sensor_msgs/Image          
             /joint_states                 2500 msgs    : sensor_msgs/JointState     
             /rosout                         35 msgs    : rosgraph_msgs/Log          
             /rosout_agg                     35 msgs    : rosgraph_msgs/Log          
             /tf                           7697 msgs    : tf2_msgs/TFMessage

And I might be interested in playing back everything except the /tf topic.

Is there a shorter way than rosbag play file.bag --topics <topic> with all topics?

2016-07-18 04:25:49 -0600 received badge  Notable Question (source)
2016-07-18 04:25:49 -0600 received badge  Famous Question (source)
2016-07-05 01:34:40 -0600 marked best answer Why would you remap the tf topic?

I've seen some code that looks like this:

 <node name="jointState2tf"
     <remap from="tf" to="hand/tf"/>
     <remap from="joint_states" to="hand/joint_states"/>

Why would one remap the /tf topic to something else (in this case, hand/tf)? Shouldn't all Transform messages go on the /tf topic anyways?

2016-06-30 04:45:09 -0600 asked a question Can rqt_plot show the norm of a message?

Can you plot the norm of some message's contents in rqt_plot? For example, you might want to see ||force|| in a Wrench message, or ||translation|| in a transform.

Is this behavior possible?

2016-06-23 06:45:44 -0600 asked a question Composing complex robots: xacro or static_tf_publisher?

I am composing a robot that consists of several independent parts (for example, a robot hand mounted on an arm).

So far, my "assembly" procedure has been a mix of two approaches:

  1. Create a single xacro file that includes other xacro files (for each robot), and define a link between them. This results in a single /robot_description parameter
  2. Load two robots into their own namespaces (e.g., arm/robot_description and hand/robot_description), then define a transform using static_transform_publisher.

What is considered the best style for doing a complex assemblage of robots? Note that here I'm talking about linking multiple components into a single robot, not multiple independent robots.