Abstract
1. Introduction
The

Robonaut2 in ISS
The ISS was constructed by many hours of human extravehicular activities rather than space robots. The Shuttle Remote Manipulator System (SRMS, Canadarm) and the Space Station Remote Manipulator System (SSRMS, Canadarm2) assisted in the construction [2–4]. The on-going construction of the ISS and the development of future space stations, such as the China Space Station, will require significant efforts in assembly, repairs and monitoring work for astronauts. However, the work efficiency of astronauts is compromised due to the harsh environment of space. Factors such as strong radiation, a vacuum, microgravity and extreme temperature variations create significant challenges to work duration times, cost efficiency and worker safety. Therefore, the improvement of space robotics to assist or even replace astronauts to carry out assembly, repair and monitoring tasks has become a main focus of space technology development. Robonaut2 is a humanoid robot designed by the Robotic Systems Technology Branch of the Johnson Space Center of NASA in collaboration with the Defense Advanced Research Projects Agency (DARPA) [5–12]. Robonaut2 was sent to the ISS to participate in experiments that focused on assisting astronauts in performing space tasks. Robonaut2 can reduce the burden placed on astronauts during extravehicular activity and planetary exploration; it can also serve in rapid response capacities.
At present, space robots are predominantly used to assist astronauts and ground operators to complete space station docking, equipment installation, space-based science experiments, space cabin inspection and maintenance and other related tasks. However, an increase in space exploration increases the need for more capable space robots. The use of more advanced space robots increases the range of tasks that can be performed. Furthermore, space robots could replace astronauts in the execution of space tasks and thereby reduce the associated burden and risks. In general, advances in space robotics can improve general efficiency and even enable unmanned and automatic space operation.
This paper presents a humanoid space robot (Figure 2). The space robot has two arms that use a binocular vision system with each arm having seven degrees-of-freedom (DOFs), a head with two DOFs and two legs.

Humanoid space robot
An experimental platform was proposed to simulate the climbing movement of astronauts on a space station. The experimental platform employed a gravity-compensation mechanism and a set of wireless control systems. The gravity-compensation mechanism used climbing rods to simulate a space microgravity environment. The space robot was attached to the equipment with chains, enabling vision-based climbing similar to that of an astronaut on a space station.
2. Space robot system description
Figure 3 shows the motion of an astronaut on the external surface of the ISS. The astronaut uses rods affixed to the surface of the station to assist with climbing. This paper presents a space robot system based on this motion in order to simulate the climbing movements of an astronaut.

Motion of an astronaut on ISS
2.1 Space robot description
The humanoid space robot consists of a head that utilizes a binocular vision system, two arms and a trunk (Figure 4). It has 16 DOFs; the head has two DOFs and each arm, including the hands, has seven DOFs.

Humanoid space robot
A binocular stereovision system was built into the head of the robot. In order to ensure wide coverage of the vision system, the vision platform of the space robot head was designed with two DOFs. A Permanent Magnet Synchronous Motor (PMSM) and a harmonic reducer were used to drive the DOFs; these ensure that the cameras move accurately and smoothly to the desired targets.
Each robot arm was designed with six DOFs. This design ensured that the robot could reach the target from any position within the dexterous workspace of the arm and also undertake climbing tasks. The axes of the arm joints used a parallel design and intersected at one point. This design maximizes inverse kinematics analysis for the robot arm and simple trajectory planning.
The hands were designed with just one DOF. This was cost efficient and provided easy control for the opening and closing motion needed to firmly grab the climbing rod.
The position of the climbing rod was calculated using the binocular stereovision system of the robot. The robot then alternated between both hands to grab the climbing rod, thereby simulating an astronaut climbing on a space station.
2.2 Space robot control system
A distributed control architecture using a CAN communication bus was adopted for the space robot. Figure 5 shows the space robot control system.

Space climbing robot control system
The space robot control system consisted of a wireless programmable controller, a central controller, a vision data processor and a power supply administration (Figure 5). The PC-based wireless programmable controller sent task and protection instructions to the central controller. In return, it received feedback data such as joint positions, speeds and torques. The central controller performed system control such as vision-based path planning and Force and Position Hybrid Control. The vision data processor performed vision information acquisition for robot navigation. The power supply administration monitored and protected the power supply system.
2.3 Microgravity simulation system
Gravity-compensation equipment was necessary to conduct the space robot research. Various schemes have been employed to compensate for the gravity of earth, including the air flotation method, hanging wire method and buoyancy method [13]. However, these methods are expensive and complex. The air flotation method is both expensive and complex; and it can only conduct two-dimensional testing. The hanging wire method is complex and cannot readily achieve real-time control. The buoyancy method has robot sealing and tension requirements that are difficult to achieve for testing. Therefore, this paper proposes a passive mechanism to simulate a microgravity environment for humanoid space robot research. The microgravity simulation system is composed of three main parts: the horizontal tuning mechanism, the motion mechanism and the gravity-compensation mechanism (Figure 6).

