Design and Motion Planning of a Biped Climbing Robot with Redundant Manipulator

Featured Application: A novel robot capable of performing maintenance and inspection tasks is designed to substitute humans to complete dangerous work in the railway bridges. Abstract: A novel robot capable of performing maintenance and inspection tasks for railway bridges is proposed in this paper. Termed CMBOT (climbing manipulator robot), the robot is a combination of a ﬁve-degrees-of-freedom (5-Dof) biped climbing robot with two electromagnetic feet and a redundant manipulator with 7-Dof. This capability o ﬀ ers important advantages for performing maintenance and inspection tasks for railway bridges. Several fundamental issues of the CMBOT, such as robotic system development and motion planning algorithms, are addressed in this paper. A series of simulations and prototype experiments were conducted to validate the proposed robotic systems and motion planning algorithm. The results of the experiments show the reliability of the robotic systems and the e ﬃ ciency of the motion planning algorithm.


Introduction
Steel guardrails and brackets are important structures that support railway bridges and provide protection for passing trains. Continuous maintenance and inspection are required to ensure the longevity of steel structures. Hazardous conditions due to the bridge height and wind pressure from moving trains can cause difficulties in maintaining or inspecting railway bridges. To guarantee safety, workers must use heavy personal protective equipment and stop working when a train passes by. Therefore, traditional manual operation encounters many problems, such as poor security and low efficiency. Deploying special robots to replace humans can solve the problems mentioned above. The basic function of the robot is to climb bridges in a reliable and flexible way. In addition, the robot should be able to manipulate different tools to reach the surface of steel structures without collisions.
There have been several types of robots capable of climbing a wide variety of infrastructures in the past decades [1]. According to the characteristics of different infrastructures, robots have different climbing mechanisms and adhesion methods. Wheeled, tracked, legged, and combined types are the most commonly used climbing mechanisms of climbing robots [2]. Generally, robots with wheels or tracks are used on continuous surfaces with few obstacles since they have a higher speed than legged climbing robots. If the surface of an infrastructure has a complex structure or irregular obstacles, the legged climbing mechanism is more applicable than other mechanisms. Adhesion methods such as magnetic attraction [3,4], vacuum attraction [5][6][7][8], electric adhesion [9,10], gripping adhesion [11][12][13], and adhesive elastomer [14] have been applied in the field of climbing robots. Robots with magnetic According to the abovementioned task description and analysis, the design indicators of the robot are listed as follows: • The mass of the robot should be less than 100 kg.

•
The robot can move on the guardrail and crossover a gap with a length of 10 cm.

•
The robot can attach to the guardrail when it performs maintenance tasks.

•
The workspace of the robot can cover a cuboid with the dimensions of 1540 × 1100 × 1500 mm, and the robot is able to avoid obstacles as it performs tasks.

•
The load at the end of the robot is greater than 5 kg.

•
The climbing speed of the robot is not less than 0.1 m/s, the speed of the end effector is not less than 0.3 m/s.

Mechanical Configuration
The CMBOT consists of a 5-Dof biped climbing mechanism with two magnetic feet and a 7-Dof series redundant manipulator, as shown in Figure 2. Since the surfaces of the steel bars are too narrow to use the wheeled or tracked climbing mechanisms, the CMBOT uses the legged type of climbing mechanism. Among the existing legged climbing mechanisms that can cross irregular gaps, as shown in Figure 1, the 5-Dof biped climbing mechanism is most suitable since it has the fewest degrees of freedom and can improve the stability of motion. Five rotational joints, which are labeled J1 to J5, form the 5-Dof biped climbing mechanism. The rotational axes of the rotational joints are marked with purple arrows in Figure 2.  According to the abovementioned task description and analysis, the design indicators of the robot are listed as follows: • The mass of the robot should be less than 100 kg.

•
The robot can move on the guardrail and crossover a gap with a length of 10 cm.

•
The robot can attach to the guardrail when it performs maintenance tasks.

•
The workspace of the robot can cover a cuboid with the dimensions of 1540 × 1100 × 1500 mm, and the robot is able to avoid obstacles as it performs tasks.

•
The load at the end of the robot is greater than 5 kg.

•
The climbing speed of the robot is not less than 0.1 m/s, the speed of the end effector is not less than 0.3 m/s.

Mechanical Configuration
The CMBOT consists of a 5-Dof biped climbing mechanism with two magnetic feet and a 7-Dof series redundant manipulator, as shown in Figure 2. Since the surfaces of the steel bars are too narrow to use the wheeled or tracked climbing mechanisms, the CMBOT uses the legged type of climbing mechanism. Among the existing legged climbing mechanisms that can cross irregular gaps, as shown in Figure 1, the 5-Dof biped climbing mechanism is most suitable since it has the fewest degrees of freedom and can improve the stability of motion. Five rotational joints, which are labeled J1 to J5, form the 5-Dof biped climbing mechanism. The rotational axes of the rotational joints are marked with purple arrows in Figure 2. According to the abovementioned task description and analysis, the design indicators of the robot are listed as follows: • The mass of the robot should be less than 100 kg.

•
The robot can move on the guardrail and crossover a gap with a length of 10 cm.

•
The robot can attach to the guardrail when it performs maintenance tasks.

•
The workspace of the robot can cover a cuboid with the dimensions of 1540 × 1100 × 1500 mm, and the robot is able to avoid obstacles as it performs tasks.

•
The load at the end of the robot is greater than 5 kg.

•
The climbing speed of the robot is not less than 0.1 m/s, the speed of the end effector is not less than 0.3 m/s.

