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

tbondar's profile - activity

2022-08-30 08:45:53 -0500 received badge  Nice Question (source)
2021-11-18 18:25:25 -0500 marked best answer Reference frames of Odometry Message

Hi All,

I'm just learning ROS and would like to ask your help to clarify something I'm totally confused by. In this tutorial the nav_msgs/Odometry message is explained as follows:

The pose in this message corresponds to the estimated position of the robot in the odometric frame [....] The twist in this message corresponds to the robot's velocity in the child frame, normally the coordinate frame of the mobile base [....]

The robot's velocity in the mobile base frame should be always zero, shouldn't it? (Because the pose of the robot in the mobile base frame is constant.) I think I fundamentally misunderstand the concept. Could someone please explain why it is a good idea to use different reference frames for pose and twist? I thought the Odometry message was used to describe the robot's position and velocity (both linear and angular) in the odom frame, but this doesn't seem to be the case.

Thank you, -Tamás

2021-11-18 18:24:03 -0500 received badge  Student (source)
2021-09-16 05:55:48 -0500 received badge  Famous Question (source)
2021-09-16 05:55:48 -0500 received badge  Notable Question (source)
2021-07-14 10:41:57 -0500 received badge  Famous Question (source)
2021-03-17 09:28:39 -0500 received badge  Famous Question (source)
2021-02-23 12:35:11 -0500 received badge  Famous Question (source)
2021-01-27 17:09:08 -0500 received badge  Notable Question (source)
2020-12-21 13:47:56 -0500 received badge  Famous Question (source)
2020-11-04 10:40:35 -0500 received badge  Notable Question (source)
2020-11-04 06:02:02 -0500 commented answer compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

@gvdhoorn I'm linking one of your previous answers here as it's related to this topic and helped me to track this a bit

2020-11-04 05:23:40 -0500 marked best answer compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

Hi, I'm getting a few of the following warning when compiling a node using geometry_msgs::Twist. Any idea what I'm doing wrong and how to get rid of it?

EDIT: Updated warning to match the source code below.

In file included from /usr/include/boost/bind.hpp:22:0,
             from /opt/ros/melodic/include/ros/publisher.h:35,
             from /opt/ros/melodic/include/ros/node_handle.h:32,
             from /opt/ros/melodic/include/ros/ros.h:45,
             from /home/odroid/marionette-ros/src/marionette_control/src/trx2_node.cpp:1:
/usr/include/boost/bind/bind.hpp: In constructor 'boost::_bi::list1<A1>::list1(A1) [with A1 = boost::reference_wrapper<const geometry_msgs::Twist_<std::allocator<void> > >]':
/usr/include/boost/bind/bind.hpp:231:14: note: parameter passing for argument of type 'boost::reference_wrapper<const geometry_msgs::Twist_<std::allocator<void> > >' changed in GCC 7.1
    explicit list1( A1 a1 ): base_type( a1 ) {}
             ^~~~~

I get multiple warnings like this, the last line being different. Further examples:

[...]
BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1), A1 a1)
[...]
return _bi::bind_t<R, F, list_type> (f, list_type(a1));
[...]
explicit storage1( A1 a1 ): a1_( a1 ) {}

I use melodic on Ubuntu 18.04.5 on an Odroid (ARM). My compiler version:

$ gcc --version
gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

EDIT: Stripped down source code to reproduce the issue:

#include <ros/ros.h>
#include <geometry_msgs/Twist.h>

int main (int argc, char** argv)
{
    ros::init(argc, argv, "trx2_node");
    ros::NodeHandle nh("~");

    ros::Publisher pub_twist;

    pub_twist = nh.advertise<geometry_msgs::Twist>("odom_vel", 10);

    geometry_msgs::Twist t;

    pub_twist.publish(t);

    ros::Rate rate(100);

    while (ros::ok())
    {
        rate.sleep();
    }
}
2020-11-04 04:45:09 -0500 received badge  Popular Question (source)
2020-11-04 04:41:13 -0500 commented answer compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

Yes, I use pre-build packages built for armhf. Does this mean that I sould use an earlier compiler to match the compiler

2020-11-04 03:32:54 -0500 commented question compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

@mgruhler Thanks for your comment. I've updated my post with more information. Let me know what else to add to make it m

2020-11-04 03:31:25 -0500 edited question compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

catkin_make compilation warning Hi, I'm getting a few of the following warning when compiling a node using geometry_msgs

2020-11-04 03:26:01 -0500 edited question compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

catkin_make compilation warning Hi, I'm getting a few of the following warning when compiling a node using geometry_msgs

2020-11-04 03:22:10 -0500 edited question compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

catkin_make compilation warning Hi, I'm getting a few of the following warning when compiling a node using geometry_msgs

2020-11-03 13:35:01 -0500 asked a question compiler warning: parameter passing for argument X changed in GCC 7.1 (ARM)

catkin_make compilation warning Hi, I'm getting a few of the following warning when compiling a node using geometry_msgs

