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.


Sunday, June 3, 2018

ROS, for more than proofs of concept

It was not so far in time when I used to program robots using assembler language, a sort of machine code extremely close to the hardware of the machine. In those times programming a robot for complex functions, like navigating autonomously from one room to another was a difficult and time consuming project, that may take months for a team of people.

Robotics is evolving very fast as well as the open source movement. A really interesting outcome of both evolutions is ROS (Robot Operating System). ROS is an open-source, meta-operating system for robots, is a robotics middleware (i.e. collection of software frameworks for robot software development). It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers.

Nowadays it is possible to program a proof of concept for a robotics system in few days, thanks to ROS and all the open source, already available tools. Its integration with Gazebo Open Source Simulator is also a great help on the design and test of algorithms and behaviors.

Just as an example, let me share with you a development I did recently, using ROS. It took me about 10 hours to write on my own an application for a robot to work as a messenger, able to go to any room or location in a house  or an office to deliver goods. The function of the robot is very straightforward: You just put something on the tray of the robot and indicate in the touch screen where to deliver. Then the robot, using a 360 degrees laser scanner for detection of the environment and SLAM navigation technology, finds a trajectory to the required location. This development would have taken easily 6 months of work for a team of 5 people 10 years ago. Now you could have it in 10 hours of only one developer and with a hardware technology (robot platform, lidar, embedded computer) 

HERE you could also find all the documentation about the development of this solution.  In fact this documentation will be one of the chapter of my next book about ROS that I expect to publish soon.

But ROS is not only for developing a proof of concept, but real products for consumer and industrial market. I will talk more about it in future posts.

Thanks for the Open Source philosophy, thanks for the developers of Linux, the Open Source Operating System in which ROS works, thanks for all the hard work done by Willow Garage team for the development did of ROS and thanks to the incredible community of developers that share their knowledge and code for the Robotics evolution. This is the key factor of this time. We all are working to make the Robotics technology evolve, by sharing, for the art of sharing.

[ Wikipedia. ]
[ ]

Wednesday, March 21, 2018

Market trends on the Robotics for Logistics

The warehousing and logistics robot market is experiencing strong growth, with many prominent companies showing greater confidence in new robotics technologies that could yield a return on investment (ROI) in less time than it took a few years ago. [1]

The global Robotics market

The following graph, from the International Federation of Robotics and Boston Consulting Group [2] shows the market growth un billions of us$ for the main four sorts of robots:

Source. Boston Consulting Group [2]

  • Military: Including UAV, UGV, UUV and task robots widely used for military applications.
  • Industrial: Including applications for welding, assemble and material handling.
  • Commercial: Including applications such as medical and surgical robots, logistics, agricultural robots, maintenance and construction robots.
  • Personal: With applications as entertainment, cleaning, education and security robot.

The market of warehousing and logistics robotics

Tractica market intelligence firm forecasts that worldwide warehousing and logistics robot unit shipments will increase from 40,000 in 2016 to 620,000 units annually by 2021. The market intelligence firm estimates that global market revenue for the sector reached $1.9 billion in 2016, and anticipates that the market will continue to grow rapidly over the next several years, reaching a market value of $22.4 billion by the end of 2021. [3]

Source. Tractica [3]

IDTechEx research firm gives a different perspective on the growth of Warehousing and Logistics Robotics based on the investment on companies in this arena.

Source: IDTechEX [4]

This data shows the investment data for ground-based 25 start-ups focused on mobile robotics in warehouses/logistics.

Evidently, the interest has increased in recent years in mobile robotics targeting the warehouse/logistics area. Note that this figure excludes some major events: Does not count money spent internally by existing firms to launch such robots; Some start-ups are at seed stage with an undisclosed amount; it does not include acquisitions.

Some notable ones are Amazon's acquisition of Kiva for $775 in 2012, Omron's acquisition for Adept Mobile Robotics for $200m in 2016, and Uber's acquisition of Otto for $680m in 2016. Drone-based delivery robots are not included [4]

Forrester Research predicts a 10% year-on-year growth for online retail in Europe and the US. Online growth in Asia is even faster; for example by the year 2020 the online retail market in China is projected to be equal to that of France, Germany, Japan, the UK, and the US combined.

