Robotics Home / Cannot publish to move_base / 2D Nav goal doesnt move robot

Hello, i have a problem. For ROS Homework at university I have to start from a prodefined package and i have to get the robot to drive predefined points. However when I cant launch to the move_base, nothing happens and 2D Nav Goal also doesnt get the robot to move, how ever when using ros echo on move_base_simple/goal i get goal position that i sent with 2D Nav Goal
Following is the dropbox link to the package: Dropbox - File Deleted - Simplify your life
(Fyi MSROB.Ue3.pdf is the instruction for the homework)

When I was looking for errors, I found

[move_base_node-16] process has died [pid 27657, exit code 1, cmd /opt/ros/noetic/lib/move_base/move_base map:=/map marker:=move_base_node/DWBLocalPlanner/markers __name:=move_base_node __log:=/home/user/.ros/log/c91c311e-8f7e-11ed-a174-0242c0a82007/move_base_node-16.log].
log file: /home/user/.ros/log/c91c311e-8f7e-11ed-a174-0242c0a82007/move_base_node-16*.log

A college got it working with pretty much the same code as mine on a virtual machine and Ubuntu, so maybe it has something to do with the simulated ROS?

Thank for the help in Advance

Hi @woeberinroslol ,

I just had a fast read of that pdf file. Seems very interesting to be honest! [I also wish that even my university taught me ROS courses.]

Anyways, to have move_base node working, you must have a map server and localization (amcl) running.

So, if you can tell me what you have done so far and what problem you are currently having, maybe I can give you some hints.

Regards,
Girish

PS: Colleague. Not College. College ist eine Schule oder eine Universitaet. Colleague ist ein/e Kollege/in! :smile:

Hello @girishkumar.kannan,
first of all, thank you for the continuous help, it is very helpful and nice of you :slight_smile:

So, in the launch file there is already the amcl node, the map server and the move_base node

<include file="$(find mir_navigation)/launch/amcl.launch"><arg name="initial_pose_x" value="0.10"/><arg name="initial_pose_y" value="0.07"/><arg name="initial_pose_a" value="0.082"/>
</include>

<include file="$(find mir_navigation)/launch/move_base.xml"><arg name="with_virtual_walls" value="false"/>

And according to the instructions, it should already drive by just using 2D Nav Goal in Rviz
And it does when my Colleague does it in the virtual machine with ubuntu, but it doesnt work here on Constructsim, at least as far as i tried

Hi @woeberinroslol ,

Yes, that is true. That is because, I think, this website does not work with MIR robot. I have not seen it in courses I have taken so far.
So the best way to get it working would be to install ROS in your laptop and run.

Not sure if you have completed ROS Navigation course, but to get 2D Nav Goal to work, you must first do 2D Pose Estimate. You must, basically, locate the robot in the environment before giving it pose goals.

You can publish your goal pose to /move_base action server with your own action client. This is clearly explained in the ROS Navigation course - Path Planning unit (unit 4, I guess).

Hope this helps.

Regards,
Girish

Ok,
well i do have ROS installed, but it is extremly slow on my laptop and trying to run Gazebo… well it takes a really long time.

I will try it with 2D Pose Estimate one more time. Maybe it helps.

I already tried publishing to the move_base topic in the webshell, the robot still didn’t move… so like you said, its probably because of the mir robot.

Thanks for the info and the help :slight_smile:

@girishkumar.kannan
Is it easy to just switch the robot? To maybe the turtlebot? Cause that one does exist in the Constructsim.

Hi @woeberinroslol ,

I think you might have missed to fill something important. I am guessing that you would have added the pose position and orientation, but you might have missed to set goal target_pose frame_id to 'map'.
Check if you are using the correct goal message format to send the goal to move_base action server.

move_base should work regardless of what robot you are using.

Honestly, you do not have to. Just learn the concept using turtlebot in The Construct course and apply it to the MIR robot that you use in your homework.

gmapping, amcl and move_base will work regardless of what kind of robot you are using! (I believe so).

Regards,
Girish

I used this line of code. It worked in other simulations and it also worked when my collegue ran it

Well, maybe i can make it work, thanks for the help :slight_smile: