Saturday, February 1, 2020

Educational Robotics. A growing business with purpose

I like the definition from Wikipedia of educational robotics: "... a subdiscipline of robotics, applied to the educational field that focuses on the design, analysis, application and operation of robots. It can be taught in all educational levels, from kindergarten and primary education to postgraduate. "

However, it goes much further than creating robots and programming them, also encouraging humanistic cohesion in the group, what is so often forgotten when we talk about technology.

It is common for an educational robotics training to include a challenge, so that students can solve it with materials such as: mechanical parts, sensors, actuators and embedded systems. These materials, complemented with computer tools, allow working on solutions to the challenge. In this way, not only is there a theoretical learning process, but also a practical one, through a series of phases, very similar to those applied in the design of automated solutions for the commercial and industrial market: Analysis, design, construction, programming, testing, documentation and presentation or delivery. Depending on the age and real interest of students, it is possible to dive more in the complexity of these phases, getting from the most basic to the most complex, always from an entertaining and motivating point of view.

Many times this educational training can be complemented with other competitions between teams, from the same center, from other centers or independent teams, organized well by educational centers, companies or other institutions, in order to promote STEM talent (science, technology, engineering and mathematics) and identify innovative solutions in the field of robotics.

Educational robotics empower in the students, future researchers and business people, a series of competencies, awakening in many cases relevant vocations.

Fortunately, educational robotics is taken seriously in many developed countries, being part not only of curricular programs of educational centers, but also of extra curricular training offers (training centers, academies, etc.).

Also it is clearly a business, as the $1.3 billion international robotics education market in 2019 is set to grow to $3.1 billion by 2025, according to findings by market research firm HolonIQ

Source: HolonIQ

As Vicepresident of HISPAROB, Spanish technological platform for robotics,  I have to say that we take educational robotics very seriously, as a way to empower talent and scientific-technological knowledge in current and future generations. Among our theme clusters, we have one about Educational Robotics, formed by 26 entities (manufacturers, distributors, training centers, etc.) highly active, seeking collaboration and cohesion of efforts so that robotics reaches not only the brain, but also to the soul of people. That is why at HISPAROB we are greatly grateful for the effort of this group, a reference in Spain and we encourage other groups and teams worldwide to continue helping robotics to reach the people with passion.

Sunday, December 22, 2019

Global Robot Cluster (GRC) The biggest Cluster of Clusters

On November 2019, I had the fortune and responsibility to represent Hisparob and Spain in the General Assembly of Global Robot Cluster (GRC) in South Korea, invited by the Daegyeong Robot Enterprise Association (REPA) and financially supported by the Government of Daegu in South Korea.

REPA, starts in 2017 the initiative to form the Global Robot Cluster (GRC) together with three other countries, as an entity that intends to represent most of the countries in the world, under the objective of promoting exchange and collaboration in the field of robotics.

In Nov 2019, eleven countries became part of the GRC: 

By 2020 Thailand and Denmark may also join the GRC.

GRC members. 2019

GRC is a great initiative and I strongly recommend clusters of different countries to join as members. We live in a Global world and most countries in the world have already learned from previous crises the importance of being part of this Global World, to expand opportunities. 

Hisparob in Spain tries to help to facilitate this step by promoting international relations for the benefit of our partners and the progress of robotics in our country and in the world.

I want to express a special recognition to GRC, REPA, the Government of the city of Daegu in South Korea and the Spanish companies Dahn Ghun and GR-EX for contributing in one way or other to facilitate this great opportunity for our associates and for our country.

Alejandro Alonso Puig
Vice President HISPAROB

Sunday, November 24, 2019

The 8th Edition of Daegu Robot Expo (South Korea)