Mechanical Configuration
The CMBOT consists of a 5-Dof biped climbing mechanism with two magnetic feet and a 7-Dof series redundant manipulator, as shown in Figure 2. Since the surfaces of the steel bars are too narrow to use the wheeled or tracked climbing mechanisms, the CMBOT uses the legged type of climbing mechanism. Among the existing legged climbing mechanisms that can cross irregular gaps, as shown in Figure 1, the 5-Dof biped climbing mechanism is most suitable since it has the fewest degrees of freedom and can improve the stability of motion. Five rotational joints, which are labeled J1 to J5, form the 5-Dof biped climbing mechanism. The rotational axes of the rotational joints are marked with purple arrows in Figure 2.  To achieve stable and accurate walking, the magnetic feet of the CMBOT consist of electromagnet modules, limiting mechanisms, and laser range finders, as shown in Figure 3. Two electromagnet modules are mounted on both ends of the climbing mechanism to ensure the CMBOT climbs on the highest horizontal angle steel bar of the guardrail. There are two laser range finders on the front and back of the electromagnet module to measure the distance between the bottom surfaces of electromagnet modules and the top surfaces of the steel guardrails. According to the distance information, J2 and J4 can adjust their angles to ensure a parallel relationship between the contact surfaces of the electromagnet modules and steel guardrails, and these actions can avoid uneven contact between the contact surfaces. In addition, limiting mechanisms are mounted on the side of both electromagnet modules. Consisting of a driven motor and limiting plate, the limiting mechanism can seize the guardrail when the magnetic feet maintain contact with the upper surface of the guardrail and release the guardrail before the electromagnet modules lift. The main objective of the limiting plate is to reduce the surface clearance between the electromagnet modules and guardrail since the surface clearance has a significant influence on the magnetic force. To achieve stable and accurate walking, the magnetic feet of the CMBOT consist of electromagnet modules, limiting mechanisms, and laser range finders, as shown in Figure 3. Two electromagnet modules are mounted on both ends of the climbing mechanism to ensure the CMBOT climbs on the highest horizontal angle steel bar of the guardrail. There are two laser range finders on the front and back of the electromagnet module to measure the distance between the bottom surfaces of electromagnet modules and the top surfaces of the steel guardrails. According to the distance information, J2 and J4 can adjust their angles to ensure a parallel relationship between the contact surfaces of the electromagnet modules and steel guardrails, and these actions can avoid uneven contact between the contact surfaces. In addition, limiting mechanisms are mounted on the side of both electromagnet modules. Consisting of a driven motor and limiting plate, the limiting mechanism can seize the guardrail when the magnetic feet maintain contact with the upper surface of the guardrail and release the guardrail before the electromagnet modules lift. The main objective of the limiting plate is to reduce the surface clearance between the electromagnet modules and guardrail since the surface clearance has a significant influence on the magnetic force. The control cabinet and battery packs of the CMBOT are fixed on the other side of the electromagnet and can balance the weight of the manipulators. A rotating two-dimensional (2D) Light detection and ranging (LIDAR) sensor is mounted on the front of the climbing mechanism to acquire the three-dimensional (3D) characteristics used to plan the motion of the climbing mechanism. The rotating 2D LIDAR sensor, which consists of a servo motor and a 2D LIDAR, can produce a 3D point cloud of the work scene by rotating the 2D LIDAR and fusing the angle information of the servo and 2D point information of the 2D LIDAR [20]. An example of a 3D point cloud acquired by the rotating 2D LIDAR sensor is shown in Figure 4. Although the CMBOT can move on the guardrail flexibly with the climbing mechanism, the operating mechanism is still needed since the workplace is far beyond the reachable space of the climbing mechanism. Considering the characteristics of steel guardrails and brackets, a 7-Dof series redundant manipulator is used as the operating mechanism of the CMBOT. The redundant degrees of freedom can help the manipulator avoid collision with the guardrails and brackets while operating. Seven rotational joints, numbered from J6 to J12, are used for the manipulator and carbon fiber tubes are used as the manipulator links to reduce weight. The rotational axes of the manipulator joints are marked with yellow arrows in Figure 2. The manipulator is connected to the climbing mechanism The control cabinet and battery packs of the CMBOT are fixed on the other side of the electromagnet and can balance the weight of the manipulators. A rotating two-dimensional (2D) Light detection and ranging (LIDAR) sensor is mounted on the front of the climbing mechanism to acquire the three-dimensional (3D) characteristics used to plan the motion of the climbing mechanism. The rotating 2D LIDAR sensor, which consists of a servo motor and a 2D LIDAR, can produce a 3D point cloud of the work scene by rotating the 2D LIDAR and fusing the angle information of the servo and 2D point information of the 2D LIDAR [20]. An example of a 3D point cloud acquired by the rotating 2D LIDAR sensor is shown in Figure 4. To achieve stable and accurate walking, the magnetic feet of the CMBOT consist of electromagnet modules, limiting mechanisms, and laser range finders, as shown in Figure 3. Two electromagnet modules are mounted on both ends of the climbing mechanism to ensure the CMBOT climbs on the highest horizontal angle steel bar of the guardrail. There are two laser range finders on the front and back of the electromagnet module to measure the distance between the bottom surfaces of electromagnet modules and the top surfaces of the steel guardrails. According to the distance information, J2 and J4 can adjust their angles to ensure a parallel relationship between the contact surfaces of the electromagnet modules and steel guardrails, and these actions can avoid uneven contact between the contact surfaces. In addition, limiting mechanisms are mounted on the side of both electromagnet modules. Consisting of a driven motor and limiting plate, the limiting mechanism can seize the guardrail when the magnetic feet maintain contact with the upper surface of the guardrail and release the guardrail before the electromagnet modules lift. The main objective of the limiting plate is to reduce the surface clearance between the electromagnet modules and guardrail since the surface clearance has a significant influence on the magnetic force. The control cabinet and battery packs of the CMBOT are fixed on the other side of the electromagnet and can balance the weight of the manipulators. A rotating two-dimensional (2D) Light detection and ranging (LIDAR) sensor is mounted on the front of the climbing mechanism to acquire the three-dimensional (3D) characteristics used to plan the motion of the climbing mechanism. The rotating 2D LIDAR sensor, which consists of a servo motor and a 2D LIDAR, can produce a 3D point cloud of the work scene by rotating the 2D LIDAR and fusing the angle information of the servo and 2D point information of the 2D LIDAR [20]. An example of a 3D point cloud acquired by the rotating 2D LIDAR sensor is shown in Figure 4. Although the CMBOT can move on the guardrail flexibly with the climbing mechanism, the operating mechanism is still needed since the workplace is far beyond the reachable space of the climbing mechanism. Considering the characteristics of steel guardrails and brackets, a 7-Dof series redundant manipulator is used as the operating mechanism of the CMBOT. The redundant degrees of freedom can help the manipulator avoid collision with the guardrails and brackets while operating. Seven rotational joints, numbered from J6 to J12, are used for the manipulator and carbon fiber tubes are used as the manipulator links to reduce weight. The rotational axes of the manipulator joints are marked with yellow arrows in Figure 2. The manipulator is connected to the climbing mechanism Although the CMBOT can move on the guardrail flexibly with the climbing mechanism, the operating mechanism is still needed since the workplace is far beyond the reachable space of the climbing mechanism. Considering the characteristics of steel guardrails and brackets, a 7-Dof series redundant manipulator is used as the operating mechanism of the CMBOT. The redundant degrees of freedom can help the manipulator avoid collision with the guardrails and brackets while operating. Seven rotational joints, numbered from J6 to J12, are used for the manipulator and carbon fiber tubes are used as the manipulator links to reduce weight. The rotational axes of the manipulator joints are marked with yellow arrows in Figure 2. The manipulator is connected to the climbing mechanism through J6, whose rotational axis is collinear with the rotational axis of J3. To ensure the torque of rotational joints is large enough for a 5-kg load, a coreless motor and harmonic reducer are used to form the joint module, as shown in Figure 5. This type of joint structure is so compact and powerful that it can produce an output torque of up to 150 Nm. There is also a rotating 2D LIDAR sensor mounted on the end of the manipulator that is used to construct the 3D scene of operating objects and obstacles before the manipulator begins maintenance tasks.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 5 of 20 through J6, whose rotational axis is collinear with the rotational axis of J3. To ensure the torque of rotational joints is large enough for a 5-kg load, a coreless motor and harmonic reducer are used to form the joint module, as shown in Figure 5. This type of joint structure is so compact and powerful that it can produce an output torque of up to 150 Nm. There is also a rotating 2D LIDAR sensor mounted on the end of the manipulator that is used to construct the 3D scene of operating objects and obstacles before the manipulator begins maintenance tasks.

