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

balkce's profile - activity

2021-05-12 07:43:31 -0500 received badge  Good Question (source)
2017-04-20 13:38:24 -0500 commented question move_base and extrapolation errors into the future

It's been a while. The version of move_base in Kinetic (and Indigo I think) have the correction in goal_functions.cpp. A

2016-01-11 07:54:47 -0500 received badge  Notable Question (source)
2016-01-11 07:54:47 -0500 received badge  Popular Question (source)
2014-08-23 08:03:14 -0500 received badge  Nice Question (source)
2014-08-06 02:51:36 -0500 received badge  Student (source)
2014-05-23 21:22:19 -0500 received badge  Famous Question (source)
2014-05-16 10:06:09 -0500 received badge  Notable Question (source)
2014-05-15 05:03:49 -0500 commented answer move_base and extrapolation errors into the future

Thanks for the opened ticket. So the next step is to amend the code in goal_functions.cpp I've downloaded the move_base source code from github and have confirmed that the absence of waitForTransform. Would I be able to compile only base_local_planner or would I need to recompile all of move_base?

2014-05-15 04:53:23 -0500 received badge  Supporter (source)
2014-05-15 04:51:04 -0500 received badge  Popular Question (source)
2014-05-14 13:42:07 -0500 asked a question move_base and extrapolation errors into the future

I'm trying to launch the navigation stack in a PatrolBot from an external computer. From the internal computer, I have RosAria reporting odometry, sicktoolbox_wrapper reporting laserScans (using laser_filters::LaserScanFootprintFilter to remove laser points inside the robot's body), and a TF publisher for the laser to the robots frame (base_link). I had some problems with extrapolation errors, which were remedied by modifying the rate of the laser TF publications, as well as running chrony in both machines with having the internal computer syncing with the chronyd in the external computer.

I've been able to create a map with the instructions published in the MappingFromLoggedData tutorial.

I've created the move_base launch file, with the appropriate yaml files and map files, as explained in the "Creating a Launch File for the Navigation Stack" section of the RobotSetup tutorial.

Running rosrun tf tf_monitor shows apropriate transform delays (including a negative one from AMCL).

I run the navigation stack, and with rviz succesfully propose an initial 2D estimate. If at this point, I manually move the robot (via joystick), its position is refreshed adequately (with some minimal error) in rviz, meaning that AMCL is doing its job.

Everything is well up until this point.

However, when I propose a Navigation goal through rviz, the following error appears in the terminal where I run the move_base launch file:

Extrapolation Error: Lookup would require extrapolation into the future. Requested time ... but the latest data is at time ..., when looking up transform from frame [/odom] to frame [/map]. Global Frame: odom Plan Frame size ...: map Could not transform the global plan to the frame of the controller

I've narrowed down the error to the base_local_planner when trying to execute the transformGlobalPlan function in goal_functions.cpp

After a couple of days of searching for a solution it appears as though a waitForTransform would be required in this function right before doing the lookupTransform. However, before I go in and start modifying the source code and compiling the whole of move_base to do this, I was wondering if anybody has encountered this issue and can recommend me a workaround.

I'd attach my yaml and launch files, to see if I've missed something, but I don't have the karma points for it.

I can copy and paste them in the comments below if need be.

Thanks.

EDIT 2014-05-22:

I have downloaded the move_base git, and compiled the base_local_planner agent (which requires to gitclone cmake_modules from github as well, by the way).

I've added the following in line 110 in goal_functions.cpp (right before the lookuptransform call) and compiled:

tf.waitForTransform(global_frame, ros::Time::now(), plan_pose.header.frame_id, plan_pose.header.stamp, plan_pose.header.frame_id, ros::Duration(0.5));

The error of future extrapolation has disappeared, however the base is still not moving.

The following warning is now repeatedly shown:

Control loop missed its desired rate of 20.0000Hz... the loop actually took XXXXX seconds

XXXXX is a value between 0.11 and 0 ... (more)

2014-05-13 05:44:04 -0500 asked a question Has anybody tried to use the PatrolBot's joystick with ROS' joy?

The tutorials mention that "joy" requires the joystick be accessed from a /dev/input/jsX file, however the joystick that comes included with a PatrolBot (the big, blocky, yellow device with a joystick, a knob and a "go" button) is not, as far as I know, set as dev/input device (frankly, I'm not even sure it's able to be accessed from the onboard computer as a device, anybody know?).

I just wanted to know if anybody out there has tried using the joystick within ROS via the "joy" node or something similar.