This growth directly affects the requirement for logistics labor since online retail typically needs more labor per item sold than traditional brick-and-mortar retail. This is because, instead of moving merchandise to a retail store in bulk, the organization must pick and pack online purchases individually by hand. Freight and parcel handling labor goes up as well since these goods must be shipped as separate parcels to be delivered directly to consumers' homes. Added to this, the average weight of these shipments is increasing as consumers can now order large items such as white goods, building supplies, and even furniture online. [6]

Another interesting perspective is from the end customers preference in the B2C market. 

Source: McKinsey&Company [5]

McKinsey&Company conducted a survey of more than 4,700 respondents in China, Germany, and the United States. They used conjoint analysis to better understand consumers’ relative preferences for different delivery options, including their willingness to pay. Nearly 25 percent of consumers were willing to pay significant premiums for the privilege of same-day or instant delivery. This share is likely to increase, given that younger consumers are more inclined (just over 30 percent) to choose same-day and instant delivery over regular delivery. [5]

Therefore, to reduce the delivery time, automation is key, both inside the warehouse and in the last mile.


Logistics Industry is facing a difficult moment, were competitors are innovating very fast to improve the throughput of their operations while reducing costs and delivery time. To do this, the digitalization of the Supply Chain is key, including not only the usage of automated systems and robotics, but the integration with good WMS (Warehouse Management Systems) and the definition of clear procedures and protocols to follow in operations, were manpower and robotics solutions should coexist in a colaborative way.

The market for automated solutions is growing very fast. There are good tchnical solutions ther, but the Logistics Management should be brave enough to leave the traditional methods and enter the world of Automation and Digitalization, investing on proper solutions for them.


For more information on automation solutions for the warehousing inductry, visit my previous post about it

Here there are some companies and products compiting in the market of robotics and automation for logistics, just for your reference:


[1] Manoj Sahi. Research analyst from Tractica.
[2] Boston Consulting Group. The rise of the robotics. 2014
[3] SDC Executive. Warehousing and Logistics Robotics. 2017
[4] IDTechEX. Mobile warehouse and logistic robots. Oct. 2017
[5] McKinsey&Company. How customer demands are reshaping last-mile delivery. Oct. 2016
[6] DHL. Robotics in logistics. March 2016

Tuesday, February 20, 2018

Technical Debt. Help please!

The actual pace of life very often demands actions to have products in the market as soon as possible, asking many times for fast hardware and software developments, that not always are made for the long run, creating what is called a Technical Debt.

Just like a financial debt, a Technical Debt can be managed easily, or it could become a serious problem for a company. An improper implementation of software code may not be an issue by itself, but if this code becomes a core part of a system, and you start implementing other codes that depend on it, that’s when things start to go out of control. Upgrading / fixing small issues can become a nightmare when there is a huge Technical Debt.

Time developing (green) versus time solving technical debt effects (red)
source: Christiaan Verwijs

What could be the consequences?

Some of the consequences of having and not paying down the Technical Debt may be:

  • Eventually the cost to deliver functionality will become so slow that it is easy for a well-designed competitive product to overtake the badly-designed software/hardware in terms of features (see graph above).
  • Badly designed software/hardware can also lead to a more stressed engineering workforce, in turn leading higher staff dissatisfaction (which in turn affects costs and productivity when delivering features).
  • Additionally, due to the complexity in a given codebase, the ability to accurately estimate work will also be affected.
  • In cases where development agencies charge on a feature-to-feature basis, the profit margin for delivering code will eventually deteriorate.
  • and last but not least, poorly design product may fail in critical situations, producing service disruptions that may seriously affect the operations of a customer, the credibility in our products and company and even produce serious financial implications.

Why this happens?

There are many reasons why this happens, to name a few:

  • Inadequate or incomplete requirements. Very common situation, were the development starts before a clear definition of the deliverables expected by the customer or the product.
  • Lack of communication or understanding of the implication of the rush. Quite often the Technical Debt is originated by Business Management asking for solutions in extremely short timelines, not understanding the implications in terms of Technical Debt. Sometimes this is caused by an improper communication between Technical Management and Business Management, so Technical Management is not able to make Business Management understand the implications of accepting a Technical Debt.
  • Not willing to pay. Sometimes everyone understands the need to have some Technical Debt for having things 'ready' as soon as possible, but then there seems not to be 'time' to pay the Technical Debt, becoming an endemic problem. The longer that refactoring is delayed, and the more code is added, the bigger the debt.
  • Lack of proper Technical Management. This includes ensuring standards and procedures for development, adequate follow ups and measures of the Technical Debt accumulated, proposals of plans to pay the Technical Debt and prevent as much as possible it's growth. Ensure adequate training of people on usage of modern development tools, enforce documentation and knowledge sharing.