November 2019 has been the date for this edition of Daegu Robot expo, where we saw a variety of robots, mainly anthropomorphic, although we saw some few professional drones, UGVs, educational robots and parts.

  • Between the professional drones we saw a huge engine drone, a quadcopter with fuel combustion engine from ATD Lab.
  • Also a  fixed wing drone  from Joydrone, with vertical take off and landing
  • Man&Robot co ltd showed Automatic Screw Assembly Machine Using Cooperative Robot.
  • Ruben offered 3D vision guided robotics and Bin picking system based on Fanuc robots
  • Stäubli showed their well known robot arms as well as their Stäubli Robotics Suit of software
  • Educational robots company, distributed in Spain by Dahn Ghun company
  • Also we saw some smart 3d printers, using either PLA or ABS for non industrial creations.
  • Wego showed Ugvs mainly, from Clearpath as well as developed by wego. 
  • Einbot showed a deep learning visual inspection robot sorting solution
  • Oto Robotics showed their industrial articulated robots OTR-6 and OTR-20. 6 axis pick and place robot and 6 axis welding robot.
  • Woelsung TMP manufacturer of robots for testing and handling radioactive materials, showed one of their telemanipulators for handling of radioactive materials, drug production, nuclear applications including testing, medical applications, and pharmacy.
  • Hyundai robotics showed their huge clean robot for LCD glass screens manipulation as well as a variety of Industrial robots
  • Daiso cell. Showed their force sensors, torque sensors and load cells.
  • DGM Tech showed their rehabilitation exoskeleton
  • Yaskawa showed their general industrial robot solutions.
  • Sensor Solution showed some sennors for measuring displacement, preasure and torque.
  • and last but not least, Kuka showed one of their industrial robots

This was all from the 8th Edition of Daegu Robot Expo in South Korea.

by Alejandro Alonso Puig

Wednesday, October 16, 2019

Is Amazon AWS Robomaker worth it?

Amazon released AWS Robomaker last year (2018) as a service that makes it easy to create robotics applications at scale. But, what does it mean and how this could help us in our developments and release of real products?

The product

AWS RoboMaker nowadays is focused on extending the Robot Operating System (ROS) framework with cloud services. [1].

AWS Robomaker service suite includes nowadays (2019) the following components:

  • Cloud Extensions for ROS: With them, it is possible to offload some resource-intensive computing processes that are used in robotics applications to the cloud and free up local compute resources. These extensions allows to integrate with AWS services like Amazon Kinesis Video Streams for video streaming, Amazon Rekognition for image and video analysis, Amazon Lex for speech recognition, Amazon Polly for speech generation, and Amazon CloudWatch for logging and monitoring. RoboMaker provides each of these cloud service extensions as open source ROS packages, so it is possible to build functions on the robot by taking advantage of cloud APIs[2]. Having said that, obviously AWS charges fees per usage of the cloud services. This seems to be the business model of AWS Robomaker for Amazon.
  • Development Environment, based on AWS Cloud9, so it is possible to launch a dedicated workspace to edit, run, and debug robotics application code. RoboMaker's development environment includes the operating system, development software, and ROS automatically downloaded, compiled, and configured. Plus, RoboMaker cloud extensions and sample robotics applications are pre-integrated in the environment.
  • Simulation system based on Gazebo, that supports large scale and parallel simulations, and automatically scales the underlying infrastructure based on the complexity of the simulation.
  • Fleet Management service allows over-the-air deployment to deploy a robotics application into a robot fleet securely, so updates could be easily deployed in a full fleet or part of a fleet of robots.

(C) Amazon AWS Robomaker


The product sounds really interesting, but let's consider the following goods and bads from my personal point of view:

  • One of the interesting things of being cloud based is that it could be used for development from anywhere, without the need to have ROS installed in the developers PC. This is a good starting point, but this is not usually a preferred long term solutions for developers, who use their preferred IDEs and tools for static code analysis. Anyway you could always use your IDE and tools and use only AWS cloud services.
  • This solution support ROS Kinetic and Melody, the latest two long term support versions of ROS1, also it supports ROS2.
  • Cloud extensions are really interesting. Having the capacity to run powerful computer vision algorithms in a massive computational environment in a transparent way is definitely a good option. The same happens with the other cloud based services offered by AWS. But you have to keep in mind that you need to ensure a reliable communications channel if your dependency to the cloud services is critical to your specific application to work properly. 
  • It is very interesting that AWS Robomaker is always considering the idea of a fleet, so simulations and services could be used for the full set of robots.
  • One of the things I really like is the option to deploy updated OTA (Over-the-air) to one or more robots in a fleet. Imagine you have 10 robots installed in a customer. If you update all of them in a shot may be risky. With this service you could update just one, then three and after everything is ok, then the rest, easily, with no headaches. 
  • One of the things I like of the cloud services offered by AWS is that you pay per use, so you may even charge to customers based on this model in case you offer a robot-as-service business model
  • You also could have cloud based metrics of the robots, so you could do preventive maintenance or monitoring.
  • About the simulations, definitely developers could create much more powerful simulations in AWS Robomaker than if they have Gazebo simulator locally installed in their top notch powerful PCs, as AWS offer expandable computing power. This is just a question of how much computing power you need and how much money you are prepared to pay.
  • About real product applications, nowadays I see that there is a risk on the dependency for reliable wifi connection. If your application depends on it, you need to implement alternative ways of communications, so you may need to implement a solution that switches from wifi to 4G in case wifi fails or degrade.
  • Last thing is that somehow using AWS you need to accept that you are creating a dependency to these services, so you will not be easily able to implement other similar solutions with on-board computing in the future. Anyway, Amazon looks to be a good partner for a long term relationship.