Control System
At this stage, an operator is still needed to monitor the working state of the CMBOT from the host computer in case of emergency. For a robot consisting of multiple modules such as the CMBOT, the controller of each module must be connected properly. Based on the EtherCAT BUS and CAN BUS, the distributed control architecture has been built for the CMBOT, as shown in Figure 6. A host computer is used as the top controller for human-machine interface and task management. By using the host computer, the operator can send orders such as start-stop operation or types of task to the industrial personal computer (IPC) through wireless Ethernet. Inside the control cabinet, the IPC is the core of the control system. The sensing information processing, motion planning, and actuator control are all implemented by the IPC. The IPC communicates with all 12 joint modules through the EtherCAT BUS, since it is suitable for the real-time control of the DC motor. Two microcontroller units (MCU), MCU1 and MCU2, are used to control the servo motor for the two rotating 2D LIDAR sensors and acquire the 3D point cloud of the work scene by fusing the angle information of the servo and the 2D point information from the 2D LIDAR [21]. The 3D point cloud information of the work scene is sent to the IPC for further processing through the CAN BUS. Using the rotational projection statistics (RoPS) algorithm [22], the IPC can extract the feature information of the steel guardrails and brackets that is used to plan the motion of the CMBOT. MCU3 is mainly used to control the magnetic feet of the CMBOT by acquiring the distance information of the laser range finders through transistor-transistor logic (TTL) and controlling the motors of the limiting mechanism and electromagnet modules through pulse width modulation (PWM). Similar to MCU1 and MCU2, MCU3 communicates with ICP through the CAN BUS.

Control System
At this stage, an operator is still needed to monitor the working state of the CMBOT from the host computer in case of emergency. For a robot consisting of multiple modules such as the CMBOT, the controller of each module must be connected properly. Based on the EtherCAT BUS and CAN BUS, the distributed control architecture has been built for the CMBOT, as shown in Figure 6. A host computer is used as the top controller for human-machine interface and task management. By using the host computer, the operator can send orders such as start-stop operation or types of task to the industrial personal computer (IPC) through wireless Ethernet. Inside the control cabinet, the IPC is the core of the control system. The sensing information processing, motion planning, and actuator control are all implemented by the IPC. The IPC communicates with all 12 joint modules through the EtherCAT BUS, since it is suitable for the real-time control of the DC motor. Two microcontroller units (MCU), MCU1 and MCU2, are used to control the servo motor for the two rotating 2D LIDAR sensors and acquire the 3D point cloud of the work scene by fusing the angle information of the servo and the 2D point information from the 2D LIDAR [21]. The 3D point cloud information of the work scene is sent to the IPC for further processing through the CAN BUS. Using the rotational projection statistics (RoPS) algorithm [22], the IPC can extract the feature information of the steel guardrails and brackets that is used to plan the motion of the CMBOT. MCU3 is mainly used to control the magnetic feet of the CMBOT by acquiring the distance information of the laser range finders through transistor-transistor logic (TTL) and controlling the motors of the limiting mechanism and electromagnet modules through pulse width modulation (PWM). Similar to MCU1 and MCU2, MCU3 communicates with ICP through the CAN BUS. Appl. Sci. 2019, 9, x FOR PEER REVIEW 6 of 20 Figure 6. Schematic diagram of the control system.

Work Process
The main work procedures of the CMBOT are shown in Figure 7. Figure 8 is the work process flowchart of the CMBOT. First, the operator determines tasks and sends them to the IPC of the CMBOT through a host computer. Then, the CMBOT performs the remaining steps by itself until all the tasks are complete. The CMBOT should locate its current position suing the 3D cloud point of the guardrails acquired by the rotating 2D LIDAR sensor in the climbing mechanism. According to the relative position between the CMBOT and the guardrail, the IPC determines the working locations where the manipulator can easily perform the tasks. Then, the CMBOT moves to the nearest working location by the climbing mechanism. The end of the manipulator moves to the designated position after the CMBOT reaches the working location. The rotating 2D LIDAR sensor on the manipulator acquires the 3D point of the working surface to guide the manipulator to perform the tasks with proper tools. If the manipulator has completed the tasks at the current working location, the CMBOT will move to the next working location and the manipulator will repeat the operations mentioned above until all the tasks are complete.

Work Process
The main work procedures of the CMBOT are shown in Figure 7. Figure 8 is the work process flowchart of the CMBOT. First, the operator determines tasks and sends them to the IPC of the CMBOT through a host computer. Then, the CMBOT performs the remaining steps by itself until all the tasks are complete. The CMBOT should locate its current position suing the 3D cloud point of the guardrails acquired by the rotating 2D LIDAR sensor in the climbing mechanism. According to the relative position between the CMBOT and the guardrail, the IPC determines the working locations where the manipulator can easily perform the tasks. Then, the CMBOT moves to the nearest working location by the climbing mechanism. The end of the manipulator moves to the designated position after the CMBOT reaches the working location. The rotating 2D LIDAR sensor on the manipulator acquires the 3D point of the working surface to guide the manipulator to perform the tasks with proper tools. If the manipulator has completed the tasks at the current working location, the CMBOT will move to the next working location and the manipulator will repeat the operations mentioned above until all the tasks are complete.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 6 of 20 Figure 6. Schematic diagram of the control system.

