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…

Brian Gerkey (OSRF) Intro to ROS Presentation from the ROS-I APAC Workshop in Singapore

We were fortunate to have OSRF represented at the ROS-Industrial Asia Pacific Workshop, which was hosted by ARTC and NTU in Singapore this July. Thanks Brian and Morgan! If you haven't seen a recent presentation about ROS and the community of ROS users, Brian's presentation was for you (refer to video below). For more about the workshop check out this blog post.

Upcoming Event: World MoveIt! Day

Submitted by: Dave Coleman, University of Colorado Boulder

world_moveit_day.png

Join us August 23rd, 2016 for an international hackathon to improve the MoveIt! code base, documentation, and community. Following the heels of the repo merge, we hope to fix all broken links in the documentation, close as many longstanding pull requests and issues as possible, and have some fun with a newly released integrated simulation of MoveIt! manipulation + Gazebo + Fetch for us to test. An hour long Q&A session is scheduled at 9am Pacific to allow the community to meet the people merging their pull requests.

We will be having several event locations including:

  • ROS Industrial at Southwest Research Institute in San Antonio, Texas. Contact: Paul Hvass
  • Fetch Robotics in San Jose, California. Contact: Michael Ferguson
  • Xamla Robotics Team at Provisio GmbH in Münster, Germany. Contact: Andreas Köpf
  • JSK at the University of Tokyo in Tokyo, Japan. Contact: Kei Okada

If you aren’t near an organized event we encourage you to have your own event in your lab/organization/company and video conference in to all the other events. We would also like to mail your team or event some MoveIt! stickers to schwag out your robots with.

For more details, see the event page.

PackML Initiative for ROS-I

Submitted by: Lex Tinker-Sackett, Mfg Technology Specialist, 3M

PackML State Model (from the PackML Implementation Guide)

PackML State Model (from the PackML Implementation Guide)

ROS-Industrial is a foundational technology abstracting robot applications for industry. ROS-I runs on PC hardware (currently Linux based), which makes complete sense to the roboticist. To the manufacturing plant, however, the automation systems tend toward Programmable Logic Controller (PLC) hardware. Rockwell, Siemens, Mitsubishi and many other industrial vendors supply PLCs to factories all over the world. One challenge with PLC automation is developing complex manufacturing solutions for multiple vendors.

Bringing together hardware from multiple vendors using different technologies (heterogeneous machines) with a standard programming paradigm would simplify the problem. Fortunately, the ISA-88 standard includes a subset called PackML, which provides PLC programmers with a state machine (see Figure above) and messaging protocol that allows disparate machines to work together. As more and more robots are integrated into manufacturing environments, it makes sense to extend the PackML standard into the ROS-I world.

ROS-I and PackML are a natural fit for each other. Both create a new way to solve old problems. Under the ROS-I Consortium, a group is forming to create an open source C++ library (think Boost) to implement the PackML state machine abstraction for use in ROS-I. Integration of robots into complex manufacturing environments will be made simpler with the new ROS-I/PackML library.

To join future discussions about the PackML project for ROS-I, please email the ROS-I developer email list with your interest: swri-ros-pkg-dev [at sign] googlegroups.com

Not already subscribed to the list? Please use this link to subscribe.

First ROS-Industrial Asia Pacific Workshop 2016

Submitted by: Nicholas Yeo, Technical Director, Advanced Remanufacturing and Technology Center, Singapore

We just conducted our first ROS-Industrial Asia Pacific Workshop to a sell-out crowd. ROS enthusiasts from academia, research institutes, and industry participated in the event. We hosted a 2-day event on 14-15 Jul 2016 at the Advanced Remanufacturing and Technology Centre and Nanyang Technological University.

Along with exciting presentations and demonstrations of ROS-I, speakers from the local and international region discussed ROS-I and related topics.

With this, we are announcing the launch of a ROS-Industrial Consortium for the Asia Pacific region. ROS-Industrial Consortium Asia Pacific (RIC Asia Pacific) joins similar organization in Europe and the Americas to expand the outreach of ROS-I. We hope this will be one of the many events and opportunities that RIC Asia Pacific can bring to industrial communities in Asia to support future use of ROS-I in robotic applications.

To read the SwRI press release, please refer to this link.

MOU Signing ceremony represented (from left): Prof Chen I-Ming (NTU-MAE), Paul Hvass (SWRI),  Dr. DavidLow (CEO, ARTC)

MOU Signing ceremony represented (from left): Prof Chen I-Ming (NTU-MAE), Paul Hvass (SWRI),  Dr. DavidLow (CEO, ARTC)

ROS-I Consortium Managers (from left) -Mirko Bordignon (Fraunhofer IPA), Nicholas Yeo (ARTC), Paul Hvass (SwRI)

ROS-I Consortium Managers (from left) -Mirko Bordignon (Fraunhofer IPA), Nicholas Yeo (ARTC), Paul Hvass (SwRI)

Team Delft's ROS-I powered entry wins the APC 2016

We are happy to announce that Team Delft, a team of scientists and engineers from the TU Delft Robotics Institute and Delft Robotics, won the 2016 edition of the Amazon Picking Challenge which has just been held in Leipzig, Germany. The challenge, which you can read about here, aims to automate the "first and last miles of logistics". The task challenged robots to pick objects from containers and put them on shelves (the "stow task") and to pick objects from stocked shelves and put them into containers (the "pick task"). The variety of the objects and the unstructured environment still make this a considerably difficult task.

More information is available on RoboValley's announcement of the victory. Stay tuned for more in-depth posts going over the technical details of this ROS-Industrial success story!