[1] What is AWS Robomaker:
[2]AWS Robomaker web page:  

Monday, September 30, 2019

Is ROS ready for industry?

Recently I published my latest book “ROS Programming with Python” in Amazon. Some people asked me free promotional units of the book (just email me if you want yours), but what was really interesting was to find people very reluctant to ROS, saying it is just for education and not for the real Industry. I think ROS is starting to offer interesting options for Industry, but to evaluate that we need to know in advance that there are three different approaches of ROS: ROS 1, ROS 2 and ROS Industrial. Let me briefly explore them:


The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behaviour across a wide variety of robotic platforms.

ROS 1 born as a solution for single robots, the PR2 from Willow Garage, although it was designed to be used in a variety of robots with no real time requirements.

Today we see ROS used not only on the PR2 and robots that are similar to the PR2, but also on wheeled robots of all sizes, legged humanoids, industrial arms, outdoor ground vehicles (including self-driving cars), aerial vehicles, surface vehicles, and more.

ROS 1 is nowadays the approach of ROS that most people knows, with several releases, being the last LTS versions (Long Term Support) Kinetic and Melodic. In fact, when you talk nowadays about ROS, it is widely accepted that you really are talking about ROS 1.

ROS Industrial

ROS-Industrial (or ROS-I) was created in 2012 to develop collaboration between ROS and the industry. 

ROS-Industrial is an open-source project that extends the advanced capabilities of ROS software to manufacturing.

ROS capabilities, such as advanced perception and path/grasp planning, can enable manufacturing robotic applications that were previously technically infeasible or cost prohibitive.

ROS-Industrial is released under the business-friendly BSD and Apache 2.0 licenses.

With ROS-I, BMW Group Logistics was able to incorporate several different sensors into their STR to enable sensor fusion within each mobile robot. ROS-I allows the different hardware and sensors contained within the vehicle to communicate with each other, and also allows the robot to communicate with different IoT solutions. BMW uses a cloud-based operating platform for central coordination of the STRs.

BMW, Microsoft and Open Robotics on an automation solution using ROS-I


ROS 2 was first introduced in 2014 in ROSCON 2014 conference. ROS two is not a new version of ROS, but a new promising approach, with different releases, that is much more prepared for the Industry than ROS 1.

Robotics and business evolution asked for new use cases that were not considered when ROS 1 was designed and were the reason of creating a new approach of ROS: ROS 2. Some of these use cases are, as described by Brian Gerkey, CEO of Open Robotics and former Director of Open Source Development at Willow Garage:

  • Teams of multiple robots: while it is possible to build multi-robot systems using ROS 1, there is no standard approach, and they are all somewhat of a hack on top of the single-master structure of ROS 1. In the other hand, ROS 2 is designed as a distributed system for single or multiple robots, not depending on a Master and replacing the messaging layer to rely on DDS (Data Distribution Services).
  • Real-time systems: we want to support real-time control directly in ROS, including inter-process and inter-machine communication (assuming appropriate operating system and/or hardware support). While ROS 1 is not designed for Real time, ROS 2 could work in real time while using RTOS. 
  • Non-ideal networks: we want ROS to behave as well as is possible when network connectivity degrades due to loss and/or delay, from poor-quality WiFi to ground-to-space communication links. ROS 2 is designed for this approach while not ROS 1.
  • Production environments: while it is vital that ROS continue to be the platform of choice in the research lab, we want to ensure that ROS-based lab prototypes can evolve into ROS-based products suitable for use in real-world applications.