Work Process
The main work procedures of the CMBOT are shown in Figure 7. Figure 8 is the work process flowchart of the CMBOT. First, the operator determines tasks and sends them to the IPC of the CMBOT through a host computer. Then, the CMBOT performs the remaining steps by itself until all the tasks are complete. The CMBOT should locate its current position suing the 3D cloud point of the guardrails acquired by the rotating 2D LIDAR sensor in the climbing mechanism. According to the relative position between the CMBOT and the guardrail, the IPC determines the working locations where the manipulator can easily perform the tasks. Then, the CMBOT moves to the nearest working location by the climbing mechanism. The end of the manipulator moves to the designated position after the CMBOT reaches the working location. The rotating 2D LIDAR sensor on the manipulator acquires the 3D point of the working surface to guide the manipulator to perform the tasks with proper tools. If the manipulator has completed the tasks at the current working location, the CMBOT will move to the next working location and the manipulator will repeat the operations mentioned above until all the tasks are complete.

Motion Planning
According to the work process mentioned above, the climbing mechanism and manipulator should move in sequence, so the motion planning algorithms of the climbing mechanism and manipulator are relatively independent. The aim of climbing locomotion is to move the CMBOT to a proper working location steadily along the guardrail. Therefore, the key of the motion planning algorithm for the climbing mechanism is to ensure the balance and compliance of the motion. Since the workspace of the manipulator is so complex, collision avoidance is more of a concern for the motion planning algorithm of the manipulator.

Motion Planning of the Climbing Mechanism
From Figure 9, the motion of the climbing mechanism is inspired by an inchworm. A single step consists of two phases, the contraction phase and the extension phase. During the extension phase, the rear foot attaches to the surface of the handrail and the front foot extends forward along the designed trajectory until it contacts the surface. At the same time, the manipulator folds up and swings in the opposite direction of the front foot to reduce the flip torque of the rear foot. At the end of the extension phase, both the rear and front feet attach to the handrail, and the manipulator swings back to the vertical position to prepare for the contraction phase. During the contraction phase, the front foot remains in contact with the handrail and the rear foot contracts along a designed trajectory. The manipulator will also act as a counterweight to balance the CMBOT during the contraction phase.

Motion Planning
According to the work process mentioned above, the climbing mechanism and manipulator should move in sequence, so the motion planning algorithms of the climbing mechanism and manipulator are relatively independent. The aim of climbing locomotion is to move the CMBOT to a proper working location steadily along the guardrail. Therefore, the key of the motion planning algorithm for the climbing mechanism is to ensure the balance and compliance of the motion. Since the workspace of the manipulator is so complex, collision avoidance is more of a concern for the motion planning algorithm of the manipulator.

