rosjava / android_apps

Applications built on top of the rosjava android libraries.
132 stars 112 forks source link

Map_manager "waiting for map list" #79

Open boirosma2 opened 6 years ago

boirosma2 commented 6 years ago

Hello, Can you help me please? I'm using the rosjava map manager tutorial (in this link https://github.com/DreamFly111/make_a_map ), i've installed the apk file and i'm able to connect with my robot. but after the master connection, i have a waiting dialog with message "waiting for maps" like it's waiting for somethings, the "Make A Map" tutorial is working fine, but the "Map Nav" tutorial show the same waiting dialog with the message "Waiting for map List", i dont why. I have been working with rosjava for 3 month but i admit there are many things i still don't understand don't know what to do. Thanks you

jubeira commented 6 years ago

Hi @boirosma2,

If you take a look at the source code of map_nav application, you will see that the message is displayed when MapManager node is launched.

The MapManager node waits for a service when launched; the service is world_canvas_msgs/ListMaps. In other words, you will need to run that package and provide that service to your ROS system when you are running the app. I've actually never used it, but I think the package you need is here: https://github.com/corot/world_canvas/tree/master/world_canvas_server. I would start looking out that code in the first place.

boirosma2 commented 6 years ago

@jubeira i had already the package world_canvas_msgs/ListMaps as external librairy like below

capture du 2018-08-28 13-46-37 #

is that the same as you explained??

jubeira commented 6 years ago

@boirosma2 I suggest you to read some ROS tutorials first. Do you know what a ROS service is, and how it works? If not, I suggest you to start here: http://wiki.ros.org/Services.

What you need is not only the message definition (which is what you have there), but a ROS node that actually provides that service as a server. The node that provides it is in the repository I pointed above (https://github.com/corot/world_canvas/tree/master/world_canvas_server). In other words, you need to actually run that code together with your application, registering the appropriate node in the same ROS master (I don't really know the details).

Finally, perhaps ROS answers is a better place to ask these kind of questions.

boirosma2 commented 6 years ago

thank you so much @jubeira, i undertand better now, but i have one last question, how do i run the code? is it in my android app? or you meant in my Ros System through command prompt directly in my robot?

jubeira commented 6 years ago

I meant in the ROS system (i.e. the node has to be registered in the same ROS master as the nodes running in your app); it doesn't need to be inside the android app. In fact the code of the ListMap service server is probably in Python or CPP, which can't run directly on Android.

boirosma2 commented 6 years ago

@jubeira it was very useful for me ! thank you ! thank you !

fayyazpocker commented 5 years ago

The app is been waiting for map list for a long time. The app is being connected to the rosmaster running in the PC. cmd_vel is publishing well. I am running a bag file and running cartographer node which is publishing map on /map. I am able to visualize the map in rviz. I wanted to visualize the same in a mobile. However i am not able to visualize the map using the app. It is just waiting for map list.

fayyazpocker commented 5 years ago

rqt_graph

l376571926 commented 2 years ago

The app is been waiting for map list for a long time. The app is being connected to the rosmaster running in the PC. cmd_vel is publishing well. I am running a bag file and running cartographer node which is publishing map on /map. I am able to visualize the map in rviz. I wanted to visualize the same in a mobile. However i am not able to visualize the map using the app. It is just waiting for map list.

launch this node at pc that connect to roscore: roslaunch turtlebot3_slam turtlebot3_slam.launch

than switch to module "make a map" and launch andorid app,so you can see map in your screen