The rivalry may be more between ROS 1 and ROS 2, considering ROS-I definitely more for Industrial robots and manipulators.

I like the recommendation given on July 2019 by Dan Rose and Nick Fragale from Rover Robotics with help from Open Robotics:

DemographicDescription of userAdvice
StudentsThose who are just learning to use ROSStick with ROS 1 for now. Many of the concepts in ROS 1 and ROS 2 are the same so learning ROS 1 will help you to learn ROS 2 later on.
ProfessorsThose teaching ROSKeep teaching ROS 1 for now but start thinking about curriculum for ROS 2. There are many entities interested in helping to develop curriculum for ROS 2 including Rover Robotics so you don’t have to go at it alone
ResearchersThose using ROS to publish papersUnless your paper is specifically to show off using ROS 2 our advice is to stick with ROS 1 for the time being.
Large CompaniesThose who are in R&D groups funded by a large corporate entityStrongly consider ROS 2 to reduce the amount of technical debt in the future. Put people with experience with ROS 1 on the project.
New Robotics StartupsThose who are thinking about starting a robotics companyStrongly consider ROS 2 to reduce the amount of technical debt in the future. Hire people with experience with ROS 1.
Existing Robotics StartupsThose working at a robotics startup that’s either using ROS 1 or not using ROS at all.This is the hardest group to offer advice to. It really depends on where you are at with your startup. Keep an ear to the ground on ROS 2, at some point you will want to switch but it will be like ripping off a band-aid.
Robotics OEMThose who make either robots, sensors for robots, or anything that needs a ROS driverNow is a good time to switch. ROS 2 Dashing is the first LTS release so its now safe for OEMs to start porting drivers without fear of new features that will break functionality. Additionally we have seen large companies like Amazon, Intel, and Microsoft devote significant resources towards ROS 2 development.


Some Companies Using ROS: NASA, BMW, Clearpath Robotics, Fetch Robotics, Pal Robotics, Robotnik, Yujin Robots, Robotis, Shadow Robot, Husarion, Neobotix, Gaitech, Sony, Ubiquity Robotics, Open Robotics, Rover Robotics, DJI, Infinium Robotics, etc.

ROS-I is supported by an international Consortium of industry and research members: ROS Industrial Consortium. ROS Industrial Consortium includes companies such as ABB, Airbus, Bosch, BMW, IFM, Intel, Pepperl+Fuchs, Siemens, Universal Robots, Yaskawa and much more.


Saturday, April 27, 2019

5 keys why ASTI Mobile Robotics is leading company in Europe

ASTI Mobile Robotics, the company number 1 in AGV sales in Europe (+1.000 AGVs manufatured per year), with close to 220 employees and a very strong growth with a CAGR of 53% since 2014 is my new home. I came back from Singapore to Spain about 8 months ago to be the Software Engineering Director, and I found some keys why this company is so successful. Let me go quickly through the five I consider most important. May be it helps other companies to think over their strategies for improvement:

A sample of AGVs offered by ASTI

International mentality: ASTI is always thinking on scalable solutions for the whole world, not for local business only. This explains why close to 75% of revenue comes from international business from 17 countries.

Variety of innovative solutions: An important investment in R&D ensures that ASTI offers a wide variety of AGV solutions for automated intralogistics in different markets, from automobile manufacturing to ecommerce.

Industrial quality products: The solutions are designed, developed and tested to ensure they are robust and reliable for Industry Grade 24x7 requirements.

Customer in the center: ASTI understand customers not as a source of income, but mainly as partners, with a deep commitment on customer success. ASTI do not sell products or projects just to fullfill customer requirements, but solutions to help the customer, to produce better and more. ASTI never abandon a Customer, even if it means to loose in the short run, because it will mean a great win-win in the long run.

Talent gathering: ASTI always looks for the best talent and the best team work, because the people in ASTI make the products quality, the products that will ensure the customer success. Personally I feel proud of the team of 40 people working under my responsibility. They are great people and great professionals.

Clic HERE if you do not see correctly the video

Friday, June 22, 2018

7 tips to choose a Methodology for Software Development

There is quite a variety of Process Models and Methodologies that could be used for a project.  Although there are fans of each model and methodology,  the question to answer is which one fits best for our specific need. This is where I will try to help you in this post.

