- The 3D modeling was done using Fusion360.
- The models were 3D printed using Cura software, and 3D-printed using Prusa i3 Mk3 printer.
- All wooden parts are in MDF, and were laser cut.
- The code was written in Python and Arduino.
- The electronics' schematics were done using Fritzing.
In the lower level, the wheeilng system is placed: this is used for the left/right movement. Instead of directly attaching the wheels to the motors, a gearing system (2 gears, 1:1 ratio) was used in combination with a 3D-printed component with 2 radial ball bearings in ints inside: this allowed to transfer the weight load from the motors' shafts to the device.
There is also a mechanism (composed of a DC motor and a lead screw) for the up/down movement: this mechanism will move the base at the top of the device on which the laptop is placed.
Finally, two IR sensors are placed at the extremities of the device, which are used for edge detection and preventing the robot from falling off of the surface on which it is placed.
In the upper level, the Arduino, breadboard and AC/DC converter (or, if connecting the robot to an electric outlet is not feasible, a battery) are placed.
Two IR sensors are also placed for preventing the base from moving too high or too low. An extra component is installed to maintain the rotation of the lead screw centred.
Guiding rods are installed at the four corners of the upper level: their purpose is to maintain the fixed orientation of the base, which in turn enables the lead screw to move the base up and down. These guiding rods work in combination with the rods that are fixed underneath the laptop base. Additionally, a 3D-printed component is also fixed to enable the transfering of the lead screw's rotational work into linear vertical movement of the base.