Tag Archives: both

#428357 UV Disinfection robot

Tech-Link Healthcare Systems partners with Blue Ocean Robotics Introducing UV-Disinfection Robot
Singapore, 1 November 2016 – The rise of robots have steered Tech-Link Healthcare Systems, a design and integrator of healthcare automation systems to offer solutions beyond automated storage and material handling systems. With a vision of providing holistic solutions for healthcare organisations, Tech-Link extends its capabilities by offering UV disinfection robot solutions via a strategic partnership with Danish robotics company, Blue Ocean Robotics to battle against Hospital Acquired Infections (HAIs).Singapore’s labour intensive healthcare environment and the unknown impact of HAIs in the developed city-state had beckoned Tech-Link Healthcare Systems to offer solutions in the area of disinfection. We recognised the rise in demand for robots to collaborate with humans and have identified this need for customers. Introducing robotic technologies as part of our suite of solutions is the company’s mission to innovate the way healthcare organisations work and enhance their customers’ experience.Tech-Link’s partnership with Blue Ocean Robotics affirms both companies’ efforts in reaching out to new markets with technology and solutions to ease manpower crunch, deliver greater value and improve the quality of healthcare services. As an official sales partner, we bring together Blue Ocean Robotics’ expertise in automating disinfection procedures to promote safer, efficient and more productive work environment.
“Tech-Link looks forward to developing reliable healthcare solutions with hardware and latest technologies from Blue Ocean Robotics for our customers in Singapore and abroad.” said Director of Tech-Link Healthcare Systems, Tan Hock Seng. “Our similar beliefs in the Blue Ocean strategy synergise the collaboration to improve the quality of healthcare services through robotics.” he added.“We are very excited about our new sales partner Tech-Link Healthcare Systems, since it is of great importance for Blue Ocean Robotics to expand our sales of new technologies beyond Denmark’s borders. Blue Ocean Robotics focuses on creating new markets for robots. This includes both the development of new technologies and the creation of new markets for revolutionary robot solutions. We welcome Tech-Link Healthcare Systems with open arms and look forward to a fruitful collaboration in the years ahead.” said Claus Risager, Rune K. Larsen & John Erland Østergaard, Partners and Co-CEOs, Blue Ocean Robotics.
UV-Disinfection RobotThe UV-Disinfection Robot – also called UV-DR – is an autonomous disinfection robot for hospitals, production lines and pharmaceutical companies. The robot is used primarily in, but not limited to the cleaning cycle with the aim of reducing spread of HAIs, infectious diseases, viruses, bacteria and other types or harmful organic materials.UV-DR is a mobile robot that can drive autonomously while emitting concentrated UV-C light onto pre-defined infectious hotspots in patient rooms and other hospital environments, thus disinfecting and killing bacteria and virus on all exposed surfaces. An exposure time of ten minutes is estimated to kill up to 99% of bacteria such as Clostridium Difficile.

About Tech-Link Healthcare Systems Pte LtdTech-Link Healthcare Systems is a subsidiary of Tech-Link Storage Engineering established in Singapore since 2015. The company designs and provides innovative solutions for the healthcare sector, focusing on advanced and emerging solutions to support healthcare organisations in optimising available resources and services. Tech-Link Healthcare Systems design and implement automated material handling systems to enhance secured material transport and logistics storage management in hospitals and other healthcare facilities. As a complete solution provider, the company also provides consultancy in systems design to streamline and automate processes as well as integrated video solutions within healthcare facilities.About Tech-Link Storage Engineering Pte LtdTech-Link Storage Engineering is a group of companies established in Singapore with more than 25 years of principal activities in procurement, manufacturing and marketing of storage, distribution and materials handling products and systems. From its domain expertise in storage and racking systems, Tech-Link is also involved in R&D, system design, supply and implementation of logistics supply chain automation systems. The business expanded its global capabilities in the area of planning and consultancy to provide solutions for Built-to-Suit industrial developments and Healthcare logistics systems.
Tech-Link is an ISO 9001:2008 and OHSAS 18001:2007 certified company for Quality Management System and Occupational, Health and Safety System.Visit www.techlinkstorageengineering.comAbout Blue Ocean RoboticsBlue Ocean Robotics is an international company group with presence across the globe including America, Europe, Asia and Australia. The robotics company has its headquarter in the city of Odense (www.odenserobotics.dk) in Denmark. Blue Ocean Robotics applies robot technology to create solutions and innovation for end-users and new businesses in partnerships.Visit www.blue-ocean-robotics.com
Here is a video showing the robot in action:

