Telerobotics - The Penultimate Crescendo

Siddhant Shrivastava

August 14, 2015

Filed under “

Hi! As the hard-deadline date for the Google Summer of Code program draws to a close, I can feel the palpable tension that is shared by my mentors and fellow students at the Italian Mars Society and the Python Software Foundation.

All-Hands Meeting

We at the Italian Mars Society had the third all-hands meeting last evening (13th August). The almost two-hour Skype Conference call discussed a gamut of topics in-depth. Some of these were-

Software Testing guidelines

Ezio described the various ways of Unit Testing in different applications like rover movements, bodytracking, etc. In my case I had been checking for setup prerequisites and establishing the serializability of the ROS system before other modules could start up. That way the it is successfully ensured that all the required distributed systems are up and running before they are used. Integration Testing is crucial in the ERAS application where things like Telerobotics, Bodytracking, and the EUROPA Planner all blend together seamlessly. I’ve integrated Telerobotics and Bodytracking which can be observed in this commit.

Telerobotics

Telerobotics in its current state is more precise than ever. This video demonstrates this fact -

The YouTube link for the video is this.

I improved upon the previous integration with Bodytracking and handled the possible exceptions that may occur. The results have been stunning. I used the updated version of Vito’s bodytracker which can detect closed hands. Since the sensor refresh-rate has been reduced to 30 times per second, the Telerobotics module has much smoother movements. Here is a snapshot of the Bodytracking application running in a Windows Virtual Machine -

Visual Tracker

EUROPA Planner and Navigation Integration

Shridhar has been working on the Planner which outputs Cartesian coordinates in the format (x,y) to which the rover must navigate. I am using the AMCL navigation algorithm for known maps in addition to the actionlib server of ROS to facilitate this integration. The challenge here is to resolve between the Cartesian coordinates of EUROPA and that of ROS. This should be hopefully complete in the next couple of days.

AMADEE15 mission

Yuval described that the the recently concluded mission was a huge success which focused on the following frontiers-

Franco explained in brief about the Neuro-vestibular and Husky Scientific experiments.

Other things

Final efforts with Docker - After a lot of success, I have just one gripe with Docker. Running the Gazebo simulator, rviz (ROS visualizer), and the Telerobotics module requires THREE terminals.Working with ROS as a master inherently requires access to a lot of terminals for logging, echoing topic messages, starting programs, etc. The current ways to achieve multiple terminals and Qt applications in Docker are at best makeshift workarounds. To handle a graphics-heavy application like Telerobotics, we require a Graphical Environment. Docker is great for providing a common service framework but not so good at graphical applications like ROS. That’s why I have been unable to get Docker working with the graphical aspects of ROS.

Documentation

In the final leg of the program, it is vital to go all-guns-blazing with the documentation of the software work that the students do. This is to ensure future development, maintainability, and clarity of thought. I recently added instructions in the Documentation directory - telerobotics/doc/ to replicate my setup. This can be found in my current commit.

I am ensuring that my mentors would be able to replicate my setup and give feedback very soon. The last week of GSoC is quite frenzied with the action to produce a consistent wrap-up of the project. The next post will officially be the last post of my GSoC 2015 experience. In reality, of course, I would keep working on the project and keep blogging :)

Till then, ciao.