How to handle the Technical Debt

Here are some suggestions to handle the Technical Debt:

  • Alignment between business and technical concerns. Incurring Technical Debt allows to release quickly today at the cost of the slower delivery in the future. Therefore, the approach to technical debt should be clearly articulated and negotiated to balance business outcomes over the near and long term.
  • Making Technical Debt visible. It is helpful to use tools that make the quality of the software/hardware visible. To build this kind of micro-feedback loop, consider using editors that highlight coding standard violations, or tools that automatically run static code analysis and test code coverage.
  • Definition of 'Done'. Although it is an Agile Methodology term, it could be perfectly used by waterfall projects. The definition of done can help avoid and reduce Technical Debt. Elements like required code coverage and code review are examples of injecting the discipline, at a story level, needed to prevent Technical Debt.
  • Education and Mentoring. For the Business Management on the implications of Technical Debt and the value of Technical Debt reducing activities; for the Developers, on techniques to prevent Technical Debt.
  • Measure Technical Debt. Organizations that are serious about technical debt measure it, something that code/schema analysis tools help with, and more importantly keep an eye on the trends (which should be going down over time). You may choose to track code quality metrics, data quality metrics, usability metrics, time to address defects, time to add features, and many other things.
  • Regression test continuously. One of the easiest ways to find problems in your work is to have a comprehensive regression test suite that is run regularly. This test suite will help you detect when defects are injected into your code, enabling you to fix them, or back out the changes, right away.


Although we understand being in a Technical Debt is not ideal, sometimes is the only option to ensure quick results. In such cases make sure to keep track of the Technical Debt, and have proper plants to handle it. Otherwise sooner than later, the situation may become a nightmare that may affect the business success of the company.

Alejandro Alonso


  • 11 Strategies for Dealing With Technical Debt. Scott Ambler.
  • Using a "Technical Debt Register" in Scrum. Ian Mitchell.
  • How to Resolve Technical Debt: Pay-off and Prevention with Agility. Don Clos. 2018.
  • How to deal with Technical Debt in Scrum. Christiaan Verwijs.
  • Project Management and Technical Debt. Agile Alliance.
  • Technical debt. Wikipedia.
  • Introduction to the Technical Debt Concept.  Agile Alliance.
  • Technical Debt. Technopedia.
  • Technical Debt Explanation and Examples. Maximum Int.
  • Static Code Analysis. OWASP.
  • Code Coverage. Wikipedia.
  • Regresion Testing. Wikipedia.

Sunday, June 4, 2017

ICRA 2017 Singapore

ICRA, the IEEE International Conference on Robotics and Automation, is an annual academic conference covering advances in robotics. It is one of the premier conferences in its field. This year I was invited to attend to its 2017 edition in Singapore.
Francesco Ferro (Pal Robotics CEO)
and  Alejandro Alonso (IR CTO)

With a superb organization and a beautiful location, the event included conferences of leading researchers and companies from all around the world, as well as workshops and exhibitors area. This last was where I spent most of my time, as I love the direct interaction with the companies and research centres. Also, in this kind of academic events, compared to trade fairs, you usually have the chance to directly find very technical people, able to explain you in very deep all the ins and outs of their products. 

Really, the robotics community is not so big yet, so we know each other. Therefore I had the pleasure to meet some good friends from companies like Infinium Robotics, PAL Robotics and Fetch Robotics between others.

Infinium Robotics is the company in Singapore where I work as CTO. I already wrote about this great company in one of my previous posts: "Infinium Robotics. Flying Robots".

PAL Robotics is a company in Spain well known for having developed some of the best humanoid robots in the world. I have very good relationship with this companies team since more than ten years ago. Great people, well motivated, well managed, that has been able to look out of the box and enter with bravery in the world of the robotics warehouse solutions, with robots like Tiago (seen in the previous picture) or StockBot.

