Sharing any interesting learning experience here!

Project learnings – Ethan Chng

  • The process of learning CAD sketching seemed challenging at first due to my lack of experience in visualizing 3D structures in the digital space. However, over time, it gradually became more approachable when I learnt how to visualize the different tools I needed to utilize in Fusion360 to obtain the end product I had in mind. A method of picking up CAD while having an existing idea in mind that I highly recommend would be to just go online and search up a tutorial on a structure you might be interested in fabricating and sketching out in CAD. More often than not, you might notice that rather than having the specific object that you desire, you can find many other similar projects that hold different small features that you may wish to implement separately. With this in mind, simply learn the necessary tools and steps taken to create a specific feature on your project from a variety of different projects, and compile them together into one singular package.
  • It is always important to do small test prints before committing to the final complete 3D-printed component. This saves valuable time and materials which you can devote towards other components of your project.
  • During the testing phase, it is essential to isolate changes and ensure that you are not misled by factors that are not actually causing issues that you identify during testing. An example of this could be seen during the testing phase, where our robot snake started jittering in its movement, when it should actually be executing fluid movements as indicated in the code. Though we had originally suspected it to be an issue in the coding, it actually turned out to be a fault in our electrical wiring, where loose connections would occur over time as the snake went through its motions, resulting in insufficient current, which led to the issues mentioned above. Only through isolating the different factors and testing them individually (Code, Hardware, Electrical), could we then properly identify the issues stated. In the future, keeping this lesson in mind will save us a lot of valuable time that can be better used for brainstorming other novel ideas.
  • During prototyping, you need not recreate the wheel. New ideas can build upon existing designs which can save you a lot of headaches. An example of this can be seen from the tail design, which is merely a mirrored version of the current design used in the servo motor segment. The freely pivoting attachment is also a remix of the current design used for the 3D-printed servo motor covers, where the same connection points are used to minimize interference with the existing overall design of the robot snake.

Key Lessons from interviews:

To gather more insights from industry experts and professionals, we arranged a few interviews with them.

The groups/people we have consulted:

HTX (Home Team Science & Technology Agency)

EEE professor – Amer M. Y. M. Ghias (Asst Prof)

PhD Student (with past experience in snake robotics) – Jiang Tao

MnT Lab Manager – Mr Gan “Tony” Eng Swee

 

After pitching our ideas to the HT and a few professors, the key lessons learnt from the consultations and suggestions from them are summarised here:

  • Battery: Get a larger battery capacity to do a wired snake first. If time permits, we could try and mount the battery on.
  • Servos: MG996Rs for the snake for now until basic movements are proven and if budget permits.
  • Procurement: We should be buying materials for Phases 4 and 5 by Week 13 to not be late for the project deadline.
  • Scope: They recognise that we are beginners and we might not have the expertise, timeline and budget of professional robotics engineers, so after pitching to them our novel and complicated features, they suggested we scale down the scope of our project and instead focus on refining the controls and movement of the snake first, and if time and budget allows, add in additional features like wheels or payload delivery.

 

 

 

 

 

 

 

 

 

 

 

 

Final Reflections – xc

Things that we did well:

I think that we did a great job of planning the overall project, the hobbyist Will Donaldson gave us a basic skeleton of a plan upon which we drafted up the plan for purchasing the BOM list, assembling the snake, doing up the electrical systems, and software systems.

I think that one of our teams’ strengths was that we were very resourceful and everyone had a collaborative spirit. We played to each other’s strengths and weaknesses. For example, we have a wide variety of skill sets for each member, Min Sheng and Yuankun has experience with EEE hence, they were more familiar and were able to help us manage the electrical systems, while the 2 Ethans have 3D printers at home, which enabled us to speed up our printing workflow dramatically.

Purchasing the items went very smoothly, we were able to procure items from taobao and aliexpress by Mid April and start work early as soon as our finals were over. Although some items came slightly defective such as the ESP32CAMs, we had to spend some time troubleshooting it.

I am glad each of us demonstrated a remarkable growth mindset throughout the project. We approached challenges as opportunities for learning rather than obstacles. I think this is especially evident when we started off our project, we were all completely new to the electronics and software systems, but all of us held a determination to learn and each tried our best to contribute as much as possible despite our limited knowledge to keep the project going.

Our team adopted the iterative process in design thinking to progressively improve on each iteration. This brought us slowly step by step to our desired goals.

 

Areas for improvement:

All of us are beginners at Arduino robotics, so naturally we were not very well versed with the technical side of the project, especially the software and electrical systems of the snake. We spent quite a bit of time troubleshooting the motion of the snake, only to realise after experimentation, that the daisy chaining of the jumper wires caused quite a bit of unpredictability of the power delivered to the snake, and this resulted in us tweaking the motion code with no repeatable results, and burning a lot of time.

Another area that we felt that could be improved was the documentation of meeting minutes. Initially, we were very enthusiastic about discussing ideas in class, but we ended up forgetting about it and this was not very productive as we ended up doing double work quite frequently. We eventually adopted a meeting minutes system, where we could document the things discussed in each meeting, and the tasks to be taken, which also helps with absentees to catch up on what was previously discussed. Members will rotate the responsibility for taking the minutes for each session.

Lastly, nearing the deadline for this project, we were rushing to get the final snake in working condition, but this backfired as we made a mistake swapping the VCC and Ground wires on the OLED screen, which resulted in us burning the resistor and a causing that OLED to be not working anymore. To learn from this we feel that we should double check the electrical wiring each time we make any changes to it so that we do not burn anything and risk our project.

 

Future Developments

Areas that can be further developed after today:

Hardware

  • More powerful smart-servos (Daisy chained smart servos for efficient coding and cable management)
  • Omni-wheels/Tracks to improve mobility
  • Completely wireless capability

Software

  • Further develop more movements
  • Complete integration into 1 HTML site
  • PS4 controller capability