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

Navigation with real robot

asked 2015-06-04 05:41:21 -0600

Dio Eraclea gravatar image

updated 2015-06-10 04:59:31 -0600

Hi,

I am trying to move from stage simulation to real robot. In simulation all things were working quite good, but when I replaced stage_ros node with the robot package, it failed. I want to use Lego Mindstorms NXT 2 robot. I simulated it in stage without laser, using only odometry for localisation (I used fake_localisation node). You can see the difference in graphs. Here is the simulation graph:

image description

And here is the connection to real robot:

image description

As you can see /map_server lost connection to move_base, there are no move_base/action_topics, also /base_pose_ground_truth became hidden, because it connects only to fake_localisation. Goal_giver is the same as listengoal node, it is for sending coordinates of goal to move_base.

Does anyone have some ideas how to fix that?

Update

I got some results when I launched the simulation together with my real robot package. The tf errors were eliminated, and the planning worked. The problem remained that move_base was thinking that robot in stage_ros was my real robot, and it was trying to move it. Of course it did not move, as it was not receiving cmd_vel messages, but the real robot was trying to implement move_base commands. I tried to solve this localization problem, but the only thing I could do is to retranslate messages from /gripper/cmd_vel to /cmd_vel. Here is the graph:

image description

The robot really seemed to be moving, but it works awful. I understand why, of course. I should remove simulation part and set up normal localization package. But now I do not know what package should I use. Fake_localization, as I read, is suitable only for simulation, and amcl needs laser for work. What package can I use for localization only with odometry?

edit retag flag offensive close merge delete

Comments

Can you check the output of the move_base node for hints? I'm guessing it's outputting error messages about tf frames.

David Lu gravatar image David Lu  ( 2015-06-04 21:03:40 -0600 )edit

Actually, there is no reaction at all. I am trying to send simple goal to /gripper/move_base_node and I have no reaction in the terminal. Though, I can see that the goal is really sent through rqt_graph

Dio Eraclea gravatar image Dio Eraclea  ( 2015-06-05 04:21:36 -0600 )edit

Sorry, I tried it in different way, by using several launch files and now it is really giving me errors. Something like Waiting on transform from gripper/base to map to become available before running costmap, tf error;

Dio Eraclea gravatar image Dio Eraclea  ( 2015-06-05 06:26:44 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-06-09 19:58:59 -0600

David Lu gravatar image

You need to make sure your real robot is publishing the transform from /map to gripper/base. This is usually done by running localization which will publish the transform from /map to /odom.

edit flag offensive delete link more

Comments

I have already understood that my problem is with localization. I figured out that if I run stage_ros and fake_localization with simulation settings, my navigation will run with the robot. The problem is that it thinks, that robot is not moving (if you will not move it manually in stage_ros).

Dio Eraclea gravatar image Dio Eraclea  ( 2015-06-10 03:03:58 -0600 )edit

As I understand, my mistake is trying to use fake_localization for real robot. This package can only be used for simulation. I know that for real robots, amcl package is used. But if I understand it correctly, amcl needs laser for work, and I do not have it. What should I use?

Dio Eraclea gravatar image Dio Eraclea  ( 2015-06-10 03:07:59 -0600 )edit

Do you have a real map that you're trying to move around in? Or do you just want to move relative to the odom frame?

David Lu gravatar image David Lu  ( 2015-06-10 10:23:32 -0600 )edit

Yes, I want my robot to move through a map.

Dio Eraclea gravatar image Dio Eraclea  ( 2015-06-10 12:21:31 -0600 )edit

So how do you want to stay localized if not amcl?

David Lu gravatar image David Lu  ( 2015-06-12 10:32:59 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2015-06-04 05:41:21 -0600

Seen: 1,374 times

Last updated: Jun 10 '15