Motion Planning of the Climbing Mechanism
From Figure 9, the motion of the climbing mechanism is inspired by an inchworm. A single step consists of two phases, the contraction phase and the extension phase. During the extension phase, the rear foot attaches to the surface of the handrail and the front foot extends forward along the designed trajectory until it contacts the surface. At the same time, the manipulator folds up and swings in the opposite direction of the front foot to reduce the flip torque of the rear foot. At the end of the extension phase, both the rear and front feet attach to the handrail, and the manipulator swings back to the vertical position to prepare for the contraction phase. During the contraction phase, the front foot remains in contact with the handrail and the rear foot contracts along a designed trajectory. The manipulator will also act as a counterweight to balance the CMBOT during the contraction phase. Appl. Sci. 2019, 9, x FOR PEER REVIEW 8 of 20 The climbing mechanism can be regarded as a 5-Dof manipulator when one of the feet is in contact with the handrail while the other foot is not in contact. Without loss of generality, the extension phase is analyzed in the following. Figure 10 shows the kinematic model of the climbing mechanism which is built using the Denavit-Hartenberg (D-H) convention method [23]. Coordinate (B) is the base coordinate of the climbing mechanism, which is also the workspace coordinate of the climbing mechanism. Coordinate (i) (i = 1, 2, 3, 4, 5, 6) represents the coordinate of Ji. The Z-axis in Figure 10 is defined as the rotation axis of the joints (the Z-axis of J2, J3, J4 are vertical to paper and the positive direction faces outward). The Z-axis of J6, which connects the climbing mechanism, is opposite to the Z-axis with J3. Defined by the D-H method, θi is the rotation angle of Ji. Point P is located at the center of the lower surface of the front foot and can be regarded as the end of the 5-Dof manipulator. The blue trajectory in Figure 10 is the trajectory of point P, and p = (px, py, pz) T is the displacement vector of P that is represented in coordinate (B). In Figure 10, H is the height of the trajectory, S is the displacement of the trajectory along the X-axis, and φy and φz represent the angle the front foot rotates about the Y-axis and Z-axis of coordinate (B). The D-H parameters are shown in Table 1. According to the D-H method, vector p that expresses the position of P relative to coordinate (B) can be represented by the following equation: where, ep = (0 0 0 1) T is the position of point P relative to coordinate (5), and represents the homogenous transformation matrix from {i} to {j} and can be expressed by the following equation: The climbing mechanism can be regarded as a 5-Dof manipulator when one of the feet is in contact with the handrail while the other foot is not in contact. Without loss of generality, the extension phase is analyzed in the following. Figure 10 shows the kinematic model of the climbing mechanism which is built using the Denavit-Hartenberg (D-H) convention method [23]. Coordinate (B) is the base coordinate of the climbing mechanism, which is also the workspace coordinate of the climbing mechanism. Coordinate (i) (i = 1, 2, 3, 4, 5, 6) represents the coordinate of Ji. The Z-axis in Figure 10 is defined as the rotation axis of the joints (the Z-axis of J2, J3, J4 are vertical to paper and the positive direction faces outward). The Z-axis of J6, which connects the climbing mechanism, is opposite to the Z-axis with J3. Defined by the D-H method, θ i is the rotation angle of Ji. Point P is located at the center of the lower surface of the front foot and can be regarded as the end of the 5-Dof manipulator. The blue trajectory in Figure 10 is the trajectory of point P, and p = (p x , p y , p z ) T is the displacement vector of P that is represented in coordinate (B). In Figure 10, H is the height of the trajectory, S is the displacement of the trajectory along the X-axis, and ϕ y and ϕ z represent the angle the front foot rotates about the Y-axis and Z-axis of coordinate (B). The climbing mechanism can be regarded as a 5-Dof manipulator when one of the feet is in contact with the handrail while the other foot is not in contact. Without loss of generality, the extension phase is analyzed in the following. Figure 10 shows the kinematic model of the climbing mechanism which is built using the Denavit-Hartenberg (D-H) convention method [23]. Coordinate (B) is the base coordinate of the climbing mechanism, which is also the workspace coordinate of the climbing mechanism. Coordinate (i) (i = 1, 2, 3, 4, 5, 6) represents the coordinate of Ji. The Z-axis in Figure 10 is defined as the rotation axis of the joints (the Z-axis of J2, J3, J4 are vertical to paper and the positive direction faces outward). The Z-axis of J6, which connects the climbing mechanism, is opposite to the Z-axis with J3. Defined by the D-H method, θi is the rotation angle of Ji. Point P is located at the center of the lower surface of the front foot and can be regarded as the end of the 5-Dof manipulator. The blue trajectory in Figure 10 is the trajectory of point P, and p = (px, py, pz) T is the displacement vector of P that is represented in coordinate (B). In Figure 10, H is the height of the trajectory, S is the displacement of the trajectory along the X-axis, and φy and φz represent the angle the front foot rotates about the Y-axis and Z-axis of coordinate (B). The D-H parameters are shown in Table 1. According to the D-H method, vector p that expresses the position of P relative to coordinate (B) can be represented by the following equation: where, ep = (0 0 0 1) T is the position of point P relative to coordinate (5), and represents the homogenous transformation matrix from {i} to {j} and can be expressed by the following equation: The D-H parameters are shown in Table 1. According to the D-H method, vector p that expresses the position of P relative to coordinate (B) can be represented by the following equation: where, e p = (0 0 0 1) T is the position of point P relative to coordinate (5), and T i j represents the homogenous transformation matrix from {i} to {j} and can be expressed by the following equation: Passing the parameters of Table 1 to Equation (1), p can be expressed explicitly by the following equation: p y = sin(θ 1 )(l 2 cos(θ 2 ) + l 2 cos(θ 2 + θ 3 ) + l 1 sin(θ 2 + θ 3 + θ 4 ); ϕ y and ϕ z can be expressed by the following equation: Inverse kinematics is used to calculate the joints angles when the designed trajectory is given. To prevent collisions between the magnetic modules and the handrail, ϕ y should remain at 0 • during the locomotion. The sum of θ 2 , θ 3 , and θ 4 should be 0 according to Equation (6). Passing this constraint to Equations (3)-(5), the values of θ 1 , θ 3, θ 2 , θ 4 , and θ 5 can be calculated successively as: To prevent the CMBOT from falling, the manipulator rotates along the Z-axis of J6 and acts as a counterweight to balance the CMBOT. From Figure 10, the folded configuration of the manipulator rotates about J6 to reduce the torque about the Y-axis of (B). Point B is the origin of (B), the magnitude of the torque about B due to the gravity of climbing mechanism is given by: where, M is the torque about B, L i is the center of mass of link i, m i is the mass of link i, a L i is the acceleration of point L i , and g is the magnitude of gravity acceleration. Then, the angle of Joint 6 can be calculated as: where, M y represents the torque about the Y-axis of (B), and l e represents the distance between the equivalent center of mass of manipulator E and Y-axis of (B). The trajectories of the magnetic feet also play an important role in motion stability. A low-contact impact trajectory is proposed to reduce the influence of impingement against the handrail of the climbing configuration. Based on the compound cycloid, the proposed trajectory is smooth, so there is not a sudden change in the velocity and acceleration of the trajectory, and both the velocity and acceleration will be equal to 0 when the magnetic feet contact the handrail. The equations of the trajectory are given by: where, ∆p = (∆p x , ∆p y , ∆p z ) T is the relative displacement vector of the trajectory which is represented in (B). In Figure 10, H is the height of the trajectory and S is the displacement of the trajectory along the X-axis. D is the displacement of the trajectory along the Y-axis, which is not shown in Figure 10. t is the time of the motion and T b is the period of the contraction phase and the extension phase.

Motion Planning of the Redundant Manipulator
A 7-Dof redundant manipulator was selected so the redundant degree of freedom can play an important role in avoiding collisions between the manipulator and obstacles. A planning algorithm based on the gradient projection method is proposed in this section. The kinematic model of the manipulator is built using the D-H method, as shown in Figure 11. Coordinate (K) is the base coordinate of the manipulator and coordinate (i) (i = 7, 8,9,10,11,12) represents the coordinate of Ji. The Z-axis in Figure 11 is defined as a rotation axis of joints. Point Q is located on the end of the manipulator and its trajectories are planned according to the tasks. The D-H parameters are shown in Table 2. According to the D-H method, vector q = (q x q y q z ) T , which expresses the position of Q relative to coordinate (K), can be represented by the following equation: q = T K 6 T 6 7 T 7 8 T 8 9 T 9 10 T 10 11 T 11 12 e q , where e q = (0 0 −l 7 1) T is the position of point Q relative to coordinate {12}, T i j represents the homogenous transformation matrix from {i} to {j}.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 10 of 20 acceleration will be equal to 0 when the magnetic feet contact the handrail. The equations of the trajectory are given by: where, Δp = (Δpx, Δpy, Δpz) T is the relative displacement vector of the trajectory which is represented in (B). In Figure 10, H is the height of the trajectory and S is the displacement of the trajectory along the X-axis. D is the displacement of the trajectory along the Y-axis, which is not shown in Figure 10. t is the time of the motion and Tb is the period of the contraction phase and the extension phase.

Motion Planning of the Redundant Manipulator
A 7-Dof redundant manipulator was selected so the redundant degree of freedom can play an important role in avoiding collisions between the manipulator and obstacles. A planning algorithm based on the gradient projection method is proposed in this section. The kinematic model of the manipulator is built using the D-H method, as shown in Figure 11. Coordinate (K) is the base coordinate of the manipulator and coordinate (i) (i = 7, 8,9,10,11,12) represents the coordinate of Ji. The Z-axis in Figure 11 is defined as a rotation axis of joints. Point Q is located on the end of the manipulator and its trajectories are planned according to the tasks. The D-H parameters are shown in Table 2. According to the D-H method, vector q = (qx qy qz) T , which expresses the position of Q relative to coordinate (K), can be represented by the following equation: where eq = (0 0 -l7 1) T is the position of point Q relative to coordinate {12}, Ti j represents the homogenous transformation matrix from {i} to {j}.    According to the mathematical introduction of robotic manipulation [24], the generalized velocity of the end of the manipulator and the angular velocity of the joints are connected as: q z ω x ω y ω z T . The Jacobian matrix J can be calculated according to Equation (12), and the general solution to Equation (13) is given by the following equation [25]: where J ∈ R 7×6 is the pseudoinverse matrix of J and can be denoted as J + = J T J J T −1 . J + v is the minimum norm solution of β, which can guarantee that the manipulator tracks the planned trajectory with a minimum sum of squares of the angular velocity of the joints. I ∈ R 7×7 is the identity matrix. Furthermore, (I − J + J)Z is a homogeneous solution of J + v and can adjust the configuration of the manipulator to meet special demands under the premise of unchanged trajectory. Z is the optimizing index that contains the variable of β. The resultant joint angular velocity can be regarded as a combination of the least solution of the minimum norm and a homogeneous solution created by the action of a projection operator (I − J + J), which describes the redundancy of the system, mapping an arbitrary β into the null space of the transformation. By applying various functions of β to compute vector Z, the manipulator can be reconfigured to achieve a desired secondary criterion under the constraint of the specified end-effector velocity.
In general, if the minimum distance between the manipulator and an obstacle is less than the safety threshold, the danger of collision will increase significantly. To reduce the possibility of collision, the manipulator should move in the opposite direction of obstacles and increase the minimum distance until it exceeds the safety threshold. It is necessary to determine the minimum distance and direction vector between the manipulator and obstacles. However, calculating the minimum distance between the manipulator and obstacles is difficult, since the shapes of the manipulator and obstacles are irregular. To solve this problem, the manipulator and obstacles are simplified as a combination of regular shapes based on their structural characteristics, as shown in Figure 12. The manipulator is simplified as a set of spheres that can cover all surfaces of itself. The climbing mechanism and railway bridge are simplified as a set of cuboids and act as the obstacles to the manipulator. minimum distance between the manipulator and obstacles is difficult, since the shapes of the manipulator and obstacles are irregular. To solve this problem, the manipulator and obstacles are simplified as a combination of regular shapes based on their structural characteristics, as shown in Figure 12. The manipulator is simplified as a set of spheres that can cover all surfaces of itself. The climbing mechanism and railway bridge are simplified as a set of cuboids and act as the obstacles to the manipulator. Since spheres and cuboids are typical convex shapes, the minimum distance between them can be calculated by the Gilbert-Johnson-Keerthi (GJK) algorithm [26]. Unlike many other distance algorithms, the geometry data does not have to be stored in a specific format. Let Ci be labels for ith Since spheres and cuboids are typical convex shapes, the minimum distance between them can be calculated by the Gilbert-Johnson-Keerthi (GJK) algorithm [26]. Unlike many other distance algorithms, the geometry data does not have to be stored in a specific format. Let C i be labels for ith virtual spheres and D j be the labels for jth virtual cuboids. The minimum distance between C i and D j and the closest points in C i and D j can be calculated efficiently based on the GJK algorithm.
The distance between C i and D j is denoted by d ij , and the unit direction vector that points from the closest point in D j to the closet point in C i is denoted by u ij (see Figure 13). virtual spheres and Dj be the labels for jth virtual cuboids. The minimum distance between Ci and Dj and the closest points in Ci and Dj can be calculated efficiently based on the GJK algorithm. The distance between Ci and Dj is denoted by dij, and the unit direction vector that points from the closest point in Dj to the closet point in Ci is denoted by uij (see Figure 13). Let ds be the safety threshold during locomotion. If dij is large enough to avoid the danger of a collision, the manipulator will not execute the obstacle avoidance algorithm. In contrast, if dij is smaller than ds, the manipulator should change configuration to avoid obstacle Dj. In the meantime, the most effective way to avoid the obstacle in this situation is to move Ci away from Dj in the direction of uij. Then, the related velocity can be calculated by: In Equation (15), denotes the escape velocity of sphere Ci in the direction of and denotes the maximum escape velocity. Additionally, the escape velocity will be generated when ≤ and increase to the maximum with the decrease of . If ≠ 0, sphere Ci should escape Di at a speed of until becomes 0. The escape motion should have the following equation: where is the Jacobian of the center of sphere C . If there are ( > 1) pairs of spheres and cuboids whose minimum distances are less than , the related escape velocity and related Jacobian can be renamed and . Then, we can obtain the following matrix equation according to Equation (16): Ci Dj dij uij Figure 13. Schematic diagram of minimum distance between virtual spheres and obstacles.
Let d s be the safety threshold during locomotion. If d ij is large enough to avoid the danger of a collision, the manipulator will not execute the obstacle avoidance algorithm. In contrast, if d ij is smaller than d s , the manipulator should change configuration to avoid obstacle D j . In the meantime, the most effective way to avoid the obstacle in this situation is to move C i away from D j in the direction of u ij . Then, the related velocity can be calculated by: In Equation (15), s ij denotes the escape velocity of sphere C i in the direction of u ij and v max denotes the maximum escape velocity. Additionally, the escape velocity will be generated when d ij ≤ d s and increase to the maximum with the decrease of d ij .
If s ij 0, sphere C i should escape D i at a speed of s ij until s ij becomes 0. The escape motion should have the following equation: where J C i is the Jacobian of the center of sphere C i . If there are k(k > 1) pairs of spheres and cuboids whose minimum distances are less than d s , the related escape velocity and related Jacobian can be renamed s k and J k . Then, we can obtain the following matrix equation according to Equation (16): Let v * represent [s 1 s 2 · · · s k ] T and J * represent [J 1 J 2 · · · J k ] T . Substituting Equation (14) into Equation The solution that increases the minimum obstacle distance is provided by the pseudoinverse, given by: Substituting Equation (16) back into Equation (13) to determine the solution to avoid obstacles and track the end effector at the same time, the following equation is obtained: Each term in Equation (17) has an explicit physical interpretation. J + v can guarantee the end of the manipulator tracks the desired trajectory with the minimum joint velocity norm.
is used to transform the desired motion of spheres from Cartesian space to the joint space using the pseudoinverse. v * − J * J + v describes the desired velocity of spheres, and v * is the escape velocity, which is calculated based on the minimum distance. J * J + v is the velocity as a result of satisfying the end effector velocity constraint.

Experiments
To verify the effectiveness of the proposed robotic system and related motion planning algorithms, a series of simulations and experiments with the CMBOT were conducted. As shown in Figure 14, a robot motion simulation system for the CMBOT was developed to examine the robot trajectories for obvious problems before the trajectories are transferred to the actual robot system, thus ensuring the safety of the robot motion. The motion planning algorithms of the climbing mechanism and manipulator were simulated using the proposed simulation software.
Appl. Sci. 2019, 9, x FOR PEER REVIEW 13 of 20 ) * (I − ) is used to transform the desired motion of spheres from Cartesian space to the joint space using the pseudoinverse. * − * describes the desired velocity of spheres, and * is the escape velocity, which is calculated based on the minimum distance. * is the velocity as a result of satisfying the end effector velocity constraint.

Experiments
To verify the effectiveness of the proposed robotic system and related motion planning algorithms, a series of simulations and experiments with the CMBOT were conducted. As shown in Figure 14, a robot motion simulation system for the CMBOT was developed to examine the robot trajectories for obvious problems before the trajectories are transferred to the actual robot system, thus ensuring the safety of the robot motion. The motion planning algorithms of the climbing mechanism and manipulator were simulated using the proposed simulation software. When planning the motion of the climbing mechanism, the following foot trajectory parameters were selected: S = 240 mm, H = 50 mm, D = 0, Tb = 10 s, φy = 0, φz = 0. According to Equation (8), the curves of displacement, velocity, and acceleration of the low-contact impact trajectory during the extension phase are shown in Figure 15. As shown in Figure 15, the proposed trajectory is smooth so there is not a sudden change in the velocity or acceleration of the trajectory, and both the velocity and acceleration will be equal to 0 when the magnetic feet contact the handrail. This is very important for reducing the impact when the magnetic feet contact the handrail. The joint angles of the climbing When planning the motion of the climbing mechanism, the following foot trajectory parameters were selected: S = 240 mm, H = 50 mm, D = 0, T b = 10 s, ϕ y = 0, ϕ z = 0. According to Equation (8), the curves of displacement, velocity, and acceleration of the low-contact impact trajectory during the extension phase are shown in Figure 15. As shown in Figure 15, the proposed trajectory is smooth so there is not a sudden change in the velocity or acceleration of the trajectory, and both the velocity and acceleration will be equal to 0 when the magnetic feet contact the handrail. This is very important for reducing the impact when the magnetic feet contact the handrail. The joint angles of the climbing mechanism during the motion are shown in Figure 16. When planning the motion of the climbing mechanism, the following foot trajectory parameters were selected: S = 240 mm, H = 50 mm, D = 0, Tb = 10 s, φy = 0, φz = 0. According to Equation (8), the curves of displacement, velocity, and acceleration of the low-contact impact trajectory during the extension phase are shown in Figure 15. As shown in Figure 15, the proposed trajectory is smooth so there is not a sudden change in the velocity or acceleration of the trajectory, and both the velocity and acceleration will be equal to 0 when the magnetic feet contact the handrail. This is very important for reducing the impact when the magnetic feet contact the handrail. The joint angles of the climbing mechanism during the motion are shown in Figure 16.  The proposed motion planning algorithm of the redundant manipulator was also verified in the simulation. One of the most commonly used trajectories will be shown in the simulation. The end of the manipulator will track this selected trajectory from the start point to the side of the bracket. The position and pose angle of the end of the manipulator at the start point is (0 mm, 820 mm, −2790 mm, 0°, 0°, −90°) T in coordinate (6). The simulation will last 20 s, and equations of the desired trajectory can be calculated by: According to Equations (21)(22)(23)(24)(25)(26), the curves of position and pose angle of the end of the manipulator in the simulation are shown in Figures 17 and 18. In the first 5 s of the simulation, the end of the manipulator move forms the start point to working position along the spatial curve, and then move along a straight line at the root of the bracket. The proposed motion planning algorithm of the redundant manipulator was also verified in the simulation. One of the most commonly used trajectories will be shown in the simulation. The end of the manipulator will track this selected trajectory from the start point to the side of the bracket. The position and pose angle of the end of the manipulator at the start point is (0 mm, 820 mm, −2790 mm, 0 • , 0 • , −90 • ) T in coordinate (6). The simulation will last 20 s, and equations of the desired trajectory can be calculated by: . . .
ω y = 28.8t, 0 ≤ t < 5 0, 5 ≤ t < 20 (25) ω z = 28.8t, 0 ≤ t < 5 0, 5 ≤ t < 20 (26) According to Equations (21)- (26), the curves of position and pose angle of the end of the manipulator in the simulation are shown in Figures 17 and 18. In the first 5 s of the simulation, the end of the manipulator move forms the start point to working position along the spatial curve, and then move along a straight line at the root of the bracket. ω x = 0, 5 ≤ < 20 (24) ω y = 28.8 , 0 ≤ < 5 0, 5 ≤ < 20 (25) ω z = 28.8 , 0 ≤ < 5 0, 5 ≤ < 20 (26) According to Equations (21)(22)(23)(24)(25)(26), the curves of position and pose angle of the end of the manipulator in the simulation are shown in Figures 17 and 18. In the first 5 s of the simulation, the end of the manipulator move forms the start point to working position along the spatial curve, and then move along a straight line at the root of the bracket.  The information of the environment should be acquired before we calculate the joint angles of the redundant by the proposed motion planning algorithm. Firstly, with the help of the long manipulator, the LIDAR sensor on the manipulator can scan the working surfaces from some certain positions where it is far enough from the obstacles of the railway bridge. The 3D point data will be transformed into coordinate (6) (i.e., the base of the manipulator) according to the manipulator configuration. Then 3D point cloud from different visual angles will be combined to obtain more complete information about the bridge. The combined 3D point data needs to be filtered to remove clutter and make the data be distributed evenly before further processing. Figure 19 shows the processed 3D point cloud of the railway bridge. Though we have acquired the standard 3D model of bridge construction drawings, it is very time-consuming and inefficient to match the standard 3D model of bridge with the obtained 3D point cloud. Five sub models were extracted from the standard 3D model of bridge, and the coordinate origins of the models were denoted as feature points (FP), as shown in Figure 20. The distribution of the 3D point cloud in the sub model is unique and can be recognized easily. Then, we recognized the sub models in the obtained 3D point cloud by using the rotational projection statistics (RoPS) algorithm [22], the results are the position vectors of the feature points in coordinate (6). The feature points construct the skeleton of the railway bridge in the coordinate system of the obtained 3D point cloud, and the boxes surfaces envelope the skeleton to form the simplified model of the railway bridge. The information of the environment should be acquired before we calculate the joint angles of the redundant by the proposed motion planning algorithm. Firstly, with the help of the long manipulator, the LIDAR sensor on the manipulator can scan the working surfaces from some certain positions where it is far enough from the obstacles of the railway bridge. The 3D point data will be transformed into coordinate (6) (i.e., the base of the manipulator) according to the manipulator configuration. Then 3D point cloud from different visual angles will be combined to obtain more complete information about the bridge. The combined 3D point data needs to be filtered to remove clutter and make the data be distributed evenly before further processing. Figure 19 shows the processed 3D point cloud of the railway bridge. Though we have acquired the standard 3D model of bridge construction drawings, it is very time-consuming and inefficient to match the standard 3D model of bridge with the obtained 3D point cloud. Five sub models were extracted from the standard 3D model of bridge, and the coordinate origins of the models were denoted as feature points (FP), as shown in Figure 20. The distribution of the 3D point cloud in the sub model is unique and can be recognized easily. Then, we recognized the sub models in the obtained 3D point cloud by using the rotational projection statistics (RoPS) algorithm [22], the results are the position vectors of the feature points in coordinate (6). The feature points construct the skeleton of the railway bridge in the coordinate system of the obtained 3D point cloud, and the boxes surfaces envelope the skeleton to form the simplified model of the railway bridge. recognized easily. Then, we recognized the sub models in the obtained 3D point cloud by using the rotational projection statistics (RoPS) algorithm [22], the results are the position vectors of the feature points in coordinate (6). The feature points construct the skeleton of the railway bridge in the coordinate system of the obtained 3D point cloud, and the boxes surfaces envelope the skeleton to form the simplified model of the railway bridge.   Figure 21 shows the schematic diagram of the motion during the simulation. In the figure, the boxes represent obstacles such as the handrail and bracket of the railway bridge, the cluster of blue straight-line segments denote the manipulator links, the red curve with circles denotes the trajectory of the end of the manipulator. As shown in the figure, using the proposed motion planning algorithm, the end of the manipulator can move with the designed trajectory without colliding with any of the obstacles. The joint angles of the redundant manipulator during the motion are shown in Figure 22.   Figure 21 shows the schematic diagram of the motion during the simulation. In the figure, the boxes represent obstacles such as the handrail and bracket of the railway bridge, the cluster of blue straight-line segments denote the manipulator links, the red curve with circles denotes the trajectory of the end of the manipulator. As shown in the figure, using the proposed motion planning algorithm, the end of the manipulator can move with the designed trajectory without colliding with any of the obstacles. The joint angles of the redundant manipulator during the motion are shown in Figure 22.  Figure 21 shows the schematic diagram of the motion during the simulation. In the figure, the boxes represent obstacles such as the handrail and bracket of the railway bridge, the cluster of blue straight-line segments denote the manipulator links, the red curve with circles denotes the trajectory of the end of the manipulator. As shown in the figure, using the proposed motion planning algorithm, the end of the manipulator can move with the designed trajectory without colliding with any of the obstacles. The joint angles of the redundant manipulator during the motion are shown in Figure 22.    The movement must be checked by the simulation system before the robot starts to work. If some part of the manipulator is too close to an obstacle in the simulation, the operator will adjust the position the base of the manipulator by the climbing mechanism. We must ensure safety before any The movement must be checked by the simulation system before the robot starts to work. If some part of the manipulator is too close to an obstacle in the simulation, the operator will adjust the position the base of the manipulator by the climbing mechanism. We must ensure safety before any operation is carried out. After a series of simulations, the proposed motion planning algorithms were tested on a prototype. The prototype of the CMBOT was built based on the design analysis mentioned above, and an indoor experiment platform with the same structure as the railway bridge was constructed. The joint angles of the climbing mechanism in the experiment are shown in Figure 23. It can be seen from Figures 16 and 23 that the expected and actual angles are basically consistent. Snapshots of the extension phase of the climbing mechanism experiment are shown in Figure 24. The rear foot of the climbing mechanism attaches to the surface of the handrail and the front foot extends forward along the designed trajectory until it contacts the surface. At the same time, the manipulator folds up and swings in the opposite direction of the front foot to reduce the flip torque of the rear foot. At the end of the extension phase, both the rear and front feet are attached to the handrail, the manipulator swings back to the vertical position to prepare for the contraction phase. Figure 25 shows joint angles of the redundant manipulator in the experiment. It can be seen from Figures 22 and 25 that the expected and actual angles of the redundant manipulator are also basically consistent. We can conclude from the results that the torque and control precision of the proposed joint modules are good enough to apply for the CMBOT. Snapshots of the redundant manipulator experiment are shown in Figure 26. The end of the redundant manipulator moved along the designed trajectory. Considering there should be a certain distance between the maintenance tools and the maintenance surfaces, the distance was set to 20 cm in the experiment. Snapshots of the maintenance experiment are shown in Figure 26. operation is carried out. After a series of simulations, the proposed motion planning algorithms were tested on a prototype. The prototype of the CMBOT was built based on the design analysis mentioned above, and an indoor experiment platform with the same structure as the railway bridge was constructed. The joint angles of the climbing mechanism in the experiment are shown in Figure 23. It can be seen from Figure 16 and Figure 23 that the expected and actual angles are basically consistent. Snapshots of the extension phase of the climbing mechanism experiment are shown in Figure 24. The rear foot of the climbing mechanism attaches to the surface of the handrail and the front foot extends forward along the designed trajectory until it contacts the surface. At the same time, the manipulator folds up and swings in the opposite direction of the front foot to reduce the flip torque of the rear foot. At the end of the extension phase, both the rear and front feet are attached to the handrail, the manipulator swings back to the vertical position to prepare for the contraction phase.     Figure 25 shows joint angles of the redundant manipulator in the experiment. It can be seen from Figures 22 and 25 that the expected and actual angles of the redundant manipulator are also basically consistent. We can conclude from the results that the torque and control precision of the proposed joint modules are good enough to apply for the CMBOT. Snapshots of the redundant manipulator experiment are shown in Figure 26. The end of the redundant manipulator moved along the designed trajectory. Considering there should be a certain distance between the maintenance tools and the maintenance surfaces, the distance was set to 20 cm in the experiment. Snapshots of the maintenance experiment are shown in Figure 26.