Microgravity simulation system
2.3.1 Horizontal tuning mechanism
A true horizontal plane is an important part of a microgravity simulating system, therefore, a horizontal tuning mechanism was designed based on the “three points define a plane” theory. This mechanism eliminated planar errors caused by manufacturing deficiencies and non-horizontal ground surfaces. The horizontal tuning mechanism consisted of a rough-tuning mechanism and a fine-tuning mechanism (Figure 7). The rough-tuning mechanism was composed of four machined pad-irons that were used to overcome the non-horizontal ground surface errors. The pad-irons were placed under each of the four corners of the lower platform and then individually height-adjusted to achieve a horizontal plane. The fine-tuning mechanism consisted of three parts: a fine-tuning lower platform, a fine-tuning upper platform and a fine-tuning screw thread mechanism. The screw thread mechanism compensated for manufacturing errors. Based on the “three points define a plane” theory, six fine-tuning mechanisms were designed to compensate for flatness errors in the upper and lower platforms.

Fine-tuning mechanism
The fine-tuning screw thread mechanism included three fine-tuning screws and six fine-tuning nuts, which could be adjusted and fixed to regulate the position and direction of the upper platform in order to achieve a horizontal plane. The fine-tuning screw thread mechanism included three fine-tuning screws, six fine-tuning nuts and six spherical shims. The distance between the upper and lower platforms could be tuned by rotating two nuts. Two spherical shims were used to ensure that the nuts were still capable of fixing the position of the upper platform when the screws were not vertical to it.
2.3.2 Motion mechanism
The smooth movement of the robot within the system is necessary for simulating microgravity. In order to ensure this smooth movement, a motion mechanism with minimal friction was designed. The motion mechanism included three parts: a passive tuning mechanism in the X direction, a passive tuning mechanism in the Y direction and a supporting board (Figure 8).

Motion mechanism
The passive tuning mechanisms in the X and Y directions were both composed of two linear lead rails and four ball sliders. The friction coefficient between the lead rails and slide blocks was 0.002˜0.003. There was little difference between the static and dynamic friction, which provided the advantage of high-precision positioning and good reproducibility. Despite the minimal feed movement, the rolling movement mode along the linear lead rails ensured there was no slipping phenomenon. The lead rails in the X direction were mounted on the slide block in the Y direction. The supporting board was mounted on the slide block in the X direction in order to ensure smooth passive slipping in both the X and Y directions.
2.3.3 Gravity-compensation mechanism
A. Active gravity-compensation mechanism
The active gravity-compensation mechanism in the

Gravity-compensation mechanism

Relationship between
The force,
B. Active tuning mechanism
The active tuning mechanism through pitch and deflection was composed of an upper supporting platform, three line-driving devices, a middle stationary rod, three hanger lines and a lower supporting platform (Figure 9 ②).
The middle stationary rod connected through the ball joints with the lower supporting platform, which connected with the humanoid robot. Therefore, the rod did not cause any change to the attitude of the humanoid robot. The middle stationary rod transmitted the horizontal force experienced by the humanoid robot to the motion mechanism to ensure normal operation. It also transmitted the force in the
Three pairs of line-driving devices were each equipped with pulling force sensors to measure the tension force of each hanger line. There were gyros and joint position controllers on the humanoid robot. Based on the position of the humanoid robot, the tension force of each hanger line could be calculated at any time. This calculation was then used by the line-driving device to adjust the length of each hanger line according to differences in attitude change of the humanoid robot.
C. Rotational passive tuning mechanism
The rotational passive tuning mechanism connected the active gravity-compensation mechanism in the Z direction and the active tuning mechanism (Figure 9 ③). The thrust bearing ensured that the humanoid robot rotated in the direction of the momentum exerted on it.
The adjustable dip angle was an important element of the fine-tuning mechanism. Specific analysis was given to this element because it was the basis for deciding parameters of the fine-tuning mechanism and the maximum dip angle.
Figure 11 shows the adjustable dip angle arrangement. Here,

Adjustable dip angle of the fine-tuning mechanism
When the adjustable dip angle reaches the maximum value for
where

Influence of Parameters on the adjustable dip angle
Figure 12 shows that for increasing values of
3. Hybrid force and position control based on the robot and joint dynamics model
In order to move smoothly, the robot was connected to the gravity-compensation mechanism by four flexible chains. However, the robot easily generated vibrations when moving and the joint payloads had a large range of change during the climbing motion. There were two kinds of vibrations that seriously affected the arrangement. One kind was a back-and-forth vibration that occurred when both arms simultaneously grasped the rod. The other kind was a deflection vibration that occurred when only one arm grasped the rod. Therefore, the dynamics model should be employed to address vibrations and a hybrid position/force control method should be used to stabilize the robot during movement.
3.1 Necessity of hybrid force and position control
When the robot was moving forward using both arms, the chains pulled the slide block to overcome the friction necessary for forward movement. There was a force,

Forces on the robot during motion
When the slide block started moving, there was a sudden change in acceleration and the slide block moved with forward acceleration because of the small size of the dynamic friction compared to the static friction. Additionally, the velocity of the robot and board was different, thereby reducing the angle

Deflection vibration caused by a change in the motion mode
Therefore, a dynamics model based on a hybrid force and position method is presented to control and reduce the vibrations that occur when stabilizing the robot and protecting the joints.
3.2 Hybrid force and position control method
This paper proposes a hybrid force/position control method based on the dynamics model of a space robot and its joints. The main advantages of this method are the control of joint torque in real-time and the reduction of inertia and friction influences because of the system. The main purpose of the hybrid force/position control is to ensure robot compliance using the six-dimensional force sensor. In practice, the control ensures both arms of the robot only experience forces in the direction of movement, thereby creating stability during movement.
The space robot is treated as a rigid body because both arms are short and their rigidity is high. As such, the Newton-Euler method can be used to obtain the dynamics model of the space robot. In general, there are two parts of the dynamics model: one part employs an extrapolation method to model speed and acceleration of connecting-rods from 1th to nth and the other part models forces and torques among the connecting-rods and robot joints with an interpolation method from nth to 1st. Every joint in the space robot is a rotary joint, therefore, the dynamics model can be written as Equation (3) and (4).
Figure 15 shows the calculation of the dynamics model for the space robot.

Calculation flow chart of the dynamics model
Where
A motion-based calculation was used for the output torques of the six joints in one arm under the dynamics model (Figure 16).

Output torques of six joints of one arm
Now, the dynamics model of the space robot can be written into Equation (5) in the joint coordinate system.
Where
Now, the system dynamics control model based on the space robot and its joints can be written into Equation (6)
Where
Where
Figure 17 shows that

Hybrid force and position method
4. Vision-based and minimal joint-torque path planning
4.1 Vision-based path planning
A. Vision orientation solution
Binocular cameras were selected and equipped onto the robot head. Camera calibration was necessary for the vision orientation solution and included both external and internal parameter calibrations. Typically, internal parameter calibration is completed first because light coming through the lens can cause refraction that leads to errors. Next, external parameter calibration is completed to ensure the relative position of the two cameras.
The relationship between the camera coordinates and world coordinates can be written into Equation (7) in the pinhole model.
Where
Where
The coordinates of the left camera are defined as world coordinates and the matrices of the left and right cameras are written into Equation (11).
Given that
B. Vision-based navigation for the space robot
The path planning for the robot is divided into different steps (Figure 18).

