Francisco J. Pedroza γ, Andrés F. Araquer, Víctor A. Romero
Universidad Autónoma de Occidente, Cali, Colombia
γ. Corresponding Author: franciscopedroza0305@gmail.com
This paper presents the development of a six degree of freedom 3D printed robotic arm, with an angular morphology. Our development process integrates and exploits the benefits of open-source technologies such as open CAD design for robot structure definition, free configuration electronic devices and the Robotic Operating System (ROS) a standard and powerful robotics middleware. This project shows how using open-hardware and open-software technologies is possible to develop a high-tech, low-cost, replaceable, flexible, and easy to use manipulator robot.
Keywords: open-source technologies, ROS.
Robotics of manipulators was the driving force for the industrial implementation of different robots with a defined number of degrees of freedom to fulfill specific tasks in an efficient and precise way. In our country the implementation of manipulator robots for SMEs (Small and mid-size enterprises) are high cost and exclusive. The use of open-source platforms is getting increasingly for the possibility of having full control on the robot features. Some features of the robot such as appearance, mechanical and electronic devices, and control methods can be change for personalize the usability of the robot for specifics needs [1].
The 3D printing has been widely recognized as a valuable and efficient technology for low-cost manufacturing. Due to the ability to manufacture various 3D object designs from CAD models in relatively short time with minimum cost and efforts. Using 3Dprinted prototypes, researchers and educators can benefit from lower expenditures, easier equipment maintenance and repair, better availability of spare parts, higher relevance and flexibility of adaptation to research needs [2].
Open-source tools refer to software and hardware developments that can be acquired, modified and distributed freely. A first benefit is in regarding research, the use of this platforms in studies that employ robotics fields for leveraging low-cost technologies to make different prototypes. A second benefit is the possibility of having full control where the studies have replicability for industrial and educational implementation [3]. Another benefit is the repowering of robots with closed obsolete hardware and software.
ROS is a flexible work environment with a conceptual structure and defined assistance technology (framework) for software development for robotics, it has a collection of tools, libraries and conventions to simplify the creation of complex and robust robotic systems [4]. ROS is an operating system for open-source robotics that has been developed with the help of the entire acquisitive community of the framework that is compatible with the Ubuntu platforms [4].
MoveIt! Movement planning framework. Platform for the advanced development of robotic applications (control, trajectory planning, handling, perception, collision detection and kinematic processes). Evaluation and design and integration of robotic products for industry, commerce or other domains [5].
Rviz 3D viewer to show sensor data and ROS status information. The use of RViz allows to visualize the current configuration of a robot in a virtual model of it, it can show live representations of sensor and data values [6].
BCN 3D Moveo an open-source robotic arm that can be modified and replicated with five degree of freedom [7].
The implementation of Centauri robot has two action lines shown in Figure 1. These lines of action start with the CAD model. The first line is the software development and the second line is the hardware and construction development. The BCN3D robotic arm has five degree of freedom (5DOF), to obtain a six degree of freedom robot was necessary to implement a new articulation before the end effector. A robot with six degree of freedom allows to locate a final effector in any location of its workspace [8].
Figure 1
Robot development lines
Source: Prepared by the authors
Centauri needs seven stepper motors to work, one for each link, except the link 1 that has two motors working together. The final effector works with a servo motor. The stepper motors work with two pulses one of potential and the other one of direction. TB6560 motor driver works for motors to 12-24 V (volts) until 3A(amperes), all the stepper motors work with less that 3A (amperes) and 12 V(volts). The servomotor does not need a motor driver to work. The Arduino 2560 is a micro-controller on an electronic board, with open source platform and a development environment, it transmits the control signal to the motor drivers and the servomotor. A power-source of 12 volts feeds all the electronic devices, a refrigeration system is needs to conserve cold temperature inside the control box as show in Figure 2.
Figure 2
Schematic of control box
Source: Prepared by the authors
For visualization in ROS, the CAD model of the robot should be exported to a URDF file. A URDF file is a description of the robot based on XML (Markup Language), that describes the robot model with values of inertia, mass, origin position, limits angles and geometry. This information is necessary for robot kinetic configuration. The verification of each joint (DOF) on the visualization can be done correctly with the ROS -joint state publisher-. This package is commonly used to interact with robot joints publishing the status of each joint as a message to the topic sensor msgs / JointState.msg [9]. Based on the URDF file, the Moveit Setup Assistant helps to create a package that contains the robot control configuration, the work groups (arm, gripper), collision matrix, the kinematic chain and more future configuration that does not include for this project like robotic perception, as shown in Figure 3. The Moveit package allows to send the commands by the user through the console to a programming code that interprets the commands and send it to Arduino programming code for real working and to the visualizer. Rqt is a framework based on Qt for development of graphic user interface for ROS. This framework has an interface for design and some tools for create and send actions to interact with the robot during the execution of its visualization [10].
Figure 3
Software development
Source: Prepared by the authors
For a correct functioning of Centauri robot, the software implementation must communicate with the hardware devices. ROS has a standardized communication system between subscribers or publisher nodes through the topics. Topics are the information channels. In others words the topic -joint steps- contains the joints information that this communication channel sends from the computer to the motor drivers as shown in Figure 4.
Figure 4
Integration of software and hardware
Source: Prepared by the authors
Without the interface, we could have controlled Centauri by console commands, but for us it was fundamental to be able to facilitate the use and control of the robot and for them we designed and built a user interface.
The graphical user interface to interact with the robot has a series of buttons and sliders that allow the movement of each joint, the execution of the end effector (gripper), the generation of poses as shown in Figure 5. The interface also allows to save different poses one by one to create trajectories for a specific task, the trajectories could be saved as a csv (comma-separated values) file for future use. For more information about the graphic interface, robot configuration and results of the Centauri project visit the repository available in https://github.com/andresaraque/centauri6dof.
Figure 5
Graphic user interface
Source: Prepared by the authors
The use of open-source development platforms at the hardware and software level allows users to generate different use alternatives. The creation of new components for the morphology, the modification of mechanical and electronic devices and the implementation of new function on the software allow execute new and different functions of work with the robot.
To allow an acquiring community of the project information and the development of the same through the open-source platforms to feedback an important aspect of the design, implementation or start-up phase. This provides a more global look to reevaluate and provides greater usability of the robotic platform, all its components and configuration.
ROS as a robotic operating system and through its packages provides a wide service to make free configuration (open source) of the robot, this platform facilitates the interaction of the robot with any user that requires it and that acquires the fundamental knowledge, opening the field to robotic technologies as a universal knowledge and of free access.
[1] S. Woods, “Exploring the design space of robots, Children perspectives”, Interact. Comput., vol. 18, n. 6, pp. 1390-1418, 2006. doi: 10.1016/j.intcom.2006.05.001
[2] J. M. Pearce, “Building research equipment with free, open-source hardware”, Science, vol. 337, n. 6100, pp. 1303-1304, 2012. doi: 10.1126/science.1228183
[3] M. L. Lupetti, “Shybo. An open-source low-anthropomorphic robot for children”, HardwareX, vol. 2, pp. 50-60, 2017. doi: 10.1016/j.ohx.2017.08.003
[4] Open Source Robotics Foundation, “About ROS”, 2014. [Online]. Available: http://www.ros.org/about-ros/. [Accessed: 16-jan-2019].
[5] David Coleman, Ioan A. Șucan, Sachin Chitta, Nikolaus Correll, Reducing the Barrier to Entry of Complex Robotic Software: a MoveIt! Case Study, Journal of Software Engineering for Robotics, 5(1):3–16, May 2014. doi: 10.6092/JOSER_2014_05_01_p3.
[6] Baxter Research Robot, “Rviz”, 2019. [Online]. Available: http://sdk.rethinkrobotics.com/wiki/Rviz [Accessed: 12-feb-2019]
[7] BCN3D, “BCN3D MOVEO”, Un brazo robótico de código abierto impreso en 3D. https://www.bcn3dtechnologies.com/es/bcn3d-moveo-the-future-oflearning/ [Accessed: 28-jan-2019].
[8] J. J. Craig, Robótica, 3ra ed, México: Pearson, 2006.
[9] ROS Wiki, “Joint state publisher”, 2019. [Online]. Available: http://wiki.ros.org/joint_state_publisher. [Accessed: 13-feb-2019].
[10] ROS Wiki, “rqt”, 2019. [Online]. Available: http://wiki.ros.org/rqt. [Accessed:16-mar-2019].
Maicol Peterson Gandolphi de Almeida1, Alexandre Campos2
1 Electrical Engineering Department, UDESC, Joinville, Brazil, gandolphi@hotmail.com
2 Petroleum Engineering Department, UDESC, Joinville, Brazil, alexandre.campos@udesc.br
This work shows how to implement the screw theory to solve the equations of motions of a 4-cable-driven parallel robot and the tension in each cable. Measurements were made with springs and potentiometers to compare the tension in each cable with theoretical solution. The workspace was calculated with all cables tensioned and with values below of tensile strength of the cables.
Keywords: Screw theory, cable-driven, parallel robot, workspace.
Forward kinematics (FK) and inverse kinematics (IK) are models that refer the analytical study of the motion of a robot [1]. FK can be used to find the end-effector position from the values of each joint of the robot. The rotating joint rotates the link to a specific angle and the prismatic joint moves the link along an axis [2].
The equations are more complex when there are more joints in the robot. In inverse kinematics the movement of joints are determined from a known position of the end-effector and the displacement of joints are unknown [3].
The study of screw theory begins with Chasles in 1830 when he proposed the concept of twist motion based on mathematics methods created by Mozzi in 1763 [4]. In 1848 Poinsot developed the concepts of Chasles and after that Plücker proposed the screw expressions. Campos [4], Valdiero [5], Simas [6] and Carboni [7] have implemented screw theory to solve the equations of motions of parallel robots.
A screw consists of a line and a scalar value that represents the screw pitch. This line is called normalized screw when it is represented by a normalized vector [4]. According to Hunt, the movement of an object can be simplified in a rotation and translation over an axis. The combined motion is called twist and it can be represented by the symbol $ [6]. The representation of a twist $ in Eq.1 is a combination of rotational values [ωX, ωY, ωZ]T and linear velocities [vX, vY, vZ]T [3].
(Eq.1)
While the twist $ is represented by a combination of rotational values and linear velocities a wrench $’ is represented in Eq.2 by a combination of forces and momentums and in the Eq.2 the wrench $’ can be also written in terms of a normalized screw and a force magnitude [4]. Figure 1 shows a wrench $’ in a normalized screw and the momentum created by $’. The vector starts from origin {O} to the axis of force whose unit vector is represented by
. Perpendicular and parallel momentums are represented to indicate the resultant momentum
of the force applied in the rigid body.
(Eq.2)
Figure 1
Representation of a wrench in a normalized screw
and its momentums
Source: Own elaboration
For bodies with n forces (the n cables of a cable-driven parallel robot) the sum of the forces can be applied through Eq. 3 [8].
(Eq.3)
In Eq. 3 the matrix is the wrench
relative to the weight of the platform and $’i is the wrench applied on ith cable of the cable-driven robot (i = 1, 2, 3, …). Applying the Eq. 2 into Eq. 3 equals Eq. 4.
(Eq.4)
Where J'T represents the Jacobian transposed matrix from the unit vectors of the wrenchs [5].
The objective of this work is to implement the equations above from screw theory to solve the equations of motions of a 4-cable-driven parallel robot and find the workspace.
The cable-driven parallel robot shown in figure 2 and figure 3 has a mobile platform (end-effector) connected by 4 cables at upper locations (B1), (B2), (B3) and (B4). Figure 2 shows only (B1) to simplify. The cables can be reeling or unreeling through reels with step motors positioned inside of the fixed beams. The variables to be controlled are X, Y and Z displacements (3DOF) and there are not rotations. The vectors and dimensions shown in Figure 2 were used for the formulation of the kinematics equations. The vector in Figure 2 represents the position of point (A1) expressed at fixed frame {O}, like
and
. The length of the cable from point (B1) to (A1) is the magnitude of vector
and the vector
represents the point (B1) at the mobile frame {P}.
The method to measure the force in each cable uses a spring fix to a potentiometer (see the tension sensor in Figure 3). The spring is pulled or return at its free position while the step motor is reeling or unreeling the cable. The spring displacement “d” can be used with “k” factor and combined with potentiometer measures to calculate the force in each cable. The tension sensor assembly is connected to a microcontroller which reads the analog signal from the potentiometer and converts it to a digital value. The value represents the deformation of the spring that is sent to a microcontroller through a WiFi module (Figure 3).
To solve the kinematics, it is necessary to determine the length of each cable, i. e., the magnitude of shown in Figure 2. The length (B1) (A1) is the vector magnitude
and Eq. 5 is used for all cables. The length of each cable is calculated using the IK in the homogeneous transformation matrix from values of vector
of the end-effector. Eq. 6 is the Eq. 2 applied at the robot proposed in this work.
The normalized vector is calculated by Eq. 7 and the wrench of the weight W is calculated from Eq. 2 and given by Eq. 8.
(Eq.5)
(Eq.6)
(Eq.7)
(Eq.8)
Where [0 0 -1]T is the unit weight in the Z direction. The vector is represented by vector
in Eq. 8 because
is also a vector that starts from the fixed origin {O} to the axis of weight application. Since each vector
(i = 1, 2, 3, 4) and the wrench matrix contains the coordinates PX, PY and PZ in its structure then the linear system
is solved if the values of PX , PY and PZ are known. It will result values for the forces and the lengths of the cables. On the other hand, if the force values are known then PX, PY and PZ can be found through an iterative method.
Figure 2
The 4-cable-driven parallel robot, end-effector and tension sensor
Source: Own elaboration
Figure 3
The 4-cable-driven parallel robot with end-effector, tension sensor and tension graphics
Source: Own elaboration
Through the linear system, it is possible to calculate the values of the forces according to the location of the end-effector. Increments of 0.01m were given for the X, Y and Z axis. In the X axis the variation was from -0.05m to 0.05m, in the Y axis from -0.05m to 0.05m and in the Z axis from 0.00 to 0.03m.
The workspace was also limited to keep the tension of the cable in a positive range and below of 343*10-2 N due to the linear measuring range of the potentiometer. Figure 4 shows the XY workspace (top view) of the end-effector for all the angles equals to zero.
Figure 4
Workspace (top view) of the 4-cable-driven parallel robot
Source: Own elaboration
The use of trigonometry to deduce equations for IK and FK in a cable-driven parallel robot is a time-consuming process. Screw theory can be implemented to find the equations of motions, forces and the workspace of a 4-cable-driven parallel robot with an organized and simplified system of equations.
This work was partially supported by “Fundação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior” (CAPES) PGPTA 59/2014 AUXPE 3686/2014.
[1] M. P. Groover, M. Weiss, R. N. Nagel, N. G. Odrey, Industrial robotics - Technology, programming and applications, New York, USA: McGraw-Hill, 1986.
[2] J. J. Craig, “Manipulator Kinematics”, in Introduction to Robotics: Mechanics and Control, Pearson Prentice Hall, 3rd ed., M. J. Horton, Ed. N.J. USA: Pearson Education International, 2005, pp. 62-65.
[3] L. W. Tsai, Robot Analysis: The Mechanics of Serial and Parallel Manipulators, New York, USA: John Wiley & Sons, 1999.
[4] T. Muraro, “Análise cinemática e estática de um mecanismo espacial atuado por cabos aplicado à movimentação de pacientes”, tesis de maestría, Federal University of Santa Catarina, Florianópolis, Brasil, 2015.
[5] A. C. Valdiero, A. Campos, R. Guenther, and D. Martins, “Cálculo e Análise do jacobiano de um manipulador paralelo de 3 graus de liberdade baseado na teoria dos helicóides”, in IX Brazilian Congress of Mechanical Engineer. Brazil: ABCM, 2001.
[6] H. Simas, D. Martins, and R. Guenther, “Cinemática inversa de robôs via helicóides”, in National Congress of Mechanical Engineer. João Pessoa, Brazil: CONEM. 2002.
[7] A. Carboni, H. Simas, and D. Martins, “Modelagem por helicóides de restrições redundantes”, in XXXI Congress of Computational Mechanics. A. Cardona, P. Cohan, R. Quinteros, M. Storti, Ed. Argentina: AMCA, 2016.
[8] J. Pusey, A. Fattah, and S. Agrawal, “Design and Workspace Analysis of a 6–6 Cable-Suspended Parallel Robot”, in International Conference on Intelligent Robots and Systems. Las Vegas, Nevada: IEEE, 2003.