The post UV Disinfection robot appeared first on Roboticmagazine. Continue reading

Posted in Human Robots | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment

#428040 Servosila Robotic Arms launched

Servosila, a robotics technology company, announced a launch of a new line of robotic arm manipulators specifically targeted at mobile robotics market.
“Servosila Robotic Arms are the first manipulators specifically designed for mobile robots,” – said the company’s spokesperson, – “it is very easy to retrofit any existing robotic chassis or a torso with a Servosila Robotic Arm”.

Servosila Robotic Arms are attachable payload modules for mobile service robots or other robotic platforms. Servosila Robotic Arms shall typically be mounted on a chassis or a torso of a mobile robot and be powered by an on-board power supply system of the host robotic platform.
The robotic arms can be used both outdoors and indoors. The arms are water-tight, dust-proof and function properly in the rain and in the snow. The arms are designed to withstand impacts, collisions with obstacles and, in general, the harsh treatment so common to mobile robotics applications.
The servo drives and external electrical connectors of the robotic arms are water-tight and dust-proof (IP68 rating). The entire arm can be occasionally submersed in water without any adverse effects on its performance. The robotic arms may be operated in cold or hot weather.
Mobile robots tend to bump into things and hit obstacles while on the move. The harsh nature of outdoor mobile robotics applications caused a profound effect on the design of Servosila Robotic Arms, especially on the internal structure of servo drives and their harmonic reduction gears.
There are no exposed cables on the outside of the robotic arms that could be torn off when a mobile robot moves through bushes or forests.
Numerous protection measures built into electronic servo controllers and mechanical parts of Servosila Robotic Arms ensure reliable operation on-board of outdoor mobile service robots.

Servosila Robotic Arms are lightweight by design. For a given lifting capability, Servosila Robotic Arms have a significantly lower weight than their industrial counterparts. The lower weight of a Servosila Robotic Arm enables a mobile robot equipped with the arm to operate longer on a single battery charge, keep its center of gravity lower for better balance, climb stairs easier or have a superior mobility.

When not in an active use, Servosila Robotic Arms can folded into a very compact form that doesn’t occupy much space on the top of a robotic chassis or on the side of a torso. This feature protects the robotic arm of a mobile robot in case of an unexpected collision with an obstacle or whenever a rough terrain is encountered by the mobile robotic platform. The compact folded form also comes handy during transportation.

By folding its robotic arm into the compact form, the robot frees up its working area for other payloads to operate in. This is useful in case the robot is equipped with additional payloads other than the robotic arm.
Photo Credits: Servosila Limited (Hong Kong)
The post Servosila Robotic Arms launched appeared first on Roboticmagazine. Continue reading

Posted in Human Robots | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment

#427791 Robot Operating System (ROS) continues ...

Today by far the most commonly used robotics software is ROS, which stands for Robot Operating System. This is an open source software, and the most number of developers and robotics users are involved with this program with an ever increasing rate. It contains set of libraries, algorithms, developer tools and drivers for developing robotics projects. The first release of ROS was in 2010, and as of end of 2016, ROS has reached its 10th official release, which is called “ROS Kinetic Kame”. There are translations to 11 languages other than English, which are: German, Spanish, French, Italian, Japanese, Turkish, Korean, Portuguese, Russian, Thai and Chinese. It currently has 2000+ software libraries, which keeps increasing every year.
Many robots use ROS now, including but not limited to hobby robots, drones, educational or advanced humanoid robots, domestic robots including cleaning robot vacuums, cooking robots or telepresence robots and more, robot arms, farming robots, industrial robots, even Robonaut of NASA in space or the four legged military robots in development. A list of robots which use ROS can be found here: http://wiki.ros.org/Robots.
We were checking the Alexa.Com ranking of ROS since few years, in order to track the increase in usage, and we believe it is time to share it now, as we have enough data. The numbers on the left are dates we looked and the numbers on the right indicate the ranking of Ros.Org website from top, among all websites in the world:
May 2011: 189,000 th in the world, from top, among all other websites
April 2012: 187,900 th
January 2014: 107,821
May 2014: 112,236
September 2014: 83,875 (7219 in Canada, the country where it is most accessed)
January 2015: 83,556 (4,258 in Canada)
February 2015 : 75,680 (33185 in USA)
April 2015: 59,200 (31,334 in USA)
August 2015: 65,754 (50,132 in USA)
September 2016: 30,201 (China 5073)
This chart shows the increasing rank of ros.org among other websites in the world, which is a good indicator of its growth. The numbers on the left represent the site’s ranking from the top, among all other sites in the world. Chart Copyright: Robokingdom LLC.

As can be seen here, in May 2011, when we first checked this ranking, ROS.org was at 189,000 th place in the world from the top among all other websites in terms of unique visitors that visit the site, and it almost continuously increased its ranking. As of September 2016, it is now the 30,201st most reached website in the world, with mostly being accessed in China (5073 from top in China). Let’s not forget that even if it’s position remained the same, let alone going up, it would still mean the traffic of the site was going up, as every year there are more websites in the world which means the same ranking means better place and more traffic. The ranking of 30,201 means ROS.org is a very high traffic website in the world right now, being accessed probably by at least hundreds of thousands of people every day, with no indication of slowing down its rise yet.
The most important result of all of this, is that the use of robots is increasing, both in terms of number and type (when you look at the type of robots that use ros, as it also increases in variety all the time).
From Alexa, we were also able to see, from publicly available information, that the percentage of reach among countries for ROS.org is as follows:
China 47.5%
USA 11.5%
Japan 8.7%
South Korea 3.5%
Germany 3.4%
This also shows us that in China, a lot of things are going on for robotics development right now, as it gets most of its traffic from there with 47.5%. USA then follows with 11.5% and Japan is third with 8.7%.
With ROS, any type of sensors can be controlled, including 1d/2d range sensors, 3d range finders and cameras, audio/speech recognition sensors, cameras, environmental sensors, force/torque/touch sensors, motion capture, pose estimation, power supply, RFID, and sensor interfaces.
In ros.org site, in addition to all packages, there are also extensive tutorials and a discussion board that one can ask questions and share knowledge.
ROS also has an industrial section, the version of software modified for industrial applications. It is called ROS industrial, and can be reached at: http://rosindustrial.org/. Although we see domestic robots with new abilities or advanced research projects that aim to develop capabilities of robotics every year, according to the results of a study that is shown on http://rosindustrial.org/the-challenge/ website, the abilities of industrial robots are not progressing and the abilities are restricted to welding, material handling, dispensing, coating (although we know that they do additional tasks such as packaging, inspection, labeling etc…). ROS Industrial aims to solve this challenge by providing a common skeleton to all developers, with its extensive and stronger software architecture, than other individual robotics programs.
The post Robot Operating System (ROS) continues its growth appeared first on Roboticmagazine. Continue reading

Posted in Human Robots | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment

#426831 Industrial robot runtime programming

Article provided by: www.robotct.ru
In this article, runtime programming is understood as the process of creating an executable program for a robot controller (hereinafter referred to as “robot”) on an external controller. In this case the robot performs the program iteratively, by sending the minimum executable command or batch of commands to it. In other words, in runtime programming, the executable program is sent to the robot in portions, thus the robot does not have, store, or know the entire executable program beforehand. Such an approach allows creating an abstract parameterized executable program, which is generated by the external device “on the fly”, i.e., during runtime.
Under the cut, there is the description and a real example of how runtime programming works.
Typically, a program for a robot is a sequence of positions of the robot manipulator. Each of these positions is characterized by the TCP (Tool Center Point) position, the point of the tip of the tool mounted on the manipulator (by default, TCP is in the center of robot’s flange, see the picture below, but its position may be adjusted, and it is often that TCP with the tip of the tool mounted on the manipulator of the robot). Therefore, when programming, TCP position in space is often specified, and the robot determines the positions of manipulator’s joints itself. Further in this article, we will use the term “TCP position”, or, in other words, the point that the robot shall arrive to.

The program for the robot may also contain control logic (branching, loops), simple mathematical operations, and commands for controlling peripheral devices – analog and digital inputs/outputs. In the proposed approach to runtime programming, a standard PC is used as an external controller, which can use powerful software that ensures the necessary level of abstraction (OOP and other paradigms), and tools that ensure speed and ease of developing complex logic (high-level programming languages). The robot itself has only to deal with the logic that is critical to response rate, for execution of which the reliability of an industrial controller is required, for example, prompt and adequate response to an emergency situation. The control of the peripherals connected to the robot is simply “proxied” by the robot on the PC, allowing the PC to activate or deactivate corresponding signals on the robot; it is something similar to controlling “legs” of Arduino.

As it has been noted earlier, runtime programming enables sending the program to the robot in portions. Usually, a set of states of output signals and several points, or even only a single point is sent. Thus, the trajectory of the TCP movement performed by the robot may be built dynamically, and some of its parts may belong both to different technological processes, and even to different robots (connected to the same external controller), where a group of robots works.
For example, the robot has moved to one of the working areas, performed the required operations, then – to the next one, then to yet another one, and then back to the first one, etc. In different working areas, the robot performs operations required for different technological processes, where programs are executed in parallel threads on the external controller, which allocates the robot to different processes that do not require constant presence of the robot. This mechanism is similar to the way an OS allocates processor time (execution resource) to various threads, and at the same time, different executors are not linked to threads throughout the whole period of program execution.
A little more theory, and we will proceed to practice.
Description of the existing methods of programming industrial robots.
Without regard to the approach of runtime programming introduced in this article, two ways of programming industrial robots are usually identified. Offline and online programming.
The process of online programming occurs with direct interaction of the programmer and the robot at the location of usage. Using a remote control, or by physical movement, the tool (TCP) mounted on the flange of the robot is moved to the desired point.
The advantage of this method of programming is the ease of approach to robot programming. One does not have to know anything about programming; it is enough to state the sequence of robot positions.
An important disadvantage of this approach is the significantly increased time consumption, when the program is increased at least to several dozen (not to mention thousands) points, or when it (the program) is subsequently modified. In addition, during such learning, the robot cannot be used for work.
The process of offline programming, as the name implies, occurs away from the robot and its controller. The executable program is developed in any programming environment on a PC, after which it is entirely loaded into the robot. However, programming tools for such development are not included into the basic delivery set of the robot, and are additional options to be purchased separately, and expensive on the whole.
The advantage of offline programming is that the robot may be used in production and may work, while the program is being developed. The robot is only needed to debug ready programs. There is no need to go to the automation object and program the robot in person.
A great disadvantage of the existing offline programming environments is their high cost. Besides, it is impossible to dynamically distribute the executable program to different robots.
As an example, let us consider creating a robot program in runtime mode, which enables the process of writing an ad with a marker.


ATTENTION! The video is not an advertisement, the vacancy is closed. The article was written after the video had become obsolete, to show the proposed approach to programming.

The written text:

To make the robot write this text, it was necessary to send over 1,700 points to the robot.
As an example, the spoiler contained a screenshot of the program drawing a square from the robot’s remote control. It only has 5 points (lines 4-8); each point is in fact a complete expression, and takes one line. The manipulator traverses each of the four points, and returns to the starting point upon completion.
The screenshot of the remote control with the executable program:

If the program is written this way, it would take at least 1,700 lines of code, a line per point. What if you have to change the text, or the height of the characters, or the distance between them? Edit all the 1,700 point lines? This contradicts the spirit of automation!
So, let’s proceed to the solution…
We have a FANUC LR Mate 200iD robot with an R-30i B series cabinet controller. The robot has a preconfigured TCP at the marker end, and the coordinate system of the desktop, so we can send the coordinates directly, without worrying about transforming the coordinates from the coordinate system of the table into the coordinate system of the robot.
To implement the program of sending the coordinates to the robot, which will calculate the absolute values of each point, we will use the RCML programming language that supports this robot and, which is important, which is free for anyone to use.
Let’s describe each letter with dots, but in the relative coordinates inside the frame, in which the letter will be inscribed, rather than in the real space coordinates. Each letter will be drawn by a separate function receiving the sequence number of the character in the line, line number and the size of the letter as input parameters, and sending a set of points to the robot with calculated absolute coordinates for each point.
To write a text, we will have to call a series of functions that would draw the letters in the sequence in which they (letters) are present in the text. RCML has a meager set of tools for working with strings, so we will write an external Python script which will generate a program in RCML – essentially, generate only the sequence of function calls that corresponds to the sequence of letters.
The whole code is available in repository: rct_paint_words
Let us consider the output file in more detail, execution starts from function main():

