Skip to content
Snippets Groups Projects
Commit 72cdd85b authored by Nikhil Ambardar's avatar Nikhil Ambardar
Browse files

source file

parent 8cdeafab
No related branches found
No related tags found
No related merge requests found
@Book{1, @Book{1,
title={Robotics Modelling,Planning and Control Advanced Textbooks in Control And Signal Processing Book}, title={Robotics Modelling,Planning and Control Advanced Textbooks in Control And Signal Processing Book},
author={Bruno Siciliano Lorenyo Sciavicco Luigi Villani Giuseppe Oriolo}, author={Bruno Siciliano Lorenyo Sciavicco Luigi Villani Giuseppe Oriolo},
...@@ -7,8 +6,6 @@ ...@@ -7,8 +6,6 @@
year={2009}, year={2009},
publisher={Springer} publisher={Springer}
} }
@Article{2, @Article{2,
author = {Oxford English Dictionary}, author = {Oxford English Dictionary},
title = {Definition Of Robots}, title = {Definition Of Robots},
...@@ -28,7 +25,7 @@ ...@@ -28,7 +25,7 @@
language = {english}, language = {english},
} }
@Article{4, @Article{4,
title={Contact Systems Pick and Place Robots https://web.archive.org/web/20080914050602/http://www.contactsystems.com/c5_series.html}, title={Contact Systems Pick and Place Robots },
author={Bruno Siciliano Lorenyo Sciavicco Luigi Villani Giuseppe Oriolo}, author={Bruno Siciliano Lorenyo Sciavicco Luigi Villani Giuseppe Oriolo},
volume={1}, volume={1},
year={2008}, year={2008},
...@@ -47,7 +44,7 @@ ...@@ -47,7 +44,7 @@
publisher={AGV Systems} publisher={AGV Systems}
} }
@Article{6, @Article{6,
title={The Utilization Of Robotic Space Probes in Deep Space Missions:Case Study of AI Protocols and Nuclear Power Requirements}, title={"The Utilization Of Robotic Space Probes in Deep Space Missions:Case Study of AI Protocols and Nuclear Power Requirements"},
author={Proceedings of 2011 International Conference on Mechanical Engineering, Robotics and Aerospace}, author={Proceedings of 2011 International Conference on Mechanical Engineering, Robotics and Aerospace},
volume={1}, volume={1},
year={2011}, year={2011},
...@@ -58,59 +55,56 @@ ...@@ -58,59 +55,56 @@
year={2012}, year={2012},
publisher={Wayback Machines} publisher={Wayback Machines}
} }
@Article{7, @Article{7,
title={In the Lab:Robots That Slink and Squirm}, title={"In the Lab:Robots That Slink and Squirm"},
author={John Schwartz}, author={John Schwartz},
volume={1}, volume={1},
year={2015}, year={2015},
publisher={The New York Times}, publisher={The New York Times},
title={"Squishy Robots Now Have Squishy Computers To Control Them"},
author={Kat Eschner},
volume={1},
year={2019},
publisher={Popular Science},
title={"The Softer Side Of Robotics"}, title={"The Softer Side Of Robotics"},
author={hp}, author={hp},
volume={1}, volume={1},
year={2019}, year={2019},
publisher={Hewlett Packard} publisher={Hewlett Packard}
} }
@Article{8,
title={An Overview Of Handy 1.A Rehabilitaton Robot For The Severely Disabled}, @Article{8,title={"Squishy Robots Now Have Squishy Computers To Control Them"},
author={Kat Eschner},
volume={1},
year={2019},
publisher={Popular Science}
}
@Article{9,title={"Construction Robotics Industry Set To Double by 2023"},
author={Pollock,Emily},
volume={1},
year={2018},
publisher={engineering.com}
}
@Article{10,
title={"An Overview Of Handy Rehabilitaton Robot For The Severely Disabled"},
author={Topping ,Mike;Smith,Jane}, author={Topping ,Mike;Smith,Jane},
volume={1}, volume={1},
year={1999}, year={1999},
publisher={Center on Disabilities Conference Proceedings}, publisher={Center on Disabilities Conference Proceedings},
title={"Welcome To The Ageing Future"}, title={"Welcome To The Ageing Future"},
author={Jeavans,Christine}, author={Jeavans,Christine},
volume={1}, volume={1},
year={2016}, year={2016},
publisher={BBC News}, publisher={BBC News},
title={Statistical Handbook Of Japan:Chapter 2 Population},
title={"Statistical Handbook Of Japan:Chapter 2 Population"},
author={Wayback Machines}, author={Wayback Machines},
volume={1}, volume={1},
year={2013}, year={2013},
publisher={Statistics Bureau & Statistical Research and Training Institute}, publisher={Statistics Bureau & Statistical Research and Training Institute},
title={"Robotic future of patient care"}, title={"Robotic future of patient care"},
author={E-Health Insider}, author={E-Health Insider},
volume={1}, volume={1},
year={2007}, year={2007}
publisher={Wayback Machine}
}
@Article{9,
title={Squishy Robots Now Have Squishy Computers To Control Them},
author={Kat Eschner},
volume={1},
year={2019},
publisher={Popular Science}
}
@Article{10,
title={Construction Robotics Industry Set To Double by 2023},
author={Pollock,Emily},
volume={1},
year={2018},
publisher={engineering.com}
} }
@Book{11, @Book{11,
title={Elements Of Robotics}, title={Elements Of Robotics},
...@@ -134,7 +128,7 @@ ...@@ -134,7 +128,7 @@
publisher={Franka Emika GmbH} publisher={Franka Emika GmbH}
} }
@Article{14, @Article{14,
title={I,Cobot:Future collabration of man and machine}, title={"I,Cobot:Future collabration of man and machine"},
author={Thilo Stieber}, author={Thilo Stieber},
volume={1}, volume={1},
year={2015}, year={2015},
...@@ -147,8 +141,6 @@ ...@@ -147,8 +141,6 @@
year={2015}, year={2015},
publisher={Springer} publisher={Springer}
} }
@Article{16, @Article{16,
title={Safety Issues in Human-Robot Interactions}, title={Safety Issues in Human-Robot Interactions},
author={Milos Vasic1, Aude Billard}, author={Milos Vasic1, Aude Billard},
...@@ -163,11 +155,24 @@ ...@@ -163,11 +155,24 @@
} }
@Article{17, @Article{17,
title={On Making Robots Understand Safety:Embedding Injury Knowledge Into Control}, title={Formalizing Class Diagram In UML},
author={Sami Haddadin, Simon Haddadin,Augusto Khoury,Tim Khoury,Sven Parusel}, author={Alireza Souri,Mohammad ali Sharifloo,Monire Norouzi},
volume={1}, volume={1},
year={2007}, year={2007},
publisher={IEEE,ICRA}, publisher={University College Of Nabi Akram ,Tabriz Iran}
} }
@Article{18,title={Introduction To BPMN},
author={Stephen A. White},
volume={1},
year={2007},
publisher={IBM Corporation}
}
@Article{19,
title={On Making Robots Understand Safety:Embedding Injury Knowledge Into Control},
author={Sami Haddadin, Simon Haddadin,Augusto Khoury,Tim Khoury,Sven Parusel},
volume={1},
year={2007},
publisher={IEEE,ICRA}
}
This diff is collapsed.
\chapter{CONCEPT}\label{ch:conclusion} \chapter{CONCEPT}\label{ch:conclusion}
\section{The Models} \section{The Models}
Tasks in thesis work were to design three models namely World Model, Application Model and Safety Model and implement them in a C++ program.The world model describes the world of Robot Panda in general i.e. about what is inside the surroundings of the robot apart from the Robot itself and then features and attributes of all components in World Model.In technical terms this is the world of the robot that exists in real world and components in this world are the Robot FPE itself with its arm, the object like cube or ball which can act as obstacle or an object that can be picked up by the robot arm and a human or human arm as is shown in figure below Fig 5.1 and 5.2.\\
Tasks in thesis work were to design three models namely world model, application model and safety model and implement them in a C++ program.The world model describes the world of Robot Panda in general i.e. about what is inside the surroundings of the robot apart from the Robot itself and then features and attributes of all components in world model. In technical terms this is the world of the robot that exists in real world and components in this world are the Robot FPE itself with its arm, the object like cube or ball which can act as obstacle or an object that can be picked up by the robot arm and a human or human arm as is shown in figure below Fig 5.1 and 5.2.\\
This is a model where human / object - robot interaction operation is depicted as a layman showing the following diagram. Technically UML Class Diagrams were used to demonstrate the World Model. Each component was used to describe it as a class showing attributes which is then also used to derive an object diagram which shows the instance of the Class Diagram. This is a model where human / object - robot interaction operation is depicted as a layman showing the following diagram. Technically UML Class Diagrams were used to demonstrate the World Model. Each component was used to describe it as a class showing attributes which is then also used to derive an object diagram which shows the instance of the Class Diagram.
...@@ -14,9 +15,9 @@ ...@@ -14,9 +15,9 @@
\newpage \newpage
Next an Application Model was designed and for this Business Process Modelling Notation as a tool was used to demonstrate the diagram . Each component in the World model was used to show itself as a frame in this Application diagram and then the components shown inside as connected together giving a logical flow.The main frame of Robot in BPMN is used to show the flow of task in application diagram from it to other frames using the components of BPMN like "if" condition and process events in addition to start and stop events symbols etc, which then culminate to an end event in the main robot frame once again. These flows show the logical flow of process in this Diagram for which the tool Modelio \footnote{https://www.modelio.org/} was used.\\ Next an application model was designed and for this Business Process Modelling Notation as a tool was used to demonstrate the diagram. Each component in the World model was used to show itself as a frame in this Application diagram and then the components shown inside as connected together giving a logical flow. The main frame of Robot in BPMN is used to show the flow of task in application diagram from it to other frames using the components of BPMN like "if" condition and process events in addition to start and stop events symbols etc, which then culminate to an end event in the main robot frame once again. These flows show the logical flow of process in this diagram for which the tool Modelio \footnote{https://www.modelio.org/} was used.\\
A Safety Model diagram using Modelio was made showing use case about how robot reacts when detecting obstacles and adds safety in the cell.This was also designed in Modelio tool and uses small components from BPMN. This can also be related with Haddadin Safety Model which is later described and talked about how it can be extended. \\ A safety model diagram using UML state chart was made showing use case about how robot reacts when detecting obstacles and adds safety in the cell.This was also designed in Modelio tool and uses small components from BPMN. This can also be related with Haddadin Safety Model which is later described and talked about how it can be extended. \\
This three models are described in detail in the previous chapter. This three models are described in detail in the previous chapter.
...@@ -24,7 +25,7 @@ ...@@ -24,7 +25,7 @@
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=1.0\linewidth]{../MzIxNDU3NA} \includegraphics[width=1.0\linewidth]{../MzIxNDU3NA}
\caption{Image Source : https://blog.generationrobots.com/en/list-of-criteria-to-look-at-before-buying-a-robot-arm/panda-franka-emika-care-robot-arm-2/} \caption{Robot Panda Picking Up Object Image Source : https://blog.generationrobots.com/en/list-of-criteria-to-look-at-before-buying-a-robot-arm/panda-franka-emika-care-robot-arm-2/}
\label{fig:mzixndu3na} \label{fig:mzixndu3na}
\end{figure} \end{figure}
...@@ -32,24 +33,25 @@ ...@@ -32,24 +33,25 @@
\section{Programming Of Hardware And Software Components - Purpose And Concepts} \section{Programming Of Hardware And Software Components - Purpose And Concepts}
In Hardware point we have the Franka Robot which has a arm and the arm has joints described by J1...n . We also then have other objects in the world namely obstacles which can be one or more human and then non living ones like a cube ,box or ball. Then we have grasp objects which can be a cube or an item to pick.\\ In hardware point we have the Franka robot which has a arm and the arm has joints described by J1...n . We also then have other objects in the world namely obstacles which can be one or more human and then non living ones like a cube ,box or ball. Then we have grasp objects which can be a cube or an item to pick.\\
The Robot Panda has Motion Planning attributes which can be altered. Most of them are in MoveIT Rviz which is the GUI described in detail in the following chapter. The state of robot arm is described by the coordinate position of joints of the arm. We can as well alter the many other parameters like torque on the arm in simulations.The Figure 5.3 shows the robot panda with joints .\\ The robot Panda has Motion Planning attributes which can be altered. Most of them are in MoveIT Rviz which is the GUI described in detail in the following chapter. The state of robot arm is described by the coordinate position of joints of the arm. We can as well alter the many other parameters like torque on the arm in simulations.The Figure 5.3 shows the robot panda with joints .\\
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.8\linewidth]{../../media_166_16680da7-1c13-47f9-83f0-e777befaf95d_phpjVXSN3} \includegraphics[width=0.8\linewidth]{../../media_166_16680da7-1c13-47f9-83f0-e777befaf95d_phpjVXSN3}
\caption{Image Source : https://www.chegg.com/homework-help/questions-and-answers/panda-franka-emika-shown-belowis-innovative-lightweight-robot-intended-friendly-andsafe-hu-q35002486} \caption{Robot Panda Joints Image Source : https://www.chegg.com/homework-help/questions-and-answers/panda-franka-emika-shown-belowis-innovative-lightweight-robot-intended-friendly-andsafe-hu-q35002486}
\label{fig:media16616680da7-1c13-47f9-83f0-e777befaf95dphpjvxsn3} \label{fig:media16616680da7-1c13-47f9-83f0-e777befaf95dphpjvxsn3}
\end{figure} \end{figure}
In the Software section ROS \footnote{https://www.ros.org/} is used which is the Robot Operating System and Catkin which builds the workspace.ROS is started using "roscore" command in terminal to start the ROS. MoveIT is then used to do motion planning for the robot and planning motion around the obstacles . All the plans are then run in real life simulator for which Gazebo Simulation was used, which is used to replicate real life conditions and run robot inside it .This gives an idea if the robot can perform as planned and expected in real life with torque on joints.To use MoveIT ,workspace is built using catkin. Erdal´s repos are used and essential in the workspace which are frankaros , pandamoveITconfig and pandasimulation and they are imperative to build the workspace. In the Software section ROS \footnote{https://www.ros.org/} is used which is the Robot Operating System and catkin which builds the workspace. ROS is started using "roscore" command in terminal to start the ROS. MoveIT is then used to do motion planning for the robot and planning motion around the obstacles. All the plans are then run in real life simulator for which Gazebo Simulation was used, which is used to replicate real life conditions and run robot inside it. This gives an idea if the robot can perform as planned and expected in real life with torque on joints.To use MoveIT, workspace is built using catkin. Erdal´s repos are used and essential in the workspace which are frankaros , pandamoveITconfig and pandasimulation and they are imperative to build the workspace.
\section{Connecting Everything - Real Simulations\\} \section{Connecting Everything - Simulations\\}
Gazebo Simulator is run alongside MoveIT motion planner which help replicate the MoveIT motion plan in Gazebo simulator and thus let us manipulate the robot using motion plan in Rviz . Gazebo Simulator is run alongside MoveIT motion planner which help replicate the MoveIT motion plan in Gazebo simulator and thus let us manipulate the robot using motion plan in Rviz .
...@@ -8,10 +8,9 @@ The implementation section gives out results for the Position and Orientation of ...@@ -8,10 +8,9 @@ The implementation section gives out results for the Position and Orientation of
They are 7 in number but only about 3 are shown here as a sample.Here are the results . They are 7 in number but only about 3 are shown here as a sample.Here are the results .
\lstset {language=C++} \lstset {language=C++}
\lstset{ \lstset{
basicstyle=\fontsize{11}{11}\selectfont\ttfamily basicstyle=\fontsize{10}{11}\selectfont\ttfamily
} }
\begin{lstlisting} \begin{lstlisting}
pandalink1 Position is x=0,y=0,z=0.333 pandalink1 Position is x=0,y=0,z=0.333
...@@ -24,13 +23,10 @@ pandalink3 Orientation is w=0.980906,x=1.16121e05,y=-0.194483,z=8.93912e05 ...@@ -24,13 +23,10 @@ pandalink3 Orientation is w=0.980906,x=1.16121e05,y=-0.194483,z=8.93912e05
.... ....
\end{lstlisting} \end{lstlisting}
The robot was moved in Gazebo Simulator after a motion planning trajectory execution in Rviz motion planner.\\ The robot was moved in Gazebo Simulator after a motion planning trajectory execution in Rviz motion planner.\\
The node was again built and run giving new values for position and orientation of joints. The node was again built and run giving new values for position and orientation of joints.
\lstset {language=C++} \lstset {language=C++}
\lstset{ \lstset{
basicstyle=\fontsize{11}{11}\selectfont\ttfamily basicstyle=\fontsize{11}{11}\selectfont\ttfamily
......
\chapter{IMPLEMENTATION}\label{ch:conclusion} \chapter{IMPLEMENTATION}\label{ch:conclusion}
\section{About The Task} \section{Going To Details}
\subsection{WORLD MODEL IMPLEMENTATION} \subsection{WORLD MODEL IMPLEMENTATION}
The task is about implementation of the designed World Model using C++ code. The program written ,described as a node is used to display the values of position and orientation of robot joints in addition to World Model program implementation which include other classes and objects. The program is connected with Rviz motion planner and to Gazebo simulator by launching a launch file which launches the Rviz \footnote{http://wiki.ros.org/rviz/UserGuide} and Gazebo \footnote{http://gazebosim.org/} and the node file \footnote{https://git-st.inf.tu-dresden.de/nikaviator/zero/-/blob/master/src/\lstinline|robot_models_node.cpp|}. The Robot can be manipulated using a motion plan in Rviz and then plan can be used to run the simulation in Gazebo Simulator.\\ The task is about implementation of the designed World Model using C++ code. The program written ,described as a node is used to display the values of position and orientation of robot joints in addition to World Model program implementation which include other classes and objects. The program is connected with Rviz motion planner and to Gazebo simulator by launching a launch file which launches the Rviz \footnote{http://wiki.ros.org/rviz/UserGuide} and Gazebo \footnote{http://gazebosim.org/} and the node file \footnote{https://git-st.inf.tu-dresden.de/nikaviator/zero/-/blob/master/src/\lstinline|robot_models_node.cpp|}. The Robot can be manipulated using a motion plan in Rviz and then plan can be used to run the simulation in Gazebo Simulator.\\
The program code is designed to take values from the robot in Gazebo Simulator and display them in output.The program also builds the object structure by initializing values and assigning them values.Every class designed is connected to the node program using the header files and contain variables that are used to build object structure in the main node program.So after launching the Rviz and Gazebo using launch file ,the program is built and run and thus displays the position and orientation values of robot joints.\\ The program code is designed to take values from the robot in Gazebo Simulator and display them in output.The program also builds the object structure by initializing values and assigning them values.Every class designed is connected to the node program using the header files and contain variables that are used to build object structure in the main node program.So after launching the Rviz and Gazebo using launch file ,the program is built and run and thus displays the position and orientation values of robot joints.\\
...@@ -75,8 +76,7 @@ It shows the projects available under the namespace . They can be clicked to vie ...@@ -75,8 +76,7 @@ It shows the projects available under the namespace . They can be clicked to vie
\section{Programming The Implementation Of World Model} \section{Programming The Implementation Of World Model}
WORLD MODEL - WORLD MODEL - To implement the World Model , ten files were created each for one of the classes. They were created as files to be included as header files(.h) in the main node program called in this case \lstinline{robot_models_node.cpp}.Each header file describe the implementation of one class and its functionalities by using variables which are then objectified in the main node program.\\
To implement the World Model , ten files were created each for one of the classes. They were created as files to be included as header files(.h) in the main node program called in this case \lstinline{robot_models_node.cpp}.Each header file describe the implementation of one class and its functionalities by using variables which are then objectified in the main node program.\\
The main program is used to add objects to the classes and used to input the values into variables using those objects and then run the implementation to display output.\\ The main program is used to add objects to the classes and used to input the values into variables using those objects and then run the implementation to display output.\\
...@@ -203,3 +203,4 @@ Here in these steps the object variables take input the objects values from list ...@@ -203,3 +203,4 @@ Here in these steps the object variables take input the objects values from list
This program thus listens to values from simulation and displays using appropriate output statements. The robot in Gazebo is thus connected to Rviz motion planner using ROS which enables the node program \lstinline|robot_models_node.cpp|, to listen to desired values in this case position and orientation of joints . This program thus listens to values from simulation and displays using appropriate output statements. The robot in Gazebo is thus connected to Rviz motion planner using ROS which enables the node program \lstinline|robot_models_node.cpp|, to listen to desired values in this case position and orientation of joints .
\chapter{INTRODUCTION}\label{ch:introduction} \chapter{INTRODUCTION}\label{ch:introduction}
\paragraph{Objective Of Thesis:} Design and Implementation of a Model-based Architecture for Cobotic Cells.\\ \paragraph{Objective Of Thesis:} Design and Implementation of a Model-Based Architecture for Cobotic Cells.\\
\section {Robots and Robotics}
A robot is a machine developed by humans to do work for them and to make their lives easy. Humans had to keep doing repetitive tasks throughout history which were essential things to do and there have been times when enough manpower was absent or unavailable to do the required work. This led to humans to think about designing a machine which can obey their commands to accomplish a series of steps to do a job. They then described these machines as a robot.\\
In fact, any machine designed for any specific task and purpose can be termed as a robot. But the term "robot" is generally known as a machine that is versatile and can accomplish a range of tasks .Its core is defined by a set of common characteristics which all robots have in common and then some that are variable and those can be added / removed to suit a specific type of job or size and area of the field of that work profile.\\
In early times of human history, humans designed tools for agriculture as they were a natural necessity that was deemed to make everyday work easier for people and thus increase efficiency and overall productivity of farming. And as is said "Necessity is the mother of invention" there was a greater need felt to make life more easier for farmers compared to the elementary tools those were designed earlier, they then made wheel and then a cart on top of the wheels were installed and thus made a wagon to carry produce from fields. This was advent of machines in the history of mankind and set tone for evolution of machines as per specific needs.\\
As the decades and centuries of time passed by, human thinking evolved and refined, their outlook towards machines improved and so did their skills with machines to make them more self contained and all this was done to reduce human intervention for decision making. Then humans tried to build artificial intelligence into their machines and called them robots, but they were elementary and theoretical form of machines which can be principally described as robots.\\
Artificial intelligence was built into machines using physical mechanisms in early days like using valves for changing and redirecting water supply in pipes and tracks change railroad paths using levers. But as times changed and many levels of developments happened for physical machines using some form of intelligence then came the era of information technology and development of software systems and programming which was used to control hardware until the last level of action. This was done using a host of components added to hardware which linked it to software systems and they were first circuits which then turned to micro-controllers, and then to electronic components that could be programmed and integrated with physical systems which were then used to manipulate control surfaces thus forming high level of evolution in robotics.\\
This has nowadays led to creation of an ecosystem of machines which are versatile and followed hook and template structure to do many tasks using same kind of technology i.e. technology was used for multiple purposes adding to versatility. And the end product can be simply and best described as a robot that can look like a human being and is soft to touch, feels like a human being, can listen and move and not just see but identify things all built in, using programming the components and they all working together to give seamless and intended results. Robots are today meant to do easiest of tasks like moving objects around and giving company to elderly, to complex tasks like critical surgical operations on humans in medicine and working on automobile manufacturing and assembly line.\cite{1}.\\
Robotics is the field related to study of Robots. It includes all aspects of robotics starting from elementary components of a robot, programming the robot to all electrical aspects of the machine and the study of them working together.\\
\begin{figure}
\centering
\includegraphics[width=0.7\linewidth]{../Robots-Square-300x300}
\caption{ Image Source https://blogs.3ds.com/northamerica/future-robots-and-ensuring-human-safety/}
\label{fig:robots-square-300x300}
\end{figure}
\section {Components Of a Typical Robot}
Any robot is a machine that is made up of mainly steel, plastic and more complex materials put together and typically needs electric power to run and perform some work. Robots are programmed using computer software in today's times. Software dictate the robotic parameters and manipulate control surfaces by reading sensor values to enable decision making as per the situation detected and decisive action pre-programmed for it. This can be used to fine tune its actions to perform most complex of tasks independently\cite{2}. Robots in today's times have embedded control built in, which guide the robot to do a job safely in real world environment setting.\\
Robots range from auto/semi-automatic functional form to resembling human form type called cobots to industrial grade and medically utilized robots\cite{3}. Robots have been made to look and behave exactly like humans in present time and this is achieved by using soft silicone materials which makes them look sophisticated and intelligent in a home setting. But they are not always designed for good looks and in industry setting they are bare bone machines most time lacking even correct covering and this is to aid in maintenance and improve operational functionality. Today robotics is working with cutting edge research enabling it to function up to the level of developing safe auto driving cars.\\
So it can be concluded that robotic components are body/frame, control system, control surfaces, and drive train.\\
\section {What is Robotics?}
Robotics is about and deals with study of all the machines that can replace human beings in execution of a task, both w.r.t. physical activity and decision-making .Throughout history human beings have constantly attempted to seek substitutes that can mimic their behavior when interacting with surrounding environment \cite{1}.
\section {About Robots}
A robot is a machine programmable by a computer,made to carry out a complex series of actions automatically \cite{2}. Robots can be guided by an external control device or the control may be embedded within. Robots may be constructed resembling human form, but most robots are machines designed to perform a task with no regard to their aesthetics.
Robots range from autonomous or semi-autonomous ranging from humanoids to industrial robots and medically used and operating machines to patient assisting robots \cite{3}. By mimicking a lifelike appearance or automating movements, it conveys a sense of intelligence . Artificial Intelligence is expected to proliferate in the coming decade, with home robotics and the autonomous car as some main drivers.
\section {Uses And Applied Fields} \section {Uses And Applied Fields}
Robots have a wide range of uses and applied fields. Some uses range from helping fight forest fires to Working alongside humans in manufacturing plants (known as co-bots),Robots that offer companionship to elderly individuals,Surgical assistants,autonomous household robots that carry out tasks like vacuuming and mowing the grass.Some of applied fields are -\\
\subsection{Electrical Components Manufacturing} Robots have been developed to suit and work in various fields in today's time. In-fact there are appropriate type of robot for almost any work today. They range from most easy work to most complex of tasks. In this section more light on this area is thrown by describing some use cases in following sections.\\
Mass-produced Printed Circuit Boards (PCBs) are almost exclusively manufactured by pick-and-place robots, typically with SCARA manipulators, which remove tiny electronic components from strips or trays, and place them on to PCBs with great accuracy.Such robots can place hundreds of thousands of components per hour, far out-performing a human in speed, accuracy, and reliability \cite{4}.
\subsection{Elderly Care}
Robots are used in home setting to provide company to lonely elderly and give care to them. There are soft bodied robots made up of silicone used in Japan, and this is a place with sparse population and few people to care for elderly. These machines there help the seniors from keeping track of their medicines to playing music to them as well as talking to them. They move objects for them, monitor their health and even help in distress by calling help for lonely seniors\cite{10}.\\
\subsection{Medical Uses}
Robots are used in regular and critical surgeries performed on humans in today's time. The performance of robots as compared to humans is very high in critical human diagnostic operations like C-section surgeries and much more complex ones like angioplasty.\\
The can perform medical procedures very fast and with clean cuts and stitches that a human hand is not capable of performing. They can as well perform knee replacement surgeries and many more like making incision to flush kidney stones with amazing accuracy. Many robots also let the surgeon doctor to take control of control surfaces and this aids in minimizing errors caused by a shaking hand a human doctor may have.\\
\subsection{Automatic Pre-programmed Vehicles (APVs)} \subsection{From Ocean Floor to Space Probes to Volcanoes}
Mobile robots, following markers or wires in the floor, or using vision or lasers, are used to transport goods around large facilities, such as warehouses, container ports, or hospitals \cite{5}.
\subsection{Space Robotic Probes} Robots are used to look for debris in ocean floor from the wreckage of a sunken ship or crashed air-crafts. There may be an deep ocean surface study exploration or a study on largely unknown aquatic life which can only be performed using robots. Robots are imperative to do such operations.\\
Almost every unmanned space probe ever launched was a robot.Some were launched in the 1960s with very limited abilities, but their ability to fly and land is an indication of their status as a robot. This includes the Voyager probes and the Galileo probes, among others \cite{6}.
\subsection{Soft-bodied Cobots} In cases of metal and mineral exploration and study on ocean floors, robots are machines that cannot be replaced and thus are credited with numerous discoveries. They can move control surfaces and transmit images of seafloor and let humans take control of situation on ocean floor from several miles distance on ocean top. The pressure present at ocean floor can only be tolerated by a submarine and sending a human in deep depths is not possible. Similarly robots are used in space probes and space missions where they do operations humans are not capable of doing like exposing themselves to work in open space where harsh UV sunlight can cause bad effects on human body and any exposure of human beings there is only limited for critical operations to minimize risks and high costs associated to cover the risks. They provide safety to humans and make work easier and faster along with giving reliability and required precision\cite{6}.\\
Robots with silicone bodies and flexible actuators (air muscles, electro active polymers and ferrofluids) look and feel different from robots with rigid skeletons, and can have different behaviors. Soft, flexible (and sometimes even squishy) robots are often designed to mimic the biomechanics of animals and other things found in nature, which is leading to new applications in medicine, care giving, search and rescue, food handling and manufacturing, and scientific exploration \cite{9}.
\subsection{Cobots} Robots are used around volcanoes erupting molten lava to collect samples and study materials and these areas have very high temperatures. These are tasks that are impossible and too hazardous to be done by humans thus making robot a tool that cannot be replaced.
Cobots or collaborative robots, are robots intended for direct human robot interaction within a shared space, or where humans and robots are in close proximity. Cobot applications contrast with traditional industrial robot applications in which robots are isolated from human contact.Cobot safety may rely on lightweight construction materials, rounded edges, and inherent limitation of speed and force, or on sensors and software that ensures safe behavior \cite{7}.
\subsection{Robots in Construction for Homes} \subsection{Automobile Industry}
Construction robots can be used for working in hazardous construction cites. \cite{8}.
\subsection{Elderly Assistance} Robots are used in automobile manufacturing assembly lines to produce high quality automobile. They can minimize errors and give high quality finished products that is not possible to be manufactured by a human. Many German auto brands are known for their high quality cars all over the world. This is because these cars offer a lot fo features but most importantly a rigid chassis which gives safety, comfort and stability which are only possible by laser welding in body.\\
The population is aging in many countries, especially Japan, meaning that there are increasing numbers of elderly people to care for, but relatively fewer young people to care for them.\\Humans make the best carers, but where they are unavailable, robots are gradually being introduced.FRIEND Robot is an example\cite{10}
This also is allowed to be offered at competitive prices thus giving high quality and finished product worthy of their price and in big auto markets these cars are preferred nowadays over older cars with hand welded bodies which see loose components in chassis with age. Thus robotics form the base of the quality of these products and gives a distinguished appeal compared to other cars which offer similar features but do not have these machine welds in body thus compromising safety and comfort of occupants.\\
\section {Types Of Robots} \section {Types Of Robots}
Various types of Robots classification are described below \cite{11}. Various types of Robots classification are described below \cite{11}.
\subsection{Humanoid Robots} \subsection{Dynamic Robots-Resembling Humans}
Humanoid robots are robots that look like and/or mimic human behavior. These robots usually perform human-like activities (like running, jumping and carrying objects), and are sometimes designed to look like us, even having human faces and expressions.They have soft surfaces and use silicone materials to look and feel and even move like a human. Examples of humanoid robots are Hanson Robotics’ Sophia and Boston Dynamics’ Atlas.
Dynamic robots are described as humanoid robots which are the robots that look and feel like a human being. They are designed to look and feel like humans and mostly work in household setting to perform activities like carrying objects. They use silicone materials which are soft and make them look like a real human with face motions and expressions. Examples of dynamic robots are Hanson Robotics’ Sophia and Boston Dynamics’ Atlas.
\subsection{Pre-Programmed Robots} \subsection{Preprogrammed Robots}
Pre-programmed robots operate in a controlled environment where they do simple, monotonous tasks. Example of a pre-programmed robot is a mechanical arm on an bike assembly line. The arm serves one function — to weld iron, to insert a certain part into the engine, etc. — and it’s job is to perform that task longer, faster and more efficiently than a human. These robots are made to work in a controlled environment. Here they do simple and monotonous tasks. Example is a mechanical arm on an vehicle assembly line. Its job is to perform as per pre-decided plan and perform tasks longer, faster and more efficiently than a human.
\section {Importance Of Robots In Today's Time} \section {Importance Of Robots In Today's Time}
In business, time and cost are important factors. Robots are easier and cheaper to work with when compared to humans and this makes them attractive. Given the risk and danger involved in some tasks, robots are the ideal alternative to human labor.For instance, a robot can move around gas towers, travel space and bring back feedback, all this without exposing human life to any kind of danger. They cannot get tired. It is in human nature to get tired after performing repetitive tasks for a long time. This is different when robots are at work. They can work for a series of days, weeks or even months without getting fatigue. They are programmed to produce accurate results and this makes them ideal for repetitive procedures. Unlike humans, robots do not get tired. Automating a process means ruling out the possibility of having to deal with sick-offs, absenteeism and go-slows that normally delay work. Robots are made from metals and plastics and have three major parts namely; the controllers, sensors and mechanical parts. All these parts are interdependent and the functionality of one depends on the other. Sensors are the parts that inform a robot of its surroundings. There are robots that are able to tell the amount of pressure that needs to be exerted in order to enable the required grip.Controllers are best described as the robot’s ‘brain’. In many cases, they are run on computer programs. Each robot has specific commands which control all the movements of all the movable parts of a robot.The mechanical parts are the parts that are responsible for moving the robots. They include grippers, gears, pistons and motors. To enable movements, the mechanical parts of robots are normally powered by water, electricity or air.
Robots in today's time offer some very specific and important benefits which cannot be ignored or replaced. It include safety, precision of work, quick delivery of product to market, accuracy in repetitive tasks without human like excuses and many more.\\
Robots are ideal for uses in high risk area like volcanic explorations, space probes , deep ocean operations and in bomb diffusion squads as mentioned in above sections. In these situations they perform extraordinarily well. They are stable workers without boredom, cannot get tired ,don't compromise on safety and don't make excuses for under performance.They work tirelessly and ensure accuracy ,precision and quality of work in any situation.Once programmed and up and running they can work a long time without supervision and while maintaining standards of their work under all situations.\\
Employing robots is cheap and need only power which is also highly optimized. Robots have a one time costs and low power consumption which make them cheaper to employ in most cases than humans. They are also very reliable nowadays thus offering very low maintenance and great value for money.\\
Robots are intelligent. They are programmed to make their own decisions and know how to tackle almost all situations. They have a learning mode where they can be taught instantaneously some tasks that they can mimic, but this is usually limited for research purposes in university setting\cite{12}
.\\
\section {Expectations From Robots} \section {Expectations From Robots}
Laws of Robotics which define three expectations from the field of Robotics are :\\ There are few basic expectation that a Robot must in all cases adhere to and they are called as Laws of Robotics which define these three expectations:described as Asimov's Laws of Robotics. They are described as follows :\\
‒ A robot must not cause injury to a human being or allow the injury of a human being due to inactivity.\\ ‒ A robot must not in any case cause a minor or hazardous injury to a human being or allow the injury of a human being due to inactivity.\\
‒ A robot under all circumstance must obey the orders which are given by human beings except of those that conflict with the First Law.\\ ‒ A robot under any and all circumstance must obey the orders which are given by humans except of those that conflict with the First Law stated above.\\
‒ A robot must protect its existence unless in a situation in conflicts with the First or Second Law. ‒ A robot must protect its existence unless in a situation in conflicts with the First or Second Law stated above.\cite{3.1}
......
\chapter{MOTIVATION}\label{ch:evaluation} \chapter{NEED-PLAN-IMPETUS}\label{ch:evaluation}
The topic of thesis is about Design and Implementation of a Model Based Architecture for Cobotic Cells. With the advent of tactile internet regularizing coexistence of robots and humans has become imperative, meaning the so called "Cobots" need a new use case architecture for its unit cell to operate safely alongside humans and real world objects. This architecture is based on multiple models each describing one aspect of use case aiding in functionality. For this the thesis described three models namely World Model ,Application Model and Safety Model which are described using different notations. The World Model is a global model describing the robot and other things in the environment giving "on the whole" information about the components in real world, this includes one or more humans which can be moving in and out of world zone,then some obstacles and grasp object which can be a ball or cube. The Application model describes the flow of individual actions of grasping that can be performed by Cobot according to a motion trajectory to accomplish the given task . Lastly, the Safety Model shows how a Cobot achieves goal of not causing any harm to humans or other objects in its proximity and how to respond to them by moving around them appropriately in cases imminent collisions are detected . \\ The topic of this thesis is about design and implementation of a model based architecture for cobotic cells. With the advent of tactile internet, regularizing coexistence of robots and humans has become imperative, meaning the so called "Cobots" need a new use case architecture for its unit cell to operate safely alongside humans and real world objects and obstacles. This architecture is based on multiple models each describing one aspect of use case aiding in functionality of cobots. For this the thesis described three models namely world model, application model and safety model which are described using different notations.\\
The real life problem scenario can be described as follows. Robot is expected to perform some job and to make it to do that with safety i.e. detect and evade obstacles / humans , this can be achieved in two different step cases. The models designed and described ,address to this task or problem of first, to train the robot for performing actions according to a preconceived plan using inbuilt “teaching” feature of robot and then doing it safely in real world conditions. The use case can be understood by seeing a scenario where we can train the robot in a laboratory / ideal conditions and give a working functionality to it by giving a design which shows how to perform a task which robot can use to work accordingly . The Franka Panda robot has a teaching mode where we can set a series of poses and grasp actions which can train the robot to perform a task according to a plan and this can be done repetitively by the robot later in scenario 2 which is real world and has added conditions of realism ,for this ,complex conditions are added to teaching capabilities about how to respond when it detects a human in proximity and obstacles in trajectory paths and in addition the simulation adds real world conditions like adding torque to joints as is in real world. The world model is a global model describing the cobot and other things in its environment, giving "on the whole" information about the components in real world a cobot has, this includes one or more humans who can be moving in and out of cobotic world zone, then some obstacles and grasp object which can be a ball or cube.\\
The application model describes the flow of individual actions of grasping that can be performed by Cobot according to a motion trajectory to accomplish the given task. This model is all about performing the task and action of the cobot. Lastly, the safety model shows how a Cobot achieves goal of not causing any harm to humans or other objects in its proximity and how to respond to them by moving around them appropriately in cases imminent collisions are detected . \\
The real life problem scenario can be described as follows. Robot is expected to perform some job and to make it to do that with safety i.e. detect and evade obstacles / humans, this safety and application can be achieved in two different step cases. The models designed and described ,address to this task or problem of first, to train the robot for performing actions according to a preconceived plan using inbuilt “teaching” feature of robot and then doing it safely in real world conditions.\\
The use case can be understood by seeing a scenario where we can train the robot in a laboratory / ideal conditions and give a working functionality to it by giving a design which shows how to perform a task which robot can use to work accordingly and this is known as application model implementation. The Franka Panda robot has a teaching mode where we can set a series of poses and grasp actions manually which can train the robot to perform a task according to a plan and this can be done repetitively by the robot later in scenario 2 which is real world and has added conditions of realism.\\
For this ,complex condition are added to application model about how to respond when it detects a human in proximity and obstacles in trajectory paths and in addition this real world simulation adds real world conditions like adding torque to joints as is in real world to see if arm can for example really life an object.
\newpage \newpage
In scenario one the architecture of robot`s world model is already known and has thus been used ,its teaching capability to train it to move to a coordinate position and then start a trajectory say X to move a position close to an object that is needed to be say picked up and then it can use its gripper to pickup the object and again move arm to another desired location where it want to drop the object and there it releases the gripper to put that object down and thus completing the task. This is smaller use case replication of saying a robot actually moved but here the idea is restricted to only moving arm which is the same when it comes to functionality achieved by robot moving itself or moving its arm as previously mentioned, is fulfilling the same work of detecting things in proximity and achieving the trajectory tasks as well as at same time to do it safely by responding appropriately as per intended use case.So far above description talks about training the robot in scenario 1 and now another scenario is considered which is say a real world task where the robot is made to perform the same work it was trained in Scenario 1 but in real life and this means the safety aspect should now be built into the scenario and for this a safety architecture is constructed which is used by robot, by telling it how to respond when seeing an obstacle like a cube or box for example or a human being. In scenario one the architecture of robot`s world model is already known and has thus been used ,its teaching capability to train it to move to a coordinate position and then start a trajectory for instance at position X to move a position close to an object that is needed to be say picked up and then it can use its gripper to pickup the object and again move arm to another desired location where it want to drop the object and there it releases the gripper to put that object down and thus completing the task at position Y. This is part of Application Model as described before.\\
This is smaller use case replication of saying a robot actually moved but here the idea is restricted to only moving arm which is the same when it comes to functionality achieved by robot moving itself vs moving its arm as previously mentioned, and this is fulfilling the same work of detecting things in proximity and achieving the tasks by completing trajectory as well as at same time to do it safely by responding appropriately as per intended use case programmed for safety.\\
So far above description talks about training the robot in scenario 1 and now another scenario is considered which is a real world task where the robot is made to perform the same work it was trained in Scenario 1 but in real life and this means the safety aspect should now be built into the scenario and for this a safety architecture is constructed which is used by robot, by telling it how to respond when seeing an obstacle like a cube or box for example or a human being.\\
This sets the tone for the work for this thesis.
...@@ -2,56 +2,70 @@ ...@@ -2,56 +2,70 @@
\section {Motion Planning And Simulations} \section {Motion Planning And Simulations}
This Robotics project revolves around the idea of Motion Planning. It is about Design and Implementation of a Model Based Architecture for Cobotic Cells. The basic idea is that we have a Robot which we want to cohabit with humans and make it real world intelligent and this means it has to work in real world where we have obstacles, objects and humans. Accidents are imminent and thus the case study is that the Artificial Intelligence has to be built into the Robot.A Robot is present and then one or more humans and then one or more obstacles in real world. The base of Robot is fixed and the arm is moving and there is a gripper which need to do a pickup and release job. The robot has to be programmed to move and not just move but detect obstacles / humans around the Robot continuously.\\ This robotics project revolves around the idea of motion planning. It is about design and implementation of a model based architecture for cobotic cells. The basic idea is that there is a robot which has to cohabit with humans and it is an effort to make it real world intelligent and this means it has to work in real world where obstacles, objects and humans are present. Accidents are imminent and thus the case study is that the artificial intelligence has to be built into the robot.\\
A robot is present and then one or more humans are in proximity along with one or more obstacles are also present in the real world. The base of Robot is fixed and the arm is moving and there is a gripper which need to do a pickup and release job. The robot has to be programmed to move and not just move but move with safety by detecting obstacles / humans around the robot continuously.\\
To start with a fictitious plan, the robot uses a motion planner to move arm and pickup an object and then move again according to already planned motion trajectory and release the object at desired location thus completing the task. So far this plan is only about doing the task but sans the idea of any kind of obstacle or human which can cause a hindrance to already planned motion which would thus require an alteration to planned trajectory right at that time instant when sensors detect obstacle and move around the obstacle to reach a coordinate position around the obstacle to a point in pre decided motion plan and then continue motion from there onwards. After the motion planning part a simulation software is used to see if motion trajectory correction is feasible and working in real life and to see how successful it can be.\\ To start with a fictitious plan, the robot uses a motion planner to move arm and pickup an object and then move again according to already planned motion trajectory and release the object at desired location thus completing the task. So far this plan is only about doing the task but sans the idea of any kind of obstacle or human which can cause a hindrance to already planned motion which would thus require an alteration to planned trajectory right at that time instant when sensors detect obstacle and move around the obstacle to reach a coordinate position around the obstacle to a point in pre decided motion plan and then continue motion from there onwards. After the motion planning part a simulation software is used to see if motion trajectory correction is feasible and working in real life and to see how successful it can be.\\
To demonstrate such a concept a world is shown which contains the Robot Panda, its arm, obstacle object which can be a ball or cube box and human beings. The thesis work designs a World Model , an Application Model, and Safety model for which different diagram forms are used and they are discussed further. To demonstrate such a concept a world is shown which contains the robot Panda, its arm, obstacle object which can be a ball or cube box and human beings. The thesis work designs a world model , an application model, and safety model for which different diagram forms are used and they are discussed further.
\newpage \newpage
\section {Modeling - Explaining Choice of Design Depictions} \section {Modeling - Explaining Choice of Design Depictions}
Thesis work tries to find correct diagram depictions for all three intended Diagrams which are World Model, Application Model and lastly Safety Model.
Thesis work tries to find correct diagram depictions for all three intended diagrams which are world model, application model and lastly safety model.
\begin{enumerate}[label=(\Alph*)] \begin{enumerate}[label=(\Alph*)]
\item WORLD MODEL\\ \item WORLD MODEL\\
Unified Modelling Language UML For Class And Object Diagrams For World Model Using Online Visual Paradigm is shown in Fig4.1 and Fig4.2 is displayed above.The UML class model is used to derive the objects and depict in the UML object model.
Unified Modelling Language UML For class and object diagrams for world model using the web tool Online Visual Paradigm is shown in Fig 4.1 and Fig 4.2 is displayed above.The UML class model is used to derive the objects and depict in the UML object model.\cite{17}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.9\linewidth]{../app2} \includegraphics[width=0.9\linewidth]{../app2}
\caption{ WORLD MODEL UML CLASS DIAGRAM} \caption{ World Model UML Class Diagram}
\label{fig:app2} \label{fig:app2}
\end{figure} \end{figure}
This World Model Class Diagram has been designed to contain ten classes.The main parent classes are World Object and World Class.The classes Robot and Abstract Object inherit from one class and at same time are aggregated with another class.Relation of Association and Aggregation is used where class quaternion(used only as a data type)is used with WorldObject class as Association as it uses its data type. Relation Aggregation is used where if class World do not exist so would not any of its child classes like HumanSpace, Abstract Object and Robot would not exist and so would not child classes of class Abstract Object namely Grasp Object Obstacles.For this pointers and pointer variables are used in implementation which are explained in later chapters in detail.
This world model class diagram has been designed to contain ten classes. The main parent classes are World Object and World, present on top most level. The classes Robot and Abstract Object inherit from one class and at same time are aggregated with another class. Relation of association and aggregation is used where classes need to use data variable from other classes and if class variable must depend on other class variables for it to exist respectively. Aggregation is used where if the class is not involved its child classes cannot be used. Association is used where one class is related to another just to be able to use other's variables. Both relations use pointers.
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.9\linewidth]{../app3} \includegraphics[width=0.9\linewidth]{../app3}
\caption{ WORLD MODEL UML OBJECT DIAGRAM} \caption{ World Model UML Object Diagram}
\label{fig:app3} \label{fig:app3}
\end{figure} \end{figure}
\newpage \newpage
\item APPLICATION MODEL – BUSINESS PROCESS MODELING NOTATION USING \\
MODELIO \\
Business Process Modelling Notation(BPMN) For Application Model Using Modelio was chosen for Application Model.Depicted in Figure 4.3.\\ \item APPLICATION MODEL – BUSINESS PROCESS MODELING NOTATION USING MODELIO \\
Business Process Modelling Notation(BPMN) For application model using Modelio was chosen for application model. Depicted in Figure 4.3.\cite{18}\\
This was found to be good choice to show application process as this shows cells which depict each component in the world model diagram and then allowed to depict the relationship and connection between their components and showing their flow which have a comprehensive and logical consistency among cells. It uses start and end event states and then “if” conditions as well as flow lines with process events and intermediate events to other components of world diagram to construct application model. In detail components are described as - \\
Events, Activities and Gateways. Objects are connected using Sequence Flows , Message Flows and Associations. Each segment is known as frames.
This was found to be good choice to show Application process as this shows cells which depict each component in the world model diagram and then allowed to depict the relationship and connection between their components and showing their flow which have a comprehensive and logical consistency among cells. It uses start and end event states and then “if” conditions as well as flow lines with process events and intermediate events to other components of world diagram to construct Application Model.
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.8\linewidth]{../app} \includegraphics[width=0.8\linewidth]{../app}
\caption{BPMN APPLICATION MODEL DIAGRAM} \caption{BPMN Application Model Diagram}
\label{fig:app} \label{fig:app}
\end{figure} \end{figure}
\newpage \newpage
\item SAFETY MODEL DEPICTION USING MODELIO UML STATE CHART \\
\end{enumerate} \item SAFETY MODEL DEPICTION USING UML STATE CHART \\
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=1.0\linewidth]{../app4} \includegraphics[width=1.0\linewidth]{../app4}
\caption{SAFETY MODEL - UML STATE DIAGRAM} \caption{Safety Model - UML State Diagram}
\label{fig:app4} \label{fig:app4}
\end{figure} \end{figure}
Refer Fig.4.4 In Fig.4.4 The start and end events denote the process starting and end. The transition T1 is about human presence. The robot motion begins according to motion already planned using MoveIT but then if the human presence is detected by sensors, it calls MoveIT for new trajectory and proceeds with motion but once again checks if human is detected using if condition and if so then return to human present condition from this state and once again a new motion is planned by MoveIT until a state is achieved where a human is absent and a final transition T2 is executed which proceed to the end event finally. This model can be extended in more detail in the future using this concept along with a different notation that can make the cases more detailed and thus more extensive. MAPE-K Loops can also be used to denote the safety of a system and in addition computer generated graphics can as well be used to depict the safety model of a system, this enables the research to not get restricted to just BPMN notation for safety models of a system\cite{18}.\\
The start and end events denote the process starting and end. The transition T1 is about human presence. The robot motion begins according to motion already planned using MoveIT but then if the human presence is detected by sensors, it calls MoveIT for new trajectory and proceeds with motion but once again checks if human is detected using if condition and if so then return to Human Present condition from this state and once again a new motion is planned by MoveIT until a state Is achieved where a human is absent and a final transition T2 is executed which proceed to the end event finally.This model can be extended in more detail in the future using this concept along with a different notation that can make the cases more detailed and thus more extensive. MAPE-K Loops can also be used to denote the Safety of a system and in addition computer generated graphics can as well be used to depict the safety model of a system, this enables te research to not get restricted to just BPMN notation for safety models of a system.\\
\begin{figure} \begin{figure}
\centering \centering
...@@ -60,30 +74,29 @@ The start and end events denote the process starting and end. The transition T1 ...@@ -60,30 +74,29 @@ The start and end events denote the process starting and end. The transition T1
\label{fig:3-figure4-1} \label{fig:3-figure4-1}
\end{figure} \end{figure}
Fig.4.5 There has been extensive work done to incorporate safety into real world robots particularly from Sami Haddadin. It has built the robot with technology ranging from making the robot understanding safety i.e by making them softer in approach when operating to preventing any physical collision by embedding injury knowledge into controls. The robot surfaces are made softer and force reduced when in proximity to collision objects up to a level where the robot can affirmatively detect the kind of object in proximity and classify that as a serious or not so seriously unsafe object. Extensive testing has been done on injuring pig skin\cite{19}.
Fig.4.5 There has been extensive work done to incorporate safety into real world robots particularly from Sami Haddadin. It has built the robot with technology ranging from making the robot understanding safety i.e by making them softer in approach when operating to preventing any physical collision by embedding injury knowledge into controls.The robot surfaces are made softer and force reduced when in proximity to collision objects upto a level where the robot can affirmatively detect the kind of object in proximity and classify that as a serious or not so seriously unsafe object.Extensive testing has been done on injuring pig skin.\cite{17} \end{enumerate}
\newpage \newpage
\section {Tools Used } \section {Tools Used }
\subsection{Setup Environment Using ROS To Run Services ,Motion Planning In RVIZ Using MOVEIT ,GAZEBO For Simulations} \subsection{Setup Environment Using ROS To Run Services ,Motion Planning In RVIZ Using MOVEIT ,GAZEBO For Simulations}
\begin{enumerate}[label=(\Alph*)] \begin{enumerate}[label=(\Alph*)]
\item ROS \item ROS \footnote{https://erdalpekel.de/?p=55 , https://github.com/frankaemika/ , https://moveit.ros.org/ }\\
\footnote{https://erdalpekel.de/?p=55 , https://github.com/frankaemika/ , https://moveit.ros.org/ } ROS is an opensource robot operating system. ROS is not a regular OS in sense to not provide regular functions of OS like process management and scheduling but it provides a different set of services and acting like structured communications layer above the host operating systems . ROS is associated with existing frameworks of robots, with brief look on available application software which uses ROS.As Robotics is a wide field and continuously a topic of research and a growing one ,generating code for ROS is not easy. There are different category of robots available with high degree of variation in hardware, thus not enabling programmers to reuse code or develop on modules.In addition the total amount of code needed is too much for regular programmers, as it needs a deep stack starting from driver-level software and continuing up, and also needs abstract reasoning, and more. The required breadth and width of expertise needed is far more than the skills of any single researcher, robotics software architectures must also be able to be integrated with large-scale software . To address to these problems and make life easier for a regular programmer, many robotics researchers, have constructed huge number of frameworks to handle complexity and address to rapid prototyping of software for experiments, thus resulting enabling research in industry and academia . Each of the frameworks were made keeping in mind a purpose, maybe for a response to perceived weakness of other available frameworks, or to place importance on dimensions which were seen as most important in the design process. ROS, the framework is designed not without tradeoffs and prioritizations made during its design cycle which were essential to do in interest of practical uses. It is still thought the tradeoffs will serve well to purposes of large-scale integrative robotics research in a wide variety of uses and cases as robotic systems grow ever more complex. \\
\item RVIZ / MoveIT
\footnote{ROS: an open-source Robot Operating System } Motion Planning RviZ/MoveIT
MoveIT was used for motion planning as this software lets us alter many different parameters of the robotic components and helps us to create case studies in a world environment for Robot Panda. Here a series of joints and poses is set and then a trajectory for motion planning which is then used to run in a real world simulator. Its main purpose was to introduce an obstacle which is a cube box or which can be a human being and the motion plan is about moving the robot arm around the obstacle to reach a position which was decided earlier in the motion plan.\\
\item Gazebo
Gazebo for simulations
Gazebo Simulator was used which is real world simulator to run the motion plan from MoveIT . This lets us see if the real world simulation is possible for the conceived motion plan and trajectory . Gazebo also has additional features which can add real time parameters to its simulation like altering torque of joints to see how robot reacts in real world.
\end{enumerate}
\newpage
\section {Repos Used} ROS is an opensource robot operating system. ROS is not a regular OS in sense to not provide regular functions of OS like process management and scheduling but it provides a different set of services and acting like structured communications layer above the host operating systems. ROS is associated with existing frameworks of robots, with brief look on available application software which uses ROS. As robotics is a wide field and continuously a topic of research and a growing one ,generating code for ROS is not easy. There are different category of robots available with high degree of variation in hardware, thus not enabling programmers to reuse code or develop on modules. In addition the total amount of code needed is too much for regular programmers, as it needs a deep stack starting from driver-level software and continuing up, and also needs abstract reasoning, and more. The required breadth and width of expertise needed is far more than the skills of any single researcher, robotics software architectures must also be able to be integrated with large-scale software. To address to these problems and make life easier for a regular programmer, many robotics researchers, have constructed huge number of frameworks to handle complexity and address to rapid prototyping of software for experiments, thus resulting enabling research in industry and academia. Each of the frameworks were made keeping in mind a purpose, maybe for a response to perceived weakness of other available frameworks, or to place importance on dimensions which were seen as most important in the design process. ROS, the framework is designed not without tradeoffs and prioritizations made during its design cycle which were essential to do in interest of practical uses. It is still thought the tradeoffs will serve well to purposes of large-scale integrative robotics research in a wide variety of uses and cases as robotic systems grow ever more complex. \\
\subsection{ERDAL`S Repositories And How They Are Used With Tools And Running Simulations}
\footnote{https://erdalpekel.de/?p=55 }
Erdal has provided tutorial to connect MoveIt to a simulated Panda Robot and for this they have provided three repositories namely frankaros , pandamoveitconfig and pandasimulation. They help to build the workspace and use MoveIt and other simulation software to motion plan and set and modify parameters for it. It thus helps us to connect the robot in MoveIT to Gazebo simulation to see how motion plan fairs in real life conditions.They form the foundation of how Robot framework works with ROS.
\item RVIZ / MoveIT \footnote{ROS: an open-source Robot Operating System } \\
RviZ/MoveIT motion planner was used for motion planning as this software lets us alter many different parameters of the robotic components and helps to create case studies in a world environment for robot Panda. Here a series of joints and poses is set and then a trajectory for motion planning which is then used to run in a real world simulator. Its main purpose was to introduce an obstacle which is a cube box or which can be a human being and the motion plan is about moving the robot arm around the obstacle to reach a position which was decided earlier in the motion plan.\\
\item Gazebo \footnote{http://gazebosim.org/}
Gazebo simulator was used which is real world simulator to run the motion plan from MoveIT. This lets us see if the real world simulation is possible for the conceived motion plan and trajectory. Gazebo also has additional features which can add real time parameters to its simulation like altering torque of joints to see how robot reacts in real world.
\end{enumerate}
\newpage
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment