Robot arm

The most important part of our project is the robotic arm. This arm should be able to push buttons in the elevator for visitors. We chose to model the mechanical structure because we were unsure if the motors we purchased would be strong enough to support the structure. This was a critical aspect, and we could not move forward without verifying the function. We chose the control wiring and code as a prototype as no one in my group had worked with the control setup for a stepper motor before. This meant working with components that no one in the group had worked with before. To get our prototypes fitted into the big picture, we still need to add some connections. We need to measure the height of the button and drive the robot into the elevator to find out the degree of maneuverability. And then, we need a rod that is long enough to make our robotic arm be able to reach the button. In addition, we needed to modify the rotation rate of motors to make sure the arm was strong enough to touch the button. Also, we might have needed another motor to lift the camera, since the motor might not have been strong enough to lift the arm and the camera together. Besides, the arm will have to be mounted on the robot in a robust way. At this point, we are unsure how to mount it, as well as where it will be mounted. The control code/wires will need to be interfaced to the existing robot control. The prototype used an Arduino as the control, but the robot uses a Raspberry PI. We will need to transfer the control logic to the Raspberry PI.


Converter box

We chose the 24-12V and 24-5V converter box as one of the prototypes because this is a critical aspect in upgrading the robot’s capabilities. We needed to make an interface that allows future projects on the robot to be easily connected to power. Doing this required some cleverness and multiple iterations. In the end we decided to go with an interface that allowed for a series of connections using banana clips and plugs. It would be connected to the 24V battery directly in the backside, while there would be two interfaces on the front side, which would give us 5V and 12V. This model is better because it does not connect with the devices directly. Instead, we designed a model that had two interfaces on it, which gave us more freedom to use the 5V and 12V power supply. Maybe these power supplies can be also used to power the sonar or some other functions we want to add. In conclusion, the converter box should eventually be able to power any new modules that are added to the robot.

Image Processing

The camera will be used to achieve number recognition, which will enable the robotic arm to touch the right button in the elevator. At first, we power it up to see whether the picture is clear enough for us to do number recognition. We also did a simple processing of the picture to capture the number and eliminate the background. Then, the CS team can use this picture to achieve the number recognition. The basic idea of the image processing is that using two red points as labels, and then, we can find the center of the number. Thus, we can cut off the picture to eliminate the background. Then, we set a threshold of the value of RGB to make the picture composite by 0 and 255, which means it just contains black and white. By using these steps, we can get exactly one number that we need to use. However, it may be a little weird to mark the button in the elevator by red points. Thus, we come up with a new idea. We know that the buttons in the elevator will never move, which means the position and the distance of each button are fixed. Therefore, we can cut off the picture directly to find each button. And then, do the image processing to make it better for number recognition.