Junyang Woon (CEO IR), Melonee Wise (CEO Fetch)
and Alejandro Alonso (CTO IR/Hisparob VP)
Fetch Robotics is also one of the big players in the robotics solutions for warehousing industry, 

But I met many other very interesting people and had amazing chats with people from companies so key in this field as Amazon RoboticsDJI or Clearpath Robotics, At the end of this post there is a full list of exhibiting companies.

I saw very interesting technology, like the reabilitation exoeskeletons from Fourier Intelligence (Shanghai), the Spidar-G 6DOF Haptic interface from Tokio Institute of Technology, the Haptic systems of Force Dimension and Moog, the dextrous manipulators of Kinova, Kuka, ABB, ITRI, the modular robot components of Hebi Robotics, Keyi Technology, the ·D motion capture technologies of Phoenix Technologies and Optitrack, the educational solutions of Ubitech, GT Robot or Robotis and many, many others, most of them ROS enabled. 

As I usually try to do in these sort of events, I recorded a "home made" video of the exhibition area to give you all a slight idea on technologies shown there.

ICRA 2017 Exhibitors verview

And last but not least, I want to thank my friends from SIAA (Singapore International Automation Association) for their always kind friendship and support. They organized also the Singapore Pavilion in this event. 

Ms LIM Sue Yin, Civic Seh (both SIAA) and
 Alejandro Alonso (IR/Hisparob VP)

List of exhibitors:

Thursday, April 27, 2017

Unmanned Systems Asia 2017

A few days ago (April 2017) I visited Unmanned Systems Asia 2017, an event organized by Experia in the Changi Exhibition Centre of Singapore. This year the event was mainly focused on drones, although it was possible to see a few other non-flying unmanned systems.

I made a very "home made" non-professional video of the event, just to give you all a general idea on what some companies and institutions where exhibiting there.

If you could not see the video clic here:

Although I am sorry to say I found the event a bit limited on the number of exhibitors, I found some interesting players anyway:

EWATT Technology, a Chinesse company that produce fixed-wing and rotary-wing systems, showed their big drones, mainly for industrial and security purpose. The company employs more than 300 people, including more than 80 R&D and technical support engineers in Chinese HQ, and two R&D centers located in Italy. EWATT has filed over 500 patents related to UAV embedded technologies in China, with a large number already approved The company showed a coaxial octocopter (EWZ-S8), but is also working on a gas-powered variable-pitch quadcopter (EWZ-110) with an expected endurance of 2h and 20kg payload.

ST Engineering (Singapore Technologies Engineering Ltd), an integrated engineering group providing solutions and services in the aerospace, electronics, land systems and marine sectors, ranks among the largest companies listed on the Singapore Exchange, and is one of Asia’s largest defence and engineering groups. Between the companies that form such group are: ST Kinetics, ST Dynamics, ST Aerospace, ST Marine and ST Electronics. Therefore they showed solutions from the different companies of the group. ST Aerospace showed their U-Star X quatrotor, specially
designed for urban and open terrain applications. and U-Star Y coaxial hexacopter. ST Dynamics showed their Autonomous Multi-Robot Exploration of Unknown Environments solution, based on a set of four-wheeled robots (Husky A200 developed by the Canadian company Clearpath Robotics), The solution is able to create a collaborative 3D map in real time, using 3D laser scanners and GNSS systems among others. They expect to have the solution ready for first trials within one year.

Lockheed Martin is one of the largest companies in the aerospace, defense, security, and technologies industry. This company offers a set of unmanned systems for underwater, air and land. In this event they showed their Indago quadrotor unmanned aerial system and also presented their recently launched Hydra Fusion, a photogrammetry software able to produce 3D maps in real time using a standard laptop.

Elbit Systems is an Israel-based international defense electronics company with more than 12.000 employees, engaged in a wide range of programs throughout the world. The company, operates in the areas of aerospace, land and naval systems, command, control, communications, computers, intelligence surveillance and reconnaissance ("C4ISR"), unmanned aircraft systems ("UAS"), advanced electro-optics, electro-optic space systems, EW suites, signal intelligence ("SIGINT") systems, data links and communications systems and radios. They showed some small unmanned aerial systems, including their well known Da-Vinci multirotor.

Let's see if for next year we could get some other players I missed, like... yeah, I think I will keep those names for myself ;-)