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

savioke robot specs / implementations

asked 2014-08-21 21:17:38 -0600

d gravatar image

updated 2014-08-21 21:19:39 -0600

i just read an article about savioke ( ). it looks like one great robot built on ros!

does anyone know how savioke touch screen is implemented?

i asked a similar question yesterday on this forum about how to build a touch interface for the robot (on the robot like savioke), and the only answer so far was to use a tablet (thanks!).

i can see that it could work, but the tablet solution seems to have 2 issues.

  1. you have to build the touch interface in a different language / framework (i.e. android sdk or ios sdk), and then build the actual logic for the robot in ros. it's possible but it doesn't seem like an optimal solution to spread development efforts in two different places.

  2. the tablet likely has its own hardware (i.e. its own board, ram, etc), while the robot also has its own hardware (i.e. board, ram, etc). it doesn't seem like an optimal way to build out the robot this way, as we'll waste the hardware parts on the tablet, in which we only need the touch screen. in other words, we'll pay for the hardware of the tablet but we don't really use them except for the screen.

what would be the best way to build a touch screen robot?

any feedback, comment, advice is much appreciated.


edit retag flag offensive close merge delete


I think anyone who knows how it works is probably covered under an NDA, and isn't allowed to talk about it.

ahendrix gravatar image ahendrix  ( 2014-08-21 21:43:54 -0600 )edit

i understand that it may be under NDA. i was just wondering what everyone thinks about a possible good solution for doing a touch screen interface with ROS. savioke seems to do a great job at that.

d gravatar image d  ( 2014-08-22 00:28:26 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2014-08-22 17:36:37 -0600

I don't know how Savioke implemented their system. This response is about the general question of building robots controlled by nice UI's.

There are many valid approaches, and choosing between them is a trade-off between the required performance, allowable hardware integration time, cost, prior experience of the development team, etc. etc., so different approaches make sense for different situations. In general, the scheduling and performance needs of the UI will be very different than those of "the rest of the robot," which is why it's convenient to run them on separate hardware devices. Low-end tablets are crazy cheap now, so there isn't a big cost penalty anymore to having a separate processor driving the UI.

Integrating with a UX-centric platform like a tablet or any other random UI hardware gadget can be really tricky, since those all platforms will have their own (massive) software ecosystem, and depending on the platform, it can be hard to graft a ROS distribution onto it. I'd suggest having a look at Robot Web Tools, which sends ROS messages back and forth over standard javascript, so you can create user interfaces in a web browser. Then (ideally) you can point a web browser provided by the UI hardware (tablet/phone/kiosk/etc.) at the same web page, and you're up and running.

If you wanted/needed to use more Android-specific features, you can use rosjava to write native code, but then of course the UI will be tied to Android. Have a look at the android page on the wiki for some starting pointers if you want to go that route.

edit flag offensive delete link more


thanks morgan. web ui normally doesn't give a good user experience. we probably need to go with android native ui. how reliable is rosjava and ros android? maybe we have to go with android for touch ui and figure out a way to connect it to the robot.

d gravatar image d  ( 2014-08-22 18:35:24 -0600 )edit

rosjava (and thus ros-on-android) is solid. I'd have no hesitations about using it. A web-based UI is much more portable and easier to deploy, but if you need to do multi-touch or other fancy things, rosjava-on-android will probably offer you more flexibility.

Morgan gravatar image Morgan  ( 2014-08-22 18:45:44 -0600 )edit

great, thanks morgan! much appreciated your input!

d gravatar image d  ( 2014-08-22 19:10:21 -0600 )edit

Morgan is right on - Robot Web Tools is a great way to go. Especially for early prototyping, it lets you use existing web frameworks to make a GUI very quickly. (I work at Savioke).

jbinney gravatar image jbinney  ( 2014-08-25 18:16:53 -0600 )edit

great to know that! just out of curiosity, since both the tablet touch screen and the robot are on the same unit, why don't you use bluetooth for local communication rather than remote web calls?

d gravatar image d  ( 2014-08-25 18:34:51 -0600 )edit

Just out of convenience. It's really nice to be able to connect to to the robot over wifi from my laptop and display the same webpage that shows up on the UI. Once we've got the interface all figured out, it may make sense to move to a native android app, or change the comms.

jbinney gravatar image jbinney  ( 2014-08-25 19:00:30 -0600 )edit

Out of curiosity, what kind of robot are you working on?

jbinney gravatar image jbinney  ( 2014-08-25 19:00:43 -0600 )edit

Question Tools

1 follower


Asked: 2014-08-21 21:17:38 -0600

Seen: 543 times

Last updated: Aug 22 '14