These are chat archives for asmodehn/rostful

1st
Aug 2017
Pito Salas
@pitosalas
Aug 01 2017 00:41
I would be , except I'm more of a ruby guy :) Learning Python now. Designing a course in robotics. I will have students who are python experts so maybe I can get some of them to help!
http2 and push are both advanced things in a way. I am setting up a turtlebot3 -- what kind of robot do you have?
AlexV
@asmodehn
Aug 01 2017 00:43
working in a company with a huge (proprietary) thing :) http://gocart.yujinrobot.com/
ROS integrate pretty bad with python, so I had to rebuild a lot of things before being able to integrate with web and stuff...
and things that are already "working good enough" are not the focus of most companies, so maintenance is lacking, sadly...
Pito Salas
@pitosalas
Aug 01 2017 00:44
cool!
yeah I understand. well we're earlier and in a teaching environment so my needs are probably a subset of yours :)
and you can look around the site if you're curious about the course :)
AlexV
@asmodehn
Aug 01 2017 00:45
yeah... Just a few words though : teach python without ROS first... to get the basics right.
Pito Salas
@pitosalas
Aug 01 2017 00:46
gotcha.
thanks for the tip
AlexV
@asmodehn
Aug 01 2017 00:46
no pb ;)
wow outdoors ?
Pito Salas
@pitosalas
Aug 01 2017 00:47
its a good point actually... The students will know java really well and some will know ruby really well too, and I was assuming I could just assume they could pick up python. maybe a bad assumption...
Well look - that's the long term vision, I know now that we will not get that done in even multiple semesters but we will learn and teach a lot as we strive for it :)
(see the caveats below the vision)
AlexV
@asmodehn
Aug 01 2017 00:48
python language is easy to pick up. the trick is the environment... complex tools, different packages, standards always changing... and ROS is a very old framework using deprecated python features on top of that.
Pito Salas
@pitosalas
Aug 01 2017 00:48
yeah I totally agree with that.
AlexV
@asmodehn
Aug 01 2017 00:48
FYI : we are already doing elevators, but not outdoors.
Pito Salas
@pitosalas
Aug 01 2017 00:48
I think ROS is overly complicated and very delicate when it comes even to just installing and configurations.
how do you do elevators?
AlexV
@asmodehn
Aug 01 2017 00:49
IoT and building things can integrate once you get network comm out of you robot (HTTP or something else)
Pito Salas
@pitosalas
Aug 01 2017 00:49
I see!
so now elevators have a REST api???
AlexV
@asmodehn
Aug 01 2017 00:50
no they are all proprietary... but it s possible to integrate, protocols are not too tricky
just contact hte manufacturer in your building ;)
Pito Salas
@pitosalas
Aug 01 2017 00:50
good luck. I was thinking of having the robot wait by the elevator until a human comes by and ask the human for a ride :)
AlexV
@asmodehn
Aug 01 2017 00:51
hhehe yeah you can do that too :)
or you can see the elevator as just another kind of robot :)
Pito Salas
@pitosalas
Aug 01 2017 00:53
yeah
so what's your guess: will your library work for me on ROS kinetic, Ubuntu 16.04 on a Pi or am I in for a nightmare of configuration problems?
AlexV
@asmodehn
Aug 01 2017 00:55
I see your Robot API page now :) It should work fine, if you take the right version of it and it s dependencies...
Becuse of that very troublesome python/ROS integration it can be quite challenging, and understanding why is not simple...
But it s working for us here.
I m working to make it simple and package everything properly, hopefully in the next few weeks, if I dont get derailed doing something else...
Pito Salas
@pitosalas
Aug 01 2017 00:56
I went through that trying to get a direct install of pos on a MacOS. I spent too too much time on it and then gave up and instead went to Ubuntu on VMWare on MacOS and that worked much much better!
AlexV
@asmodehn
Aug 01 2017 00:58
In general I think the software level needed for doing robotics is much higher than what people usually... so the goal of robotic platform writer should be to make things simpler. but ROS sadly fails at that, making everything distributed and asynchronous makes everything so much more random and unpredictible.
If I understand correctly your summary for Robot API, you want the students write the web server that connects to ROS ?
Pito Salas
@pitosalas
Aug 01 2017 01:01
yes, and that then enables them to write a mobile app to give it commands without needing the mobile app to talk ROS. It opens it up a lot.
AlexV
@asmodehn
Aug 01 2017 01:01
yeah thats why I did rostful :). But then you dont want to use rostful, it s better if they do something smaller and simpler...
Pito Salas
@pitosalas
Aug 01 2017 01:01
any suggestion then on how to approach it?
AlexV
@asmodehn
Aug 01 2017 01:02
the rostful design is also multi process talking with zmq to ROs distributed system. wy too complicated for you (but the proper design for performance in big systems)
Pito Salas
@pitosalas
Aug 01 2017 01:02
(by the way I wonder if anyone is working on a more modern software library to provide higher level abstractions but without the overly complicated - old fashioned architecrture of ROS)
AlexV
@asmodehn
Aug 01 2017 01:03
yep : ROS on the robot : topics communication for sensors. ROS services to expose that. ROS services are just xmlRPC, so then you can use flask directly, serialize your json to ROS format and send with xmlrpc.
Pito Salas
@pitosalas
Aug 01 2017 01:03
Oh... Didn't look into ROS services at all !
AlexV
@asmodehn
Aug 01 2017 01:04
ROS2 is coming along slowly, but I dont know anyone except me working on high level feature... roboticist usually focus on the low level, close tot eh sensor... so if you know anyone, let me know :)
Pito Salas
@pitosalas
Aug 01 2017 01:04
are you on the ROS team or is this on your own?
AlexV
@asmodehn
Aug 01 2017 01:04
yeah people usually overlook services because of this comunity focus on topics (which for me sucks since they are lossy. cant develop complex protocols on it)
with the company I m currently in, because we need highlevel interaction wiht the robot and we coudlnt find anything already there... But my contract run out soon, so I ll need to find other means to keep working on that...
Pito Salas
@pitosalas
Aug 01 2017 01:05
fascinating!
So explain your suggested architecture a little more: Flask running as a separate linux process, accepting HTTP requests, and then creating XMLRPC calls into the service which is running "inside" ROS?
AlexV
@asmodehn
Aug 01 2017 01:07
exactly.
Pito Salas
@pitosalas
Aug 01 2017 01:07
Ok I will investigate that approach, thanks A LOT for the suggestion!
by the way where are you located? I am in Boston, USA
AlexV
@asmodehn
Aug 01 2017 01:08
no worries ! IF you have trouble let me know I might be able to throw something quickly together to give you a hand...
Currently in Seoul SK
Pito Salas
@pitosalas
Aug 01 2017 01:08
so its 9:08pm here, what is it there?
AlexV
@asmodehn
Aug 01 2017 01:08
10.08 am
Pito Salas
@pitosalas
Aug 01 2017 01:09
(I know I could have asked google. ... lazy)
AlexV
@asmodehn
Aug 01 2017 01:09
Let mw know what you come up with ;)
Pito Salas
@pitosalas
Aug 01 2017 01:10
we will indeed!
(by the way my email is pitosalas@brandeis.edu)
AlexV
@asmodehn
Aug 01 2017 01:11
mine should be on my avatar ;)
Pito Salas
@pitosalas
Aug 01 2017 01:11
indeed it is :)