First Global ROS-I Community Web Meeting

Thanks to our presenters, Dr. Conghui Liang (who also hosted), Georg Heppner, Dr. Suraj Nair, and Louise Poubel for an inspiring Global ROS-I Community Web Meeting on 10 January 2017! For details, scroll to abstracts and links below the video.

Host: Dr. Conghui Liang (Research Fellow), Robotics Research Center, Nanyang Technological University, Singapore (representing ROS-Industrial Consortium Asia Pacific)

Agenda:

  • Dr. Conghui Liang (NTU): An Introduction of RADOE (A*STAR Industrial Robotics Project) and ROS related projects in NTU (video link)
    • RADOE (Robot Application Development and Operating Environment) is developed based on ROS and ROS-Industrial. It is an incorporation of high-level robotic software and useful tools that have been developed in the A*STAR industrial robotics research program for diversified robotics application developments in the manufacturing sector. In this talk, an overview of the RADOE motivation, architecture design, function modules, and several application demos will be presented.
  • Georg Heppner (FZI): ReApp Project – MDE for ROS & Generic IO for FANUC Robots (video link)
    • Reusable Software Apps for Robotic Applications (ReApp) based on ROS-Industrial is nearing its completion. This presentation will give an introduction into its core ideas and tools for model-driven engineering of ROS packages with semantic support. Additionally, the implementation of the Generic I/O communication package which was used for a FANUC industrial robot in one of ReApps pilot demonstrators will be covered.
  • Dr. Suraj Nair (TUM CREATE): Robotics at TUM CREATE, Singapore: Insight into ROS based Projects (video link)
    • TUMCREATE, Singapore is a research outpost of the Technische Universitaet Muenchen, Germany. Although its main focus is on future mobility applied to public transportation, the robotics activities at TUMCREATE have been expanding rapidly. This presentation will focus on the various robotics activities at TUMCREATE with special emphasis on the Aviation Challenge 2 project. For each of the activities, the connection to ROS will also be presented.
  • Louise Poubel (OSRF): Gazebo UX Test Drive (video link)
    • Gazebo is one of the most used simulators in the ROS community. It has been under heavy development for the past few years and its most recent version, Gazebo 7, comes with several new tools and features for new and experienced users alike. Updates include not only improved GUI tools and documentation for new users, but also tools that streamline the workflow for experienced users. In this presentation, many of these new features will be demonstrated from within Gazebo.

RIC- Europe Event Recap (Part 2): ROS-Industrial Training and Conference 2016

Note: Part 1 of the RIC-Europe Event Recap covered the ROS-Industrial training and was posted last week and can be found below.

This year’s ROS-Industrial Conference was upgraded, and held over two days with 21 talks, more than doubling last year's ten talks. Brian Gerkey from the Open Source Robotics Foundation (OSRF) and formerly of Willow Garage, where ROS was born, gave the first keynote which talked about the origins and recent and upcoming developments of ROS. He gave also an overview about the development and current status of the community and presented a variety of industrial use cases using open source software. Prof. Michael Beetz, an authority in the field of cognitive robotics, delivered the second keynote. His presentation dealt with the very important topic of digital infrastructure to empower service robots with a shared and open knowledge base, as market and technology developments foresee different robots in different environments performing different tasks. The presented platform openEase is possibly the most advanced open-source platform for a web-based knowledge service allowing for collection, storage and inspection of activity data for robot and human tasks.

Dr. Brian Gerkey opened the ROS-Industrial Conference with a keynote about the origins of ROS and recent developments.

Dr. Brian Gerkey opened the ROS-Industrial Conference with a keynote about the origins of ROS and recent developments.

Next up, companies ZenRobotics, PAL Robotics and next47 (a Siemens company), gave an overview about how ROS powers their business, or, in the case of next47, is seen as a common trait for up-and-coming robotics startups. After that, the participants got an overview of the most interesting technical developments going on in ROS and ROS-Industrial. Some of the works were presented recently at ROSCon and IROS in South Korea less than a month before, and we were glad to update our audience on such recent content. Part of the technical talks were:

  • A presentation of the service robot Care-O-bot from Fraunhofer IPA, held by Dr. Ulrich Reiser
  • A case-study on the ROS navigation stack and about deterministic timing for ROS, presented by Ingo Lütkebohle from BOSCH Corporate Research
  • Matthias Gruhler from Fraunhofer IPA presented a solution to improve the navigation of industrial service robot fleets using cloud computing
  • A status update about ROS 2.0 and about OPC UA was given by Matthias Keinert from University of Stuttgart The first conference day came to an end with insights into Team Delft’s technologies enabling their win of the Amazon Picking Challenge. Last but not least, Martin Hägele, head of department robot and assistive systems at Fraunhofer IPA, gave a detailed overview about ongoing developments in the worldwide robotics market. His talk covered both industrial and service robots and presented data which is collected annually by the International Federation of Robotics (IFR) and published in the “World Robotics Report.”
Prof. Michael Beetz presented the second day's keynote.

Prof. Michael Beetz presented the second day's keynote.

Prof. Martijn Wisse from TU Delft opened the second conference day and described a new funding strategy for ROS-Industrial focused Technical Projects set to start in 2017. Further technical talks complemented the morning session with the following content:

  • Bernard Dieber from Johanneum Research talked about application-level security for ROS-based applications
  • Real-Time Extension to ROS was the topic of the presentation from Jan Carstensen, working at Leibniz Universität Hannover
  • A framework for quality assessment of ROS applications was presented by André Santos from INES TEC

For the ROS-Industrial consortia it is important to offer not only technical knowledge during the events but also to transfer knowledge about non-technical but highly relevant topics such as “best practices” related to open-source software and ROS. One example is the question of how to deal with safety regulations when using ROS. Theo Jacobs from Fraunhofer IPA presented some “do’s and don’ts’” with respect to safe software and to the development and application of ROS components. He gave some information about the ISO standardization committees and their procedures for establishing standards. Carsten Emde from the Open Source Automation Development Lab gave insights into open source in industrial automation, which is in fact already a reality in this business domain. He spoke about Linux and some well-known and also less well-known hurdles for its use in automation and how they are or will soon be taken, such as SIL2 certification for base components of a Linux RTOS, currently undergoing at OSADL.

Dr. Catharina Maracke from the Software Compliance Academy held the last non-technical talk about “Unterstanding License Compatibility and Compliance Risks and Processes in Free Open Source Software”. She informed, among others, about different types of licenses, their advantages and constraints and the OpenChain project that aims to address free and open source software-related friction points in the software supply chain. It was the second talk Dr. Maracke gave for the ROS-Industrial consortia, marking a continued collaboration given the interest expressed by our community in these topics. Both Fraunhofer IPA and the RIC-EU consortium are specifically concerned to keep the attention high on these matters as they often represent the reasons why open source software has still some difficulties to be widely adopted within the more conservative industrial automation environment.

Get-together during the breaks

Get-together during the breaks

Before the conference wrapped up, the following topics were presented in a last technical track:

  • Sebastian Brunner from German Aerospace Center (DLR) spoke about RAFCON, a graphical tool for task programming
  • Ontology-driven tools for robot application development were the aim of the ReApp project that was presented by Dr. Björn Kahl from Fraunhofer IPA
  • Pablo Quiles Velilla ended the track with his presentation about drag&bot, an innovative and easy way for industrial robot programming

All in all, the ROS-Industrial training and conference offered extensive technical and non-technical knowledge, a variety of best practices and was also a good opportunity to get in contact with the ROS and ROS-Industrial communities and to widen the network. Thanks again to the colleagues from FH Aachen, to all speakers and of course to all participants of the event(s)!

For your reference, the detailed agenda of the whole event as well as all slides from the speakers can be found here. A picture gallery from the training as well as from the conference is available here. Please have in mind: The follow-up event in 2017 will be the ROS-Industrial Summit at RoboBusiness Europe 2017 on April 20-21 in Delft, the Netherlands. The next ROS-Industrial conference is planned for the first half of December 2017.

RIC- Europe Event Recap (Part 1): ROS-Industrial Training and Conference 2016

Note: Part 2 of the RIC-Europe Event Recap will cover topics and presentations presented at the conference. This article will be posted next week.

We had a full house at this year’s event combining ROS-Industrial training, managed by our colleagues from FH Aachen with guest lectures from representatives of PPM AS and IT+Robotics srl, and the ROS-Industrial Conference. From November 2 to November 4, Fraunhofer IPA, the managing organization of the ROS-Industrial Consortium Europe, hosted the event in Stuttgart with in total about 70 participants during the three days. The training and conference were combined and showcased updated formats. For participants, it was easier to attend both activities to get the most out of their visit.

For the training session, we collaborated with our new Consortium member FH Aachen. Thanks to Josef Schleupen who coordinated with his colleagues Harshavardhan Deshpande, Heiko Engemann, Jannik Hoppe and Patrick Wiesen, this event was very successful, especially in providing hands-on sessions for all participants. We covered the main aspects of ROS in one day by giving an introduction into ROS and ROS-Industrial, an overview about ROS-powered robotics and the community. During the first day, FH Aachen tutors presented and tutored the participants in hands-on sessions, performed in pairs, on the usual topics of perception (sensor technologies, image processing and ROS visualization), localization (transformation, mapping & navigation) and manipulation (unified robot description, path-planning with MoveIt!, Gazebo Simulator). During the morning of the second day, some ROS-I specific packages were presented by PPMS AS and IT+Robotics srl. During the training, attendees had the chance to get a condensed overview of what ROS can do for them, to see three different robot arms in action, and use an ad-hoc developed mobile platform.

Some impressions from the ROS-Industrial training:

2016-11-IPA-ROS-Events-12.jpg

FZI Forschungszentrum Informatik and ROS-Industrial

Submitted by: Arne Rönnau, FZI

the ros-i powered fanuc m710 on display at Automatica 2016

the ros-i powered fanuc m710 on display at Automatica 2016

The FZI Forschungszentrum Informatik (FZI Research Center for Information Technology), an independent research institute associated with the Karlsruhe Institute of Technology in Karlsruhe, Germany, has a long standing history of working with various robotic frameworks for a number of robot platforms. From special kinematics, like a six-legged walking robot or two-armed service robot with body joints on a mobile platform, to service and industrial robots like the UR 10 and the Fanuc M710. Since 2000, FZI has developed its own robotic framework MCA (Modular Controller Architecture) which later became MCA2 and which is still used on many robot systems today also outside of FZI. With the increasing popularity and maturity of ROS, however, the focus has shifted towards using and expanding ROS rather than further improving the in-house framework (which is still used for many low-level tasks).

With the release of ROS Diamondback, FZI started to use ROS on the robotic Platforms KAIRO III, a snake-like inspection robot, and LAURON IV, a six legged walking robot in conjunction with MCA2. The FZI UAV fleet consisting of Parrot AR-Drones and the Asctec UAVs Pelican and Falcon 8 used ROS Fuerte as the main framework from the start. It was also commonly used to analyze data of the autonomous car CoCar, for which the available visualization tools proved to be very valuable.

The development efforts of ROS components by FZI also increased together with its extended usage. During the preparation of LAURON V for the first SpaceBot Cup by the German Aerospace Center DLR in 2013, initial fixes were provided for libraries such as the SMACH viewer and the robot_web_tools, as they were used extensively to enable autonomous exploration by the walking robot of a Mars-like environment. In October 2014 a larger contribution, the schunk_svh_driver package, was released on behalf of Schunk. It is providing hardware support for one of the most mechanically advanced robotic hands today. In 2016 a driver for the LWA4P with CanOpen support followed. Today the FZI also offers workshops teaching ROS to companies when developers need a concise introduction or just specific help with their projects.

ROS has also become a major research topic in public funded projects. The Human Brain Project (HBP), which FZI takes part in, relies heavily on gazebo as a simulation environment, for which tools like a blender-based intuitive robot designer are being developed. The project ReApp (Reusable robotic Applications for flexible robots), puts ROS-Industrial at its core, and is in fact a team effort with other ROS-focused institutions like Fraunhofer IPA. By adding semantically-enriched models to ROS packages, ReApp further enhances the already reuse-friendly structure of ROS by enabling easier search and automatic replacement of packages. During preparations for Automatica 2016, FZI used the ROS Industrial stack for a Fanuc M710 and implemented the ROS-Industrial-IO REP for Fanuc robots as first contribution to the ROS-Industrial community, which is currently being finalized.

Since August 2016 FZI is part of the ROS-Industrial Consortium Europe, through which it plans to further increase its activities around ROS and ROS-Industrial.

Continuation of Series on ROS-Industrial Development Process - Code Review