2020-09-21 03:25:53 -0500 received badge  Popular Question (source)
2020-09-10 10:52:44 -0500 asked a question Enable/disable obstacle avoidance during operation

Enable/disable obstacle avoidance during operation Hi All, Is there an easy way to enable and disable obstacle avoidanc

2020-09-09 08:55:28 -0500 marked best answer Debugging techniques for robot_localization ?

Hi All,

I've managed to put together a typical setup for robot_localization using wheel encoders, IMU and GPS, as described in the documentation and in many answers here. It works more or less reasonably well. But sometimes it doesn't. My question would be about debugging techniques for the case when it doesn't. I'm wondering how you guys do this tuning / debugging thing? There are literally hundreds of messages generated when the system is running, most of them with loads of numbers in them. Are there any magic tools, clever tricks, methods, best practices, etc. to find out what's going wrong when something is going wrong? I use rviz and rostopic. Are these really the only weapons I have?

I hope this question is not too generic for this forum. But I would be really interested to hear how people with more experience deal with this phase of development.

2020-09-02 09:05:48 -0500 received badge  Famous Question (source)
2020-08-23 04:07:29 -0500 marked best answer How to use robot_localization correctly?

Hi All,

I would like to ask you opinions and best practices of using the robot_localization package for the following use case:

  • The vehicle has two wheels (left and right), more accurately two tracks (a robotic vehicle for agriculture).
  • Eventually I will have to achieve automatic GPS waypoint finding.
  • The wheels have fairly accurate encoders, so I can measure travelled distance and speed of both left and right tracks, calculate and publish Odometry messages from that with at least 10Hz.
  • The vehicle is equipped with a navigational device which provides me GPS latitude, longitude and orientation (roll, pith, yaw) and speed. I can use these data to calculate and publish another Odometry message. Latitude and longitude is updated with 1Hz, orientation is updated with 10Hz.

I'm planning to fuse these two odometry sources with one ekf_localization_node and use its output for the waypoint finding. I'm wondering if this is a viable approach to do this or there would be a better way?

Many thanks, Tamás

EDIT 23/08/2020: I have updated my setup based on the answers from @tom-moore (see below and other posts). It's available on GitHub here, just on case it will be useful for someone.

2020-08-23 04:04:58 -0500 commented answer How to use robot_localization correctly?

@tom-moore Thanks for your reply, I've updated my setup according to your suggestions here and other posts. I've uploade

2020-08-23 03:58:05 -0500 edited question How to use robot_localization correctly?

How to use robot_localization correctly? Hi All, I would like to ask you opinions and best practices of using the robot

2020-08-23 03:57:31 -0500 edited question How to use robot_localization correctly?

How to use robot_localization correctly? Hi All, I would like to ask you opinions and best practices of using the robot

2020-08-22 17:34:08 -0500 received badge  Notable Question (source)
2020-08-20 07:35:35 -0500 received badge  Notable Question (source)
2020-08-19 22:04:46 -0500 received badge  Popular Question (source)
2020-08-19 12:12:01 -0500 asked a question move_base crashes

move_base crashes move_base crashes with the following messages as its last output: [DEBUG] [1597855152.062688132]: Got

2020-08-17 04:34:58 -0500 received badge  Notable Question (source)
2020-08-16 01:18:56 -0500 marked best answer How to tune dwa_local_planner parameters

Hi, just wondering if anyone has a good method to tune the parameters of dwa_local_planner? My system basically works but many times motion is too slow and the robot seems to get stuck without any obvious reason. I would love to find out what the algorithm is doing when this is happening to be able to optimise its parameters. But I don't know how to peek inside to collect more information. Any ideas?

2020-08-13 03:36:03 -0500 received badge  Popular Question (source)
2020-08-12 13:55:35 -0500 asked a question How to tune dwa_local_planner parameters

How to tune dwa_local_planner parameters Hi, just wondering if anyone has a good method to tune the parameters of dwa_lo

2020-08-12 13:41:14 -0500 received badge  Famous Question (source)
2020-08-09 10:45:18 -0500 received badge  Popular Question (source)
2020-08-07 04:06:19 -0500 edited question Unexpected results from robot_localization

Unexpected results from robot_localization I'm playing with robot_localization trying to get position estimate in a very

2020-08-07 03:59:19 -0500 asked a question Path following problem with move_base

Path following problem with move_base Hello, I'm trying to configure move_base for a geo-fencing application to keep th

2020-07-21 11:39:04 -0500 commented answer Unexpected results from robot_localization

@Dragonslayer Thank you for taking the time to answer. For the sake of reference, a few notes. It might be useful for ot

2020-07-21 11:38:52 -0500 edited question Unexpected results from robot_localization

Unexpected results from robot_localization I'm playing with robot_localization trying to get position estimate in a very

2020-07-21 11:31:18 -0500 commented answer Unexpected results from robot_localization

@Dragonslayer Thank you for taking the time to answer. For the sake of reference, a few notes. It might be useful for ot

2020-07-21 10:23:00 -0500 received badge  Supporter (source)
2020-07-20 19:29:18 -0500 received badge  Notable Question (source)