Browsed by
Month: July 2021

Week 10 (July 19 – July 25)

Week 10 (July 19 – July 25)

The COVID-19 situation in Singapore has suddenly taken a turn for the worse and our access to the lab has been limited due to safety guidelines. This would hinder our progress on the platform and is also the reason why the posts are becoming shorter. 

This week’s progress was mainly improvements to the application and development of the 3-legged platform configuration. We printed out a platform and tried testing the 3-legged configuration on our existing 6-legged set-up to test its capabilities. Unfortunately, the 3-legged configuration cannot be set up using the hexapod set-up and will fall apart on its own. We suspect the problem lies in the actuator-rod joint baing a spherical joint. We think changing this joint to a rotational joint would allow the 3-legged configuration to work. Further testing and development of the parts for the tripod setup will be needed.

Tripod setup

Spherical joints causing the platform to be unstable

 

Week 9 (July 12 – July 18)

Week 9 (July 12 – July 18)

The current configuration of the platform still has some errors which we suspect have to do with the hardware mounting of the platform. The accumulation of these errors results in a substantial error in our movement overall (~15mm in the worst-case scenario). We plan to re-evaluate the design of the mounting system and reprint the parts again with added improvements to structural integrity and ease of installation. We are also starting to explore different configurations of the platform which vary based on the leg height and number of legs.

These new parts will also take into account the change of joints to the universal ball joints. We feel that the change to a rigid universal joint would allow us to have more accurate movements and higher load-bearing capabilities which are much needed.

In the realm of the software side, the application for our hexapod has progressed. The app can now directly control the hexapod through a serial connection. The app also allows seamless serial connection to the Arduino which is a step-up from the python code which needed the COM port to be hardcoded prior to launching. The application will steadily improve in its optimization and features over the next few weeks. The next few features we intend to implement include a configuration page, homing and initialization functions, and presets.

A new movement script for the hexapod has also been made to demonstrate its rotational capabilities.

The rotation movement script in action

 

Week 8 (5 July – 11 July)

Week 8 (5 July – 11 July)

Most of the time this week was spent optimizing code and writing a sequence of motions for the platform to display its capabilities as well as preparing for an update presentation on the 9th.

A dynamic slicing number generator was added to the code which should smooth out our motions. We also managed to add some delay to the sending of data to the Arduino to prevent serial buffer overflow. 

Some improvements in the hardware section include the 3rd actuator platform adapter that now has a variable height function. The ball joints are also able to be friction fit into the adapters after lowering the tolerances.

The 3rd platform prototype is completed but the tolerances are still not small enough. This could be due to print inaccuracy as the tolerance given was the same as the actuator platform adapters.

The 2nd guide prototype has finished printing and prevents any play in the actuators while leaving just enough space for the actuators to move freely without restriction.

We are exploring alternatives to the magnetic ball joints to increase load capacity and reliability. Currently, universal joints are what we have in mind but this would cost quite a bit and require the redesign and fabrication of some of our existing parts.

One of the sequences we programmed

Week 7 (28 June – 4 July)

Week 7 (28 June – 4 July)

The 2nd prototype of the actuator base adapter mount has finished printing. The reinforced design of this prototype helps in its structural integrity and we didn’t face the same issues as the 1st prototype. However, there is still considerable play in the actuators. Further parts have to be designed and printed to reduce the play in the actuators.

The 1st prototype for the limit switch attachment has finished printing. This results in a far more consistent actuation point which makes the homing sequence more accurate.

Due to the inconsistent heights of the aluminum profiles of the actuators, the 2nd actuator platform adaptor has to be able to change its height to offset these inconsistencies.

The first prototype of the actuator guide has finished printing, unfortunately, the tolerance set was too small which restricted the movement of the actuators. An improved design of the guides will have to be reprinted.

We completed the first full assembly of our platform and started our testing. Some issues we faced include unintentional pitch and roll during x and y translation. This issue is exactly the same as what we faced during the creation of the first motion study. Hence we can suspect that this error is due to inaccurate dimensions used in the python code.

Another issue that we experienced was that the platform was operating in the wrong orientation in relation to what we intended to be the front face. A simple rewiring of the motors and limit switches should solve this issue.

Another issue we faced was with the magnetic ball joints. Since the ball joints rely on magnetism to attach the platform to the actuators, the load capacity of the platform is low and in some complex movements, the joints are unable to remain attached.

One software issue we encountered was that the computer was sending instructions faster than what the Arduino could process. This resulted in the serial buffer overflow and instructions would be lost and cause inaccurate movements. We will have to introduce some delay to the sending of instructions to solve this issue.

In order for our movements to be precise, large movements have to be sliced into smaller movements chained together. Currently, the logic behind the slicing is flawed and needs to be changed to a more dynamic system where the number of slices is based on the magnitude of movement. This would ensure consistent movement per slice which would smooth the movements of the platform.

Software restrictions on the maximum range of motion of the platform also have to be set in order to stop movements from causing the platform to disconnect from the joints.

Some software features such as simultaneous homing, emergency stop and pausing movements have been implemented by modifying the existing Marlin source code.

Preparation of the python code for deployment to the GUI app also has to be completed soon.

2nd prototype of actuator base mounting adapter

Optical breadboard standoffs

 

1st assembly of the Stewart platform

 

Movement testing shows unintended roll and pitch during x and y translation and yaw rotation

 

Skip to toolbar