I will be starting my Master thesis next month, and having a lot of possible topics. I really would love to know what is it that the ROS needs the most, as an OS for robots. That I could work on as master thesis, knowing that my masters will be in AI and Robotics.
I would love any suggestions and all help is appreciated.
Iām in a similar position iām starting a Masters project to create an autonomous drone to map out buildings using slam. As Iām just starting the technology review now iām finding that this project has been done at loads of institutions before and I can run the simulations in Gazebo very easiliy. What aspect of ROS did you decide to work on for your masters project?? Are you working on something that has already been done before??
I am also a masters student doing work on creating things for ROS. I am working on the UI side of things. Seems like that is an area that is really lacking, especially web based systems. Does anyone else agree with this observation?
Yes, I would love a web-based RViz, rqt and other such tools fi. Not sure how suitable something like that is for a MSc (or if I even understood you correctly), but it would be very welcome (possibly connect with web-based gazebo, rwt, roslibjs, etc, etc).
I was thinking more about thing developed to be used for your masterās work. That what most of my stuff is. I am creating an autonomous agriculture rover. Most of my work is configuration and testing of already built tools. This has lead me to create new tools to reduce the complexity of developing rovers.
I just started this system a few weeks ago. It needs a lot more work but it is a start.
When I initially thought about choosing to create a robot for my masters project I was quite enthusiastic about creating my own visualization software until I saw what was already out there and it sort of blew the winds from my sails. Thanks for pointing this out for me, im quite eager to learn about web sockets and webgl and creating a web-based interface for ROS sounds appealing to me.
However, Iāve only got three months to work on a self contained project. What kind of features would you like to see in a web client? You mentioned touch screen compatibilityā¦
@sonyccd Iāve checked out your work, looks like a good start to something and its given me some ideas gl
I have been working for quite some time on a REST interface for ROS systems (based on python) : https://github.com/asmodehn/rostful.
Very useful for introspection into running multiprocess systems and debugging. Better client code for visualisation would sure be a big help, but I am currently focusing on a more critical part : getting the web server interfacing with ROS rightā¦
Since a big part lacking in ROS is documentation/support/tutorials for developing reactive systems, I have been thinking of investigating using http://elm-lang.org/ in a web cient to offer a graphical view of a running ROS systems. I didnt get around doing it yetā¦ If it s something that interests you, it can be quite self contained I thinkā¦ And I think it would be an interesting experience for the people interested in web system development for ROS. There also, the tricky part will probably be interfacing with ROS.
You could remake the usual ROS turtle simulation tutorial, but web based, just for fun Or remake some QT tools, or of course just pick you own ideaā¦ Feel free to ping me if you want more info about any of these.
The most significant problems (aka opportunities) off the top of my mind are:
The common GUI tools are decent but they could be better. For example, after loading files with the Moveit Setup Assistant, you canāt reload a new set of files. You have to close the program and begin again.
Aligning components in a URDF is incredibly tedious. The ROS-I CAD-TO-ROS project started to address this issue, but it has pretty much stalled. It would be great to have some Solidworks-type āmatingā functionality. Huge opportunity here.
How to easily and accurately locate a camera in a tf frame? (Maybe thereās a package to help with that. I will do some more searching.)
Thanks again for the responses, since there is a group of us working on an autonomous building mapping robot I have decided to work on a custom web-based front-end for supervising it (from inspiration from you guys).
@asmodehn I will check out your work at some point iām heavy into report writing at the moment, it would be interesting to develop a graphical view into the ROS system as it is running in browser and l see how far i get with that.
The problem I have with ros-control-center is a lack of UI UX purpose. How can this be used for robotics operation? How can the user see the status of important topics at one time? How can you manage users and multiple robots? What about data collections and logging? Is there security in the connection? How does this scale for deployment? etc. It does a great job demonstrating the possibilities of roslibjs. I used it to learn how the library works.
I agree, its a tool for inspecting but it looks like a tool for configuring your router, not exactly user friendly. Have you tried the RMS (Robot Management System) yet?? what do you think about that?