Ask Your Question
0

How to use android ROS teleop to control custom robot?

asked 2015-03-19 15:35:19 -0600

PT gravatar image

updated 2015-03-20 08:22:11 -0600

It seems that ROS teleop ( https://play.google.com/store/apps/de... ) is designed to control turtlebot only. I wonder whether anyone knows how to have it control a custom robot (as only Twist message is needed)?

The developer, OSRF, has several other apps that are useful to control other robot as well. It will be great if anyone knows how to use them on custom robots. Thanks

[Edit] Btw, the reason I asked is that when I run the app on android, the following error occurs. It seems that it is looking for turtlebot specific service /turtlebot/start_app. So I'm wondering how to get around it. Appreciated.

03-20 09:11:42.048: E/AndroidRuntime(20661): Process: com.github.rosjava.android_apps.teleop, PID: 20661
03-20 09:11:42.048: E/AndroidRuntime(20661): org.ros.exception.RosRuntimeException: org.ros.exception.ServiceNotFoundException: No such service /turtlebot/start_app of type rocon_app_manager_msgs/StartApp
03-20 09:11:42.048: E/AndroidRuntime(20661):    at com.github.rosjava.android_apps.application_management.AppManager.startApp(AppManager.java:138)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at com.github.rosjava.android_apps.application_management.AppManager.onStart(AppManager.java:202)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:506)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:503)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at org.ros.concurrent.EventDispatcher.loop(EventDispatcher.java:43)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at org.ros.concurrent.CancellableLoop.run(CancellableLoop.java:56)
03-20 09:11:42.048: E/AndroidRuntime(20661): Caused by: org.ros.exception.ServiceNotFoundException: No such service /turtlebot/start_app of type rocon_app_manager_msgs/StartApp
03-20 09:11:42.048: E/AndroidRuntime(20661):    at org.ros.internal.node.DefaultNode.newServiceClient(DefaultNode.java:356)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at org.ros.internal.node.DefaultNode.newServiceClient(DefaultNode.java:372)
03-20 09:11:42.048: E/AndroidRuntime(20661):    at com.github.rosjava.android_apps.application_management.AppManager.startApp(AppManager.java:134)
03-20 09:11:42.048: E/ActivityManager(643): App crashed! Process: com.github.rosjava.android_apps.teleop
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2015-03-19 16:30:35 -0600

tfoote gravatar image

The documented interface for android_teleop, using a Twist on the topic 'cmd_vel' is the standard control command for all ROS platforms. It's the default output for move_base and all telop tools provide that same output such as joystick and keyboard.

edit flag offensive delete link more

Comments

@PT: So, just to clarify: any robot (driver) that can accept Twist messages should be compatible with the teleop app, not just the turtlebot.

gvdhoorn gravatar imagegvdhoorn ( 2015-03-20 06:58:34 -0600 )edit

@gvdhoorn: Thanks for your explanation. That's what I thought too. However, when I ran the app, some error occurred (see edited post). So, I'm wondering how to get around it.

PT gravatar imagePT ( 2015-03-20 08:24:46 -0600 )edit

Hm, that seems like a rather strong dependency. Perhaps you could report this as an issue on the android_apps tracker?

gvdhoorn gravatar imagegvdhoorn ( 2015-03-20 08:43:13 -0600 )edit

Just did so. Thanks

PT gravatar imagePT ( 2015-03-20 09:07:54 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-03-19 15:35:19 -0600

Seen: 1,569 times

Last updated: Mar 20 '15