Spoiler: “Let us consider the code for drawing a letter, for example, letter A:”
function robot_fanuc::draw_A(x_cell,y_cell){
// Setting the marker to the point, the coordinates of the point are 5% along X and 95% along Y within the letter frame
robot->setPoint(x_cell, y_cell, 5, 95);
// Drawing a line
robot->movePoint(x_cell, y_cell, 50, 5);
// Drawing the second line
robot->movePoint(x_cell, y_cell, 95, 95);
// We get the “roof” /

// Moving the marker lifted from the table to draw the cross line
robot->setPoint(x_cell, y_cell, 35, 50);
// Drawing the cross-line
robot->movePoint(x_cell, y_cell, 65, 50);
// Lifting the marker from the table to move to the next letter
End of spoiler

Spoiler: “The functions of moving the marker to the point, with or without lifting, are also very simple:”
// Moving the lifted marker to the point, or setting the point to start drawing
function robot_fanuc::setPoint(x_cell, y_cell, x_percent, y_precent){
// Calculating the absolute coordinates
x = calculate_absolute_coords_x(x_cell, x_percent); y = calculate_absolute_coords_y(y_cell, y_precent);

robot->marker_up(); // Lifting the marker from the table
robot->marker_move(x,y); // Moving
robot->marker_down(); // Lowering the marker to the table

// Moving the marker to the point without lifting, or actually drawing
function robot_fanuc::movePoint(x_cell, y_cell, x_percent, y_precent){ x = calculate_absolute_coords_x(x_cell, x_percent); y = calculate_absolute_coords_y(y_cell, y_precent);
// Here everything is clear robot->marker_move(x,y);
End of spoiler

Spoiler: Functions marker_up, marker_down, marker_move contain only the code of sending the changed part of the TCP point coordinates (Z or XY) to the robot.
function robot_fanuc::marker_up(){
robot->set_real_di(“z”, SAFE_Z);
er = robot->sendMoveSignal();
if (er != 0){
system.echo(“error marker upn”);
throw er;

function robot_fanuc::marker_down(){
robot->set_real_di(“z”, START_Z);
er = robot->sendMoveSignal();
if (er != 0){
system.echo(“error marker downn”);
throw er;

function robot_fanuc::marker_move(x,y){
robot->set_real_di(“x”, x);
robot->set_real_di(“y”, y);
er = robot->sendMoveSignal();
if (er != 0){
system.echo(“error marker moven”);
throw er;
End of spoiler

All configuration constants, including size of letters, their number in the line, etc., were put to a separate file.
Spoiler: “Configuration file”
define CHAR_HEIGHT_MM 50 // Character height in mm
define CHAR_WIDTH_PERCENT 60 // Character width in percentage of height

define SAFE_Z -20 // Safe position of the tip of the marker along the z-axis
define START_Z 0 // Working position of the tip of the marker along the z-axis

// Working area border
define BORDER_Y 120
define BORDER_X 75

// ON/OFF signals
define ON 1
define OFF 0

// Pauses between sending certain signals, milliseconds

// Euler angles of the initial marker position
define START_W -179.707 // Roll
define START_P -2.500 // Pitch
define START_R 103.269 // Yaw

// Euler angles of marker turn
define SECOND_W -179.704
define SECOND_P -2.514
define SECOND_R -14.699

define CHAR_OFFSET_MM 4 // Spacing between letters

define UFRAME 4 // Table number
define UTOOL 2 // Tool number
define PAYLOAD 4 // Load number
define SPEED 100 // Speed
define CNT 0 // Movement smoothness parameter
define ROTATE_SPEED // Speed in turn

define HOME_PNS 4 // The number of the PNS program for home position return
End of spoiler

In total, we’ve got about 300 lines of high level code that took not more than 1 hour to develop and write.
If the problem had been solved in the “straightforward” manner by online programming with the use of points, it would have taken more than 9 hours (approximately 20-25 seconds per point, given the fact that there are over 1,700 points). In this case, the developer’s sufferings are unimaginable :), especially when he would have found out that he had forgotten about the indents between the frames that the letters were inscribed in, or the height of the letters was wrong, and the text did not fit in.
The use of runtime programming is one of the ways to create executable software. The advantages of this approach include the following:
The possibility of writing and debugging programs without the need to stop the robot, thus minimizing the downtime for changeover.
A parameterized executable program that’s easy to edit.
Dynamic activation and deactivation robots in the active technological task, and cooperation of robots from various manufacturers.
Thus, with the use of runtime programming, an executable command may be described in a way to make its execution available for any robot within the working group, or may be written for a particular robot, that will be the only one to execute it.
However, this approach has one significant limitation – incorrect understanding of the displacement smoothing instruction (CNT) by the robot, or ignoring it, since when only the current point is sent, the robot knows nothing about the next one, and cannot calculate the smoothed trajectory for bypassing the current point with smoothing.
Spoiler: “What is trajectory smoothing?”
When moving the robot’s tool, two parameters may be adjusted:
Travel speed
Level of smoothing
Travel speed sets the speed of the tool travel in mm/sec.
Level of smoothing (CNT) allows passing a group of points along the trajectory with the least distance between the extreme points of the group.

End of spoiler

The danger of using this instruction in the runtime mode is that the robot reports its arrival to the smoothed target point, although in reality the robot is still moving towards it. The robot does it to request the next point, and to calculate smoothing. Evidently, it is impossible to know exactly in what position the robot is when passing such a point, besides, tool activation at the manipulator may be required at a certain point. The robot will send a signal about reaching the point, but it is not actually so. In this case, the tool will be enabled before it is needed. At the best case, the robot will simply ignore the CNT instruction (depending on the model).
This may be fixed by sending 2 or more points at a time, where the CNT point is not the last one; however, this increases program complexity and the burden on the programmer.
Article provided by: robotct.ru
Photo Credits: Robotct.ru

The post Industrial robot runtime programming appeared first on Roboticmagazine. Continue reading

Posted in Human Robots | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment