The subsystem level implementation of the cyber-physical architecture (Figure 6.1) has been elaborated below.
1. ABB Robot Arm
The ABB robot arm is one of the major components to be used in this system. The robot arm would be controlled by the IPR5 controller and be equipped with position sensors which would send the position of the end effector to the access terminal/computer. The movement of the ABB robot arm can be simulated in RobotStudio to check collisions and joint limits to make sure the efficient and safe movements.
2. 3D Calibration Target
The 3D calibration target would be used for the geometric calibration. Each surface of the target will be identified by the specific april tag. The target will be mounted on the ABB robot arm and the motion of this target would be controlled by the robot arm, which would send the position of the target back to the computer to trigger the cameras to capture images.
3. Digital Cameras
Digital cameras are the test equipments we are using. They would be used to capture original images and passed through all the different calibration process including geometry calibration, sensor noise correction and color calibration.
4. IPR5 Controller
The IPR5 Controller is used to control the ABB robot arm. After we complete the simulation in RobotStudio and generate the valid and optimized path, we will pass the path to the controller and make the ABB robot arm go through the pre-designed trajectory following a specified type of movement.
5. RobotStudio Simulation
The RobotStudio simulation system is used to test the different type of robot movement and make sure all the positions along the robot trajectory are safe and valid. Matlab Interface can be used to generate the RAPID code which can be used to simulate the system. In the simulation, we would check the joint limit of the ABB robot arm and whether there would be collisions. It could save us tons of time to work on the real robot and it is perfectly interfaced with the real ABB robot arm.
6. Synthetic Image Generation
The virtual environment is being modeled in an open source platform: Blender 3D 7.68a. It is a Maya based platform and is programmable by Python 3 and CPP-17. Custom scripts using the aforementioned languages can be utilized to manipulate the data blocks inside Blender 3D and run different calibration tests in different virtual scenes.