Motion mode of the space robot
The kinematic parameters of the space robot (including joint angle

Necessity of vision-based self-calibration
A position detection device determined the nominal twist angles
Where
From Equation (13), we can obtain Equation (15).
The variables of Equation (13) are the kinematic parameter errors of the space robot. These variables are Δ
Where c is a vector composed of Δ
The primary quasi-Newton method is presented to calculate the kinematic parameter errors because Equation (16) includes complex nonlinear equations and therefore an analytical solution is difficult to obtain.
4.2 Minimal joint-torque path planning
A space robot is different from a ground-based robot. A small mass size is a major objective for space robots due to the difficulties associated with launching robots into space. An increase in the robot mass will require an increase in the output torque. Therefore, this paper proposes a method to decrease the mass of the space robot, thereby providing a method for minimizing joint-torque path planning (Figure 20).

Processing of minimizing joint-torque path planning
The purpose of minimal joint-torque path planning is to select a possible trajectory based on function. Equation (17) provides:
After selecting a possible trajectory, inverse kinematics were used to generate solutions for the joint angles. Next, each joint torque was obtained from the dynamics model. Finally, the possible trajectory was validated by equation (1). If the trajectory validation was successful, then it was deemed appropriate and therefore selected.
5. Experiments and discussion
5.1 Vision orientation experiment
5.1.1 Calibration error experiment
An immovable value can compensate for the absolute error of the position between the visual target and the camera. Therefore, only the image information of the target captured by both cameras needs to be analysed. Figure 21 shows images of the same target captured by both cameras. Figure 21 (a) and (b) were captured by the left and right cameras, respectively.

Same target captured by both cameras
The calibration results were validated by calculating the distances between points 1 and 2, and points 3 and 4. These two distances were then directly measured on the calibration board. The error was less than 2mm; as such, the calibration result may be treated as correct.
Experimental results of calibration (mm)
5.1.2 Central point error experiment
The central point error is a direct standard used to estimate the performance of a vision system. Two cameras captured images of the same target (Figure 22).

Same target captured by both cameras
Table 2 shows a comparison of the coordinates that were directly measured and calculated by the vision system. The comparison shows that the precision of the vision system satisfied the requirements. It also shows that the calculated distance between the two rods was 208mm compared to the actual distance of 213mm. As such, the error between the actual and calculated distances was approximately 5mm.
Experimental results of the central point error (mm)
5.2 Climbing astronaut simulation experiment
Figure 23 and 24 show that the methods presented in this paper enabled a space robot to stably climb backwards and forwards, and left and right, with gravity-compensation equipment.

Robot climbing backwards and forwards

Robot climbing left and right
Figure 25 shows the position curves of joint 1, 4 and 6 of one arm. Here, the climbing motion of the robot was backwards and forwards. Joint 2, 3 and 5 are not shown because they were unchanged during this kind of motion. Figure 26 shows the position curve of each joint of one arm. Here the climbing motion of the robot was left and right. The curves of the right arm are not shown because they were similar to the left arm.

Joint positions of the left arm
Figure 25 and 26 show that the angle change for each joint is even and steady. There were no ‘jumps' when the vision navigation and control methods presented in this paper were used by the robot for climbing.

Joint position curves of left arm
It could be seen from Figure 27 and 28, the angle changing of each joint is even, steady and without any jump when the robot climbed based vision navigation with presented control methods.

End-effector trajectory when have errors in twist angles

End-effector trajectory vision-based self-calibration
As shown in Figure 27, when there are errors in the twist angles of robot arms, the robot arms can grasp the target of the rod with the guide of the camera, however, the gripping trajectory cannot be controlled and the robot arms could collide with obstacles and the target in the process of gripping.
As shown in Figure 28, using a vision-based self-calibration method, the kinematic parameters of the space robot were calibrated online and the robot arms gripped the rods in the expected trajectory. The method can ensure the space robot continues to work with high precision even when the arms deform and greatly improve the reliability of the space robot.

Joint torque without minimal-torque path planning

Joint torque with minimal-torque path planning
5.3 Discussion of Failure Modes and Future work
During lots of experimental tests, the robot could generally move stably based on its body's vision, but sometimes the robot would fail to move stably for some reason. First, when faults occurred in the control communication bus of CAN, the robot would just stop without updating the joints' and rungs' positions. Second, when there was a fault of more than a 15mm vision orientation error when the light environment changed by a large margin, the robot would miss the target of the rod to grip, so robot failed to move in time.
Therefore, in the future, lots of effort should aim to improve the performance of the communication bus of CAN, and more advanced methods of vision orientation will be studied so that the robot could move in unstructured environment, including unchangeable light and unknown places.
6. Conclusion
This paper presented a kind of space robot system based on a binocular stereovision system. It also presented a design for gravity-compensation equipment to simulate an astronaut moving in space. The main conclusions were as follows.
A humanoid space robot system was designed and implemented. The robot and gravity-compensation equipment employed by this system was successfully able to simulate movement in space.
A humanoid robot was designed with a vision-based self-calibration and navigation system. Also, a path planning method was proposed to minimize joint torque. This design and method enabled the robot to move automatically using two arms.
A hybrid force and position control method was proposed. This control method was based on the system dynamics model with a particular focus on joint dynamics. Experimental evidence demonstrated that this method successfully stabilized the climbing movement of the robot.
