0
$\begingroup$

Rosanswers logo

Hello

I'm trying to set up the navigation stack on a robot possessing only odometry sensors (wheel encoder, IMU published to /odom /imu). No camera/laser. The robot is also using robot_state_publisher to publish the transformations between robot coordinates.

I want to use only odometry sources (wheel encoder, IMU) to navigate the robot, so my plan is to use robot_pose_ekf to fuse the odometry data and use fake_localization to localize the robot on the known map (since no laser is involved).

So I was wondering where I can change the default parameters in order to use robot_pose_ekf and fake_localization in my navigation system. Also, I could not find the launch file for robot_pose_ekf in the package directory (/opt/ros/hydro/share/robot_pose_ekf) as mentioned in the tutorial. There is no launch file for fake_localization in /opt/ros/hydro/share/fake_localization either.

Thanks


Originally posted by ROSCMBOT on ROS Answers with karma: 651 on 2014-09-09

Post score: 0


Original comments

Comment by ahendrix on 2014-09-09:
The fake_localization package only contains a node. You'll have to write your own launch file for it.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

robot_pose_ekf does not currently install the launch files. I've reported this as a bug: https://github.com/ros-planning/navigation/issues/249

Until that is fixed, you can get the launch files from the source repository, or write your own based on the wiki page.

The fake_localization package only contains the fake_localization node; no launch files. It should be trivial to launch it from your own launch file.


Originally posted by ahendrix with karma: 47576 on 2014-09-09

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by ROSCMBOT on 2014-09-09:
Thanks. For clarification, should I replace fake_localization node with amcl_diff.launch file in move_base.launch? and isn't robot_pose_ekf the default state estimator in the navigation package? If so, Do I still need to launch it manually?

Comment by ahendrix on 2014-09-09:
The move_base.launch described in the robot setup tutorial does not contain a robot_pose_ekf node.

Comment by ahendrix on 2014-09-09:
Since you're using fake_localization instead of AMCL, your launch file should launch a fake_localization node instead of including one of the AMCL launch files.

Comment by ROSCMBOT on 2014-09-09:
Do you know what the default state estimator is in navigation stack?

Comment by ROSCMBOT on 2014-09-09:
and I'm getting the following error message when running the robot_pose_ekf.launch downloaded from the source repository:

 Invalid roslaunch XML syntax: not well-formed (invalid token): line 32, column 70

Comment by ahendrix on 2014-09-09:
The robot_pose_ekf launch file in the source repository is only 16 lines. I suggest you check to make sure you've downloaded it properly.

Comment by ROSCMBOT on 2014-09-09:
You are right. It was my mistake. Thanks a lot.

Comment by ROSCMBOT on 2014-09-09:
and can you please tell me why I have to add robot_pose_ekf in move_base.launch when I'm using only odometry for navigation, but otherwise it does not need to be added. Does this means navigation stack by default is using some other package to fuse the odometry sensors?

Comment by ahendrix on 2014-09-09:
By default, the navigation stack does not do any sensor fusion. It is assumed that you have that setup elsewhere.

Comment by ROSCMBOT on 2014-09-09:
Currently, I'm facing the problem addressed here. Is there an easy way to make the output of robot_pose_ekf compatible with the input of fake_localization?

Comment by ahendrix on 2014-09-09:
Have you tried the robot_localization package as suggested?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.