Sometimes a methodology is used in a company due to company standards (i.e. SixSigma is a standard for General Electric), or just because it has been used during some time, or because the project managers and sponsors do not know well the benefits to apply other methodologies, or just because they are frightened of the change. 

For Software Development we could use different Process Models, like 

  • Linear Process Models, that follow a pattern of phases completed one after the other without repeating phases (Waterfall, V-model, Sawtooth model,..) and all rights reserved

I would like here to point out some tips and benefits of the mostly used Process Models and Methodologies, to get some idea on what is better for us:

  1. Linear Process Models are not very adaptable to change. I used quite often these models, but usually for projects with very fixed and well defined requirements, that involved not only software development, but hardware integration. Although changes could happen in this model by applying Change Management practices, the model is not very well designed for those changes, so if these changes happen late in the project, they may add great delays and costs.
  2. Iterative Process Models are more adequate for Software Development as they are focused on iterations, with releases deployment after each iteration, getting feedback from customer and improving/modifying the product in each iteration. Desirable this iterations are short (under one month), so adaptation to change is much easier than with Linear Models
  3. Unified Process Model is one of the most interesting Iterative Process Models, that emphasizes gradual development. Something I like from this model is that it considers parallel work at the same time as cyclic iterations. Therefore for example it is possible to design the product architecture while developing tests at the same time. This is good and logic, as the Architecture may change when there are changes in the requirements and sometimes it is not necessary to have the full system architecture design ready before the coding phase starts. It is ok to have a general architecture definition at the beginning and go more into detailed architecture design for the features we are going to prepare during an iteration.
  4. Extreme Programming Agile Methodology or XP is all about client satisfaction by encouraging customer feedback during all development, small and frequent releases, simple designs (adaptable to change), coding standards, continuous integration and testing, balance between work and personal life and something that, in specific phases of the project is really good, although costly, that is “pair programming”, meaning that programming is done in groups of two developers, using the same computer and developing the same piece of code. It is interesting because drastically reduces failures in the code design, but needs to ensure that there are no personality conflicts in each pair. Also we need to keep in mind that XP is designed for small development teams. With big groups may become a mess, specially in the integration part
  5. Scrum is one of the most popular Agile Methodologies that is based on three pillars: Transparency, Inspection and Adaptation. From the Transparency pillar I really like the common agreement on standards and the “definition of Done” concept, that basically emphasizes clear common understanding on when a feature to develop is considered finished. This prevents misunderstandings and false expectations that later could add complaints and delays to the project. Also from the Inspection pillar I like the four events that happen in a Sprint (cycle in which a working release is produced). These events are: Sprint planning, daily Scrum, Sprint review and Sprint retrospective. They are a good way to progress in the project without spending much time in management or micromanagement.
  6. Lean software development (LSD) is a translation of lean manufacturing principles and practices to the software development domain, to reduce risks and deliver high quality products quickly. It sounds good, isn’t it?. I like one of it’s main principles: “Eliminate waste”. It states that anything that doesn’t add value is considered waste, like unnecessary meetings, unclear requirements or product defects. Other important principle, “Building Quality in” promotes the use of the best practices available to avoid errors in development, may be by using the pair programming concept, well commented code and good documentation, Refactoring if needed and automated testings.
  7. Kanban is used in Lean Software Development. This approach aims to manage work by balancing the demands with available capacity, and improving the handling of system level bottlenecks reaching the ideals of Just-in-time manufacturing. In Software Development this balance is made having multi-functional teams that could be placed in one or other phase depending on the demand. For example a developer could become tester during a specific period of time, depending on the “work in progress limits” established in each phase. Work items are visualized to give participants a view of progress and process, from start to finish usually via a Kanban board. Work is pulled as capacity permits, rather than work being pushed into the process when requested.

In summary, choosing one Process Model and Methodology depends on the kind of products to develop, the size of the development team, the culture of the company and the relationship with the customer, between others.

Depending on the company I worked for and the kind of project, I used Six Sigma (not described in this post), Waterfall, or Scrum Agile methodologies, but usually I added some ingredients from other methodologies that I considered may add value and adaptation to the needs. Sometimes being too strict with the methodology may not be the best option, depending on each specific situation. Because of that, it is good to know several methodologies, even if you are just using only one of them.