This is the continuation of a multiple-post series detailing the ROS-Industrial software development process. The first post in the series described the process of contributing code to the project (steps 1-3 in the figure above). This post is focused on the steps involved in reviewing code up to the point where is can be submitted for release as a ROS package. Note that the starred numbers in the outline correspond to steps in the software development process illustrated above.

  1. When a Pull Request (PR) is issued there is the Travis Continuous Integrations (CI) step (step 4) which happens automatically in the background. The Travis CI performs several operations and if any of the steps below fail, then the PR is marked accordingly for the maintainer. Travis:
    1. Installs a barebones ROS distribution on a fresh Ubuntu virtual machine.
    2. Creates a catkin workspace and puts the repository in it.
    3. Uses wstool to check out any from-source dependencies (i.e. other repositories).
    4. Resolves package dependencies using rosdep (i.e. install packages using apt-get).
    5. Compiles the catkin workspace
    6. Runs all available unit tests

  2. If the PR passes Travis CI and one of the maintainers is satisfied with the changes they post a +1 as a comment on the PR (step 5). The +1 signifies that the PR is ready to be merged all PR require at least one +1 and pass Travis CI before it can be merged.
  3. The next step (step 6) is for the PR to be merged into the main branch. This is done through the GitHub web interface by selecting the “Merge pull request” button. After the PR is merged, all status badges are updated automatically.
  4. Periodically the maintainer will release the package (step 7), which then gets sent to the ROS build farm for Debian creation (more on this next time).
Stay tuned for our final post in the series on steps 8-10 about Debian creation.

The Nuclear Robotics Group Goes Public!

Submitted by: Dr. Andrew Zelenak and Dr. Mitch Pryor, UT Austin Nuclear and Applied Robotics Group (NRG)

Cross posted from: http://robotics.me.utexas.edu/nuclear-robotics-group-goes-public

We are happy to announce a code release! The Nuclear Robotics Group at UT-Austin was an early adopter of ROS software, but until recently, most of our software was private. However, our main sponsor (Los Alamos National Laboratory) recently gave the green light to open-source our code. With that approval, we are slowly rolling code over to a public repository and will be indexing the packages with ROS as appropriate. This was first announced to the ROS-Industrial community in June 2016. A couple little gems which might already be useful for the public include:

  • The netft_utils package for ATI force/torque sensors:
    • Set the data collection rate
    • Transform force data between TF frames as a robot moves
    • Compensate for gravity forces on the end-effector
  • A driver for LeapMotion
    • The LeapMotion hardware tracks a human’s hands, making for some really cool demos and user interfaces
  • A driver for the Griffin Powermate user interface device A contact control GUI

In the future, we’ll be open-sourcing even more, so keep your eyes open! The video below shows a little demo incorporating the above-mentioned packages.

Google Summer of Code Project – Workspace Analysis and Base Placement

Submitted by: Abhijit Makhal, Idaho State University

For the Google Summer of Code Project (GSoC) 2016, with coordination with Open Source Robotics Foundation (OSRF) and ROS-I Consortium, a toolkit Reuleaux, has been developed for the purpose of workspace analysis and base placement for a specified task. The workspace analysis is highly beneficial for any robotic system as it provides information about the reachability of the manipulator. The base placement system uses the workspace analysis tool and provides optimal base position for a specified task providing predefined end-effector positions.

The first project goal was to develop a tool that can define reachability of any manipulator with existing robot definition such as URDF (Unified Robot Description Format). With an URDF of the robot and resolution based on user needs, the tool can provide multiple maps representing the information about the workspace such as a reachability map, capability map and inverse reachability map. Several new ROS messages have been generated for workspace analysis which represents the coordinates of the workspace spheres, poses in the spheres and reachability of that spheres.

Reachability Map

The reachability map describes the reachability of a given robot model by discretizing its environment, creating poses in the environment and calculating valid IK solutions for the poses. The poses which are reachable by robot are associated with discretized spheres. The reachability of each sphere in the environment are parameterized by a reachability index. The output is saved as an hdf5 file.

Reachability map colored by reachability index (left), and solid colors (right).

Reachability map colored by reachability index (left), and solid colors (right).

Reachable positions for a robot (left), and 6 DOF poses superimposed on reachable positions (right).

Reachable positions for a robot (left), and 6 DOF poses superimposed on reachable positions (right).

Capability Map:

The capability map is an extension of reachability where the outer spheres of the reachability map, is set as cones. So the reachability limit of the robot is well visualized. All the outer spheres are decided for a principal axes and iterates over different values for opening angles for cones.

Inverse Reachability Map

The purpose of the inverse reachability map is to find suitable base positions for a robot with given task poses. The inverse reachability map is a general inverse transformation of all the reachable poses of the reachability map of the robot. The inverse Reachability map is dependent on generated reachability map. With a visualization toolbox for Reuleaux, the workspace can be visualized in RViz. The visualization tool also provides scope of representing the workspace with different structures (spheres, cones, cylinder and box), colors (based on reachability or solid colors) and reachability index (spheres with high/low reachability)

Spheres with low Reachability (left), and high reachability (right)

Spheres with low Reachability (left), and high reachability (right)