Discussion and Conclusions
Based on the analysis of the inspection and maintenance tasks of railway bridges, a robot named CMBOT was proposed in this paper. The CMBOT consists of a 5-Dof biped climbing mechanism and a 7-Dof series redundant manipulator. The mechanical configuration and control system of the

Discussion and Conclusions
Based on the analysis of the inspection and maintenance tasks of railway bridges, a robot named CMBOT was proposed in this paper. The CMBOT consists of a 5-Dof biped climbing mechanism and a 7-Dof series redundant manipulator. The mechanical configuration and control system of the

Discussion and Conclusions
Based on the analysis of the inspection and maintenance tasks of railway bridges, a robot named CMBOT was proposed in this paper. The CMBOT consists of a 5-Dof biped climbing mechanism and a 7-Dof series redundant manipulator. The mechanical configuration and control system of the CMBOT were introduced in this paper. Due to the novel mechanical configuration, the CMBOT has a superior manipulation function to other existing climbing robots. Moreover, the CMBOT has great potential to be applied to other infrastructure by simply modifying the adhesion method and manipulation tools. The motion planning algorithms of the climbing mechanism and the redundant manipulator were also introduced. The aim of the motion planning algorithm of the climbing mechanism is to ensure the balance and compliance of the motion. Collision avoidance is more of a concern for the motion planning algorithm of the manipulator. The simulation and prototype experiments were used to verify the effectiveness of the proposed robotic system and related motion planning algorithms.
There is some remaining work before the CMBOT can be applied to an actual railway bridge. For example, maintenance tools such as a spray nozzle and rust cleaning laser will be mounted on the redundant manipulator and experiments and analysis of the maintenance effect of CMBOT will be performed using the experiment platform.