Dense cross-section of the workspace (left), and sparse Cross-Section  (right)

Dense cross-section of the workspace (left), and sparse Cross-Section  (right)

The second goal of the project was to develop a user interface by which the user can provide task poses needed for a specified task and the system will try to find optimal base position/ positions for that task from where the robot can reach all the positions. The system tries to create a combined inverse reachability map of all the task poses and finds optimal base location by one of the following methods.

  1. Principal Component Analysis (PCA)
  2. Grasp reachability score
  3. Ik solution score
Magenta arrows represent the task positions and green arrows are possible base placement positions (left, center). Combined inverse reachability map for three task poses (right).

Magenta arrows represent the task positions and green arrows are possible base placement positions (left, center). Combined inverse reachability map for three task poses (right).

At this time, the Reuleaux toolkit is far away from completion. There are various scopes of improvement for the tool in terms of visualization, algorithm and computation. I would like to encourage the Robotics Community to contribute to this project by providing suggestions and improvements. Detailed information and instructions for running the tool can be found at: http://wiki.ros.org/reuleaux

Please let me know if there is any issue in running the codes or if you have any suggestions: makhabhi@isu.edu

I would like to share my gratitude for the ROS-I community members and my mentor Alex K. Goins and Shaun Edwards, who shared their valuable suggestions during the project development and guided me in the right direction. I hope that this project can be very useful for robotics community.

Second MoveIt! Community Meeting: Oct. 27 (Online)

Submitted by: Dave Coleman, CU Boulder

Time: October 27, 2016 starting at 10 AM CDT

Our second MoveIt! community meeting webcast will be on October 27th at 8am Pacific to discuss the latest developments and uses of MoveIt! around the world. Join us online to hear from research groups and industry on their perspectives of motion planning in ROS. Confirmed speakers include:

  • Recent Developments in MoveIt! - Dave Coleman
  • The Search-Based Planning Library (SBPL) - Dr. Maxim Likhachev and Andrew Dornbush
  • Updates from the Flexible Collision Checking Library (FCL) - Dr. Dinesh Manocha
  • Delft’s Winning Amazon Picking Challenge Entry - Mukunda Bharatheesha
  • MoveIt! @ Fetch Robotics - Michael Ferguson

Final agenda and details on how to join the AnyMeeting webcast will be sent out closer to the event. If you are interested in presenting your work to the community please contact me by October 21st.

Better supporting the growing ROS-Industrial software platform

As ROS-Industrial approaches its fifth anniversary, we wanted to share some reflections on how the initiative is evolving and on some adjustments in policy to maintain it on a healthy, sustainable growth path.

The first demo showcasing the advantages of ROS on industrial hardware, a pick-and-place application performed on a Motoman SIA10D, was developed in the fall of 2011 by Shaun Edwards. From this early effort we have come a long way both in terms of Consortia and Community building and of further development of the software platform. With the recent addition of the Asia Pacific region we now have more than 40 organizations supporting the ROS-Industrial Consortia worldwide. On the software side, ROS-Industrial is growing in terms of more supported hardware and of more, and more advanced, capabilities that it offers to industrial users.

In parallel to the effort of expanding the Consortia and to keep the "voice of business" in the loop, the software development community is growing under the technical leadership of Shaun Edwards and Gijs van der Hoorn. We have been hosting online developer meetings since last fall: now held monthly, they provide a venue for contributors to become more involved with the rest of the community and eventually join it on a stable basis. In addition to growing the codebase, we are gradually enforcing best practices in the development process to ensure a better overall software quality. These include an improved review process for PRs; unit and system test coverage; continuous integration tests.

While the expansion of the development community brings on-board very welcome contributors, the commitment required to maintain and support a fast expanding software platform is calling for a more structured approach than we had so far. This in order for us to be able to more effectively and more fairly commit development resources, and for our users to get a better understanding of the support level that they can expect.

A more effective and fair allocation of resources means standing behind the code which supports the activities of Consortia members. These are the organizations making the initiative possible, as they provide financial support and public advocacy for the adoption of open-source software in industrial robotics. A better understanding of support level means helping our users to set their expectations to an appropriate level when evaluating the adoption of specific packages. For instance, a manufacturer actively supporting the driver for its equipment, directly or through its regional ROS-Industrial Consortium, makes for a much different situation than having to rely solely on community support.

As a first step towards this direction, we announce the following levels of support for packages in the ros-industrial github organization:

  • consortium / vendor: for packages supporting the activities of a Consortium member, which ideally also contributes with in-house technical support (e.g., robot drivers); for core ROS-I packages developed and maintained by the technical leads;
  • vendor: for packages directly supported by the vendor's technical staff;
  • community: support is community-based, and as such it is best-effort and based upon the work of volunteers.
support badges for ROS-I packages

support badges for ROS-I packages

We are currently rolling out this scheme by gradually assigning "badges" corresponding to the appropriate support level to the various ROS-Industrial packages. We also want to provide soon users with means to "ping the OEM" behind a specific piece of hardware which is currently at community-level support, and we are currently looking for the most effective means to do so.

ROS-Industrial Training and Conference 2016: schedule now online

fraunhofer izs - Institute center stuttgart

fraunhofer izs - Institute center stuttgart

Check out the exciting schedule for the upcoming ROS-Industrial Training and Conference 2016, to be held Nov 2-4 at Fraunhofer IPA in Stuttgart, Germany. For this year's edition of the Conference we have the pleasure to host two keynote speakers. During the first day Brian Gerkey, CEO and founder of the Open Source Robotics Foundation, will recap the history of ROS and share with the audience how advanced robotics is performed during "the era of open-source software". During the second day Prof. Michael Beetz from the University of Bremen will illustrate how knowledge-based services such as openEASE can improve interoperability in robotics and lower the barriers for robot programming. The training session has been updated as well, with our colleagues at FH Aachen delivering a full day of hands-on ROS training, and ROS-Industrial Consortium Europe members PPM AS and IT+Robotics srl providing FlexGui and cROS training during the second day. Please note that there is a significant discount if you register (registration now closed) for both events, and a further reduction for ROS-Industrial Consortium members. See you in Stuttgart on November 2-4!

Personal Letter from ROS-Industrial Founder Shaun Edwards

490A6839.JPG

After 11 years, I have decided to leave Southwest Research Institute (SwRI). It has been an incredible ride. I have had the opportunity to work on a wide range of robotics projects. I’ve worked on some of the largest robots in the world, as well as the most advanced autonomous vehicle technologies. And while it probably goes without saying on this blog; I was part of the team that launched the ROS-Industrial project. I can honestly say that Southwest Research is one of the best places to work (seriously…would your boss let you work at a Silicon Valley incubator with the goal of developing software that you just plan to give away…well mine did!).

Despite this, there are some opportunities that I have not been able to pursue in my role at SwRI. Over the past 5 years, I have promoted ROS-Industrial for new applications in the industrial robotics market. While we’ve had some success with early adopters (you know who you are – thanks for your support), it’s now time for me to fully invest myself in such an endeavor. In the coming weeks, I will be officially joining early ROS-Industrial supporter, Erik Nieves, and the team at PlusOne Robotics. PlusOne Robotics is still in stealth mode, but we plan to utilize ROS-Industrial to enable “new” collaboration between industrial robots and people in logistics applications.

I’m very excited about this opportunity, but I realize this raises some obvious questions about my role within ROS-Industrial. While things will change, nothing will change overnight. Myself, SwRI, and all the ROS-Industrial developers are committed to seeing ROS-Industrial continue on and flourish.

One of the greatest aspects of open source development is that participation is not limited to what company for which you work, but rather the value of your sweat equity. My plan is to continue my leadership role, facilitating technical planning and organization, maintenance, and community building, within ROS-Industrial as an employee of PlusOne. I endorse and support SwRI’s continued role within ROS-Industrial. As a non-profit, I believe SwRI’s leadership is essential to balancing the needs of ROS-Industrial’s stakeholders. I have been lucky to work with some great developers at SwRI, and I’m excited to see who replaces me in the near future. Without access to SwRI’s robotics facilities, I will inevitably have to transfer some package maintenance responsibilities. These maintenance responsibilities will be transferred over the next few months. If all goes as planned, then I expect this change will be mostly transparent to the ROS-Industrial community.

In closing, I’d like to reiterate my appreciation for Southwest Research Institute and the ROS-Industrial community.

If you have further questions, please don’t hesitate to email me at shaun.edwards@gmail.com

Google Summer of Code Project - ROS Interface for Impedance/Force Control

Submitted by: Risto Kojcev, IIT and Scuola Superiore Sant'Anna

As part of Google Summer of Code (GSoC) 2016 directed by the Open Source Robotics Foundation (OSRF) and ROS-Industrial (ROS-I) Consortium, we have developed a user friendly ROS Interface to control and change a manipulator into Cartesian Impedance control mode. The external forces that the robot applies to the environment can also be set with the developed interface.

Below are some of the technical details and relevant repositories that were developed as part of this project.

Our first goal was to create a set of common messages containing the necessary parameters for setting Impedance and Force control. This allows interaction between the ROS ecosystem and the ROS driver of the robot. The messages are created based on the commonly used parameters for Impedance/Force control and discussion with the ROS community. The relevant current set of ROS messages are available in the majorana repository. I would also like to encourage the Robotics community to contribute to this project by sharing their suggestions. I believe that this set of messages could still be more generalized and improved based on community input.

The second goal was to develop a user interface which allows the user to set the necessary parameters for Cartesian Impedance/Force Control and interactively switch between control modes. In this case I have expanded previous GSoC 2014 Project: Cartesian Path Planner Plug-In for MoveIt!. The updated plugin now contains the relevant UI fields for setting Cartesian Impedance and Force Control. Depending on the implementation and the properties of the robot controller, this plugin also allows interactively switching between control modes during runtime.

I would like to share my gratitude for the ROS-I community members and my mentor Shaun Edwards, who shared their suggestions during the project development. I hope that this project will find its place in many applications.

Relevant links:

3D Automatic Path Planning for Surface Grinding

Submitted by: Victor Lamoine, Institut Maupertuis

The Bezier library is a ROS tool that allows users to plan complex trajectories on 3D surfaces, and while it can be used for many purposes, it was created to generate 3D grinding trajectories. To demonstrate the usefulness of this library to industrials, we applied our latest developments on a demonstrator.

The demonstrator consists of a Fanuc robot with a grinding end effector and a table on which a shackle is laid and maintained in position. The robot first takes multiple scans with a 3D sensor to determine the position and orientation of the shackle. When the scan is over, the user can choose the grinding parameters and generate the trajectory. It is possible to simulate the trajectory before running it on the robot. The user is then able to launch the trajectory on the robot. All of these steps are summarized in this video:

This demonstrator was created as part of the Bezier project at the Institut Maupertuis. You can find more information about the Bezier library on the official repository.

Note that the library is modular and can be used for other tasks such as painting, deburring, 3D printing, or any other application that requires complex 3D path planning.

ROS-Industrial Job Opportunity at SwRI

Our team works on leading technologies in industrial robotics, and we are looking for talented and motivated candidates to join us. Do you want to work in a flexible and stimulating environment on diverse technical challenges in applied research and development? At SwRI, you will have the chance to provide technical leadership in the development and application of advanced robotic solutions for commercial and defense manufacturing clients; manage open source repositories and collaborate with international teams on open source development; design, build, debug and install industrial robotic and automation systems; develop and test new manufacturing and industrial processes; develop software for industrial controls and manufacturing systems; lead the preparation of proposals and cost estimates; interact with clients to promote new business and develop technical requirements; participate on and lead technical teams; and so much more. The possibilities are endless. Check out two job openings at SwRI: Research Engineer and Senior Research Engineer.

Education/Experience:

Requires a MS or PhD degree in Robotics, Mechanical Engineering, Electrical Engineering, Computer Science, Computer Engineering, or related field with at least a 3.5 GPA. Must have at least 5 - 15 years of experience with developing software and controls for robotics and automation and have experience with large scale C++ software development. Beneficial skills include: ROS (Robot Operating System) development, OpenCV and vision system development, optimal and search-based planning for high degree of freedom systems, open source software project management. Beneficial knowledge includes: industrial robotics, mobile robotics, 2D/3D computer vision, path planning for robotics, machine learning, optimization, perception/sensing for robot guidance, localization. Travel on an as needed basis to conduct project work. A valid/clear driver's license is required.

Special Considerations:

Applicant selected will be subject to a government security investigation and must meet eligibility requirements for access to classified information. Applicant must be a U.S. citizen.

Job Locations: San Antonio, Texas

Interested? Please apply here:
https://resapp.swri.org/ResApp/Job_Search_Results.aspx?DETAIL=10-00928

No advanced degree? Check out: https://resapp.swri.org/ResApp/Job_Search_Results.aspx?DETAIL=10-00927

RIME-MII Federal Funding Opportunity

The US Department of Defense is sponsoring the 8th Manufacturing Innovation Institute, which will focus on collaborative robotics. Below, you will find a summary of the Federal Funding Opportunity, which we quote from proposer’s day invitation website:

“The Manufacturing Innovation Institutes (MII) bring together industry, institutions of higher education (four- and two-year universities, community colleges, technical institutes, etc.), and federal and state agencies to accelerate innovation by investing in industrially relevant manufacturing technologies with broad applications. The MIIs help bridge the gap between basic/early research and product development by developing and scaling critical technologies in the manufacturing readiness level 4 to 7 ranges. These MIIs are to provide shared assets to help companies – particularly small manufacturers – access cutting-edge capabilities and equipment, creating an unparalleled environment to educate and train students and workers in advanced manufacturing skills. Each Institute is to have a specific technical or market focus, serving as a regional hub of manufacturing excellence, providing the critical infrastructure necessary to create a dynamic, highly collaborative environment spurring manufacturing technology innovations and technology transfer leading to production scale-up and commercialization…”

“The Government intends for this FOA to support the establishment of a RIME-MII to advance state-of-the-art application of collaborative robotic technologies in manufacturing environments. The motivation for the RIME-MII is to increase U.S. competitiveness in robotics applied primarily in manufacturing environments by 1) encouraging the development and scale up for commercialization of critical enabling technologies such as human-robot/robot-robot collaboration; perception and sensing; robotic control: adaptation, learning, and repurposing; autonomy and mobility; and, dexterous manipulation; 2) establishing common standards and testing protocols allowing the integration of multiple robotics technologies; 3) creating a robotic technology solution repository (to include modeling tools, databases, catalogue of technology demonstrations and concept sharing mechanisms ); and 4) providing workforce training and education programs to ensure the U.S. workforce can effectively collaborate with robots in a broad spectrum of manufacturing environments.”

We believe that it is not a coincidence that the objectives of RIME-MII align so well with the goals and vision of ROS-Industrial software project and its supporting consortium, which include:

  • Supporting advanced robotics capabilities for manufacturing
  • Standardizing interfaces for cross-platform compatibility
  • Modularizing and scaling components to larger systems
  • Enabling collaborative development environment
  • Developing the workforce through training curriculum and hands-on classes
  • Transferring technology via open source license
  • Providing affordability for small and medium enterprises

The ROS-Industrial Consortium Americas is supportive of teams who are willing to include ROS-Industrial among their technical thrusts. Along the same lines, we believe that the ROS-Industrial project stands to benefit from the involvement of the greater manufacturing industry in the RIME-MII. We invite industry to reach out to proposing teams to learn more and to choose to be involved to support the open solution for advanced robot software: ROS-Industrial.

Need a connection to a proposing team? Please contact ROS-Industrial Consortium Program Manager Paul Hvass: paul.hvass@swri.org

Series on ROS-Industrial Development Process - Contribution

Overview

We often receive questions from those unfamiliar with open-source development about what process we follow to ensure the quality of the ROS-Industrial software. The process we utilize (see figure above) is probably not that different from any large software project. The main differences being that the team is made up of many different stakeholder (for lack of a better term) and any stackeholder is welcome to contribute. With this open model, one might assume we have more checks in place to intercept "bad" contributions, but in practice that's not required. We utilize the same checks for our open source projects as we would for any project. Specifically, all code is verified at multiple steps in the process. Contributions from trusted sources as well as unknown sources are given the same level of scrutiny. This is the beginning a multiple-post series detailing the ROS-Industrial process, with our first post focusing on contributing software changes and fixes.

Contributing

ROS-Industrial is a community project. We welcome contributions from any source, from those who are extremely active to casual users. The following sections outline the steps on how to contribute to ROS-Industrial. It assumes there is an existing repository to which one would like to contribute (item 1 in the figure above) and one is familiar with the git "Fork and Branch" workflow, detailed here.

  1. Before any development is undertaken, a contributor would communicate a need and/or issue to the ROS-Industrial community. This can be done by submitting a bug to the appropriate github repo, the issues repo, or by emailing the users group. Doing so may save you time if similar development is underway and ensure that whatever approach you take is acceptable to the community of reviewers once it is submitted.
  2. The second step (item 2 in the figure above) is to implement your change. If you are working on a code contribution, we highly recommend you utilize the ROS Qt-Creator plugin. Verify your change successfully builds and passes all tests.
  3. Next, push your changes to a "feature" branch in your personal fork of the repo and issue a pull request (PR)(item 3). The PR allows maintainers to review the submitted code. Before the PR can be accepted, the maintainer and contributor must agree that the contribution is implemented appropriately. This process can take several back and forth steps (see example). Contributors should expect to spend as much time reviewing/changing the code as on the initial implementation. This time can be minimized by communicating with the ROS-Industrial community before any contribution is made.

Next week we will continue the series on the topic of ROS-I Maintainers…