Progress of project for week #
Before Week -1
[03 Jun] (Online meeting) Consulted Dr Ho on our idea.
[04 Jun] Fusion 360, 3D Printing Lesson.
Week -1 (08 Jun – 14 Jun)
[11 Jun] Met up in school to discuss the project, consulted Tony about our project. (Criss, Eng Kang)
[13 Jun] (Online meeting) Discussed the feasibility of the project.
Week 0 (15 Jun – 21 Jun)
[18 Jun] (Online meeting) Discussed the feasibility of the project, sourced for parts online.
Week 1 (22 Jun – 28 Jun)
[25 Jun] Learnt a new compiled language (Arduino Code/C++) successfully activated various pins of the Arduino Mega.
The arrival of our main component – Intel Realsense Depth Camera D435i.
Week 2 (29 Jun – 5 Jul)
[29 Jun] (Online meeting) Check out the product and research about communication between the sensor and the Python IDE.
[30 Jun] Wrote Python and Arduino code to test the activations on the Arduino. (Full Team)
[2 Jul] Built the first prototype and successfully integrated the components with the code. (Full Team)
Building our Prototype
[3 Jul] 3D printed a camera sensor mount, Solidworks lesson (Bao Yong). Tried to install the Realsense Software Development Kit (SDK) on Virtual Machine itself though unsuccessful. (Eng Kang)
3D Printing of Camera Mount
[4 Jul] Tried to install the Realsense Software Development Kit (SDK) on a Raspberry Pi 3B itself though unsuccessful (Eng Kang), tried to research find a microprocessor replacement since the project is currently using a Laptop – a laptop, while not having the ideal weight, has the full processor to extract data from the sensor. (Full Team)
Week 3 (06 Jul – 12 Jul)
[7 Jul] Made the test more reliable by tweaking the sensitivity of the sensors, but realised the motors were too weak to support the weight of the prototype. Hence we discussed a new plan: Changing motors versus Changing the microprocessor (laptop). (Full Team)
Testing of Prototype
[8 Jun] Decided we should upscale the prototype. Sourced for parts online and discussed the future directions for the project. (Full Team)
[9 Jul] (Online meeting) Progress Meeting 1. Made the decision to replace the following parts:
- Laptop -> Jetson Nano – not ideal to have a laptop mounted onto the prototype for data flow between the Sensor and the Arduino Mega due to its large size. Jetson Nano is a suitable microprocessor substitute with sufficient processing power.
- Dual-axis gear motor wheel -> Electric Hoverboard – current component is weak and has low torque which cannot support the weight of the components. The hoverboard will come with compatible parts such as the motor driver and battery with the correct ratings which are often difficult to source for.
- Swivel castor wheel -> larger heavy-duty type – support heavier weight as well. The current one is small and does not roll straight and smoothly.
Week 4 (13 Jul – 19 Jul)
[15 Jul] Arrival of Swivel Castor Wheel (Set of 4) purchase.
Explored junction detection with possible scenarios with the Sensor (Eng Kang), decided on using size 20mmx20mm Aluminium T-Slot Extrusion, aka Aluminium Profile, together with the aluminium brackets, gussets, plates and fasteners to build the wheelchair. (Full Team). Researched on the standard wheelchair measurement and did the initial design with aluminium profile using Fusion 360 (Bao Yong).
Standard Wheelchair Measurement Guide
Taken from https://media.lanecc.edu/users/howardc/PTA101/101Wheelchairs/101Wheelchairs3.html
Initial Wheelchair Design using Fusion 360
Video Tutorial – https://www.youtube.com/watch?v=I5fuyE1jBP8
Week 5 (20 Jul – 26 Jul)
[23 Jul] Arrival of Jetson Nano Kit and Hoverboard purchase. Downloaded software required to use Realsense Camera and coding. Physical update meeting with Dr Ho (Full Team) and discussed coding for junction detection and possible scenarios.
Jetson Nano, OS and Power Adapter
Week 6 (27 Jul – 02 Aug)
[28 Jul] Dismantled the hoverboard to check the internal components and how the motor works with the motor controller. Found out that the hoverboard uses a gyroscope sensor which is not suitable for our application. Hence, we will replace a different motor controller.
Hoverboard Internal Motor Controller (Gyroscope Sensor)
[29 Jul] Collated the wheelchair dimensions and placed an order for the aluminum profile and black end cap from Prestech.
[30 Jul] Arrival of aluminium profile and black end caps purchase.
Week 7 (03 Aug – 09 Aug)
[05 Aug] Arrival of BLDC Driver Board, bolt and nuts for aluminium profile. Revised and built our Micro-Mobility Vehicle prototype skeleton-Wheelchair.
Wrote python code for junction detection and successfully combined with existing code for obstacle detection. Did testing with only the Realsense Camera without Motor.
Motor Controller and Hoverboard Wheel – @Criss
[06 Aug] In-person Progress Meeting 2. Upcoming plans for the Project
- Get the python script to run the motor of the Hoverboard wheels using Arduino Mega
- Run code in Jetson Nano
Week 8 (10 Aug – 16 Aug)
[10 Aug] Successfully tested Hoverboard motor wheel using Arduino Mega and BLDC Motor Driver. Guide: https://www.youtube.com/watch?v=IrWBQBgoqf0 . Purchased WIFI and Bluetooth module, acrylic casing with a cooling fan for the Jetson Nano
[11 Aug] Received AttributeError: module ‘pyrealsense’ has no attribute ‘pipeline’ when running Obstacle and Junction Detection python script on the Jetson Nano. Uninstalled pyrealsense2-aarch64 on Jetson Nano but unable to install pyrealsense module. Designed and 3D printed 2 filler blocks to be placed between the front swivel castor wheels and the wheelchair skeleton to balance the whole structure.
[14 Aug] Did testing for both Hoverboard wheel motor concurrently but realised that one of the BLDC motor controllers is faulty (shorted when we tested the different parts of the driver using the multimeter). Placed an order for it as we do not have spare components.
Week 9 (17 Aug – 23 Aug)
[19 Aug] Arrival of WIFI module and cooling fan for Jetson Nano in preparation for SSH control of Jetson Nano. Installed both components onto the Jetson Nano. Re-flashed the Jetson Nano to restart the setup process.
[22 Aug] Progress delayed due to order for motor driver got canceled. Made another motor driver order from another supplier.
Week 10 (24 Aug – 30 Aug)
[24 Aug] Got a different motor controller from Justin
[25 Aug] Testing of the controller
[29 Aug] Arrival of the new motor driver.
Week 11 (31 Aug – 06 Sep)
[31 Aug] Soldering for the new motor driver and testing. Issues with stop function
Week 12 (07 Sep – 13 Sep)
[08 Sep] Testing both wheels concurrently using the new Arduino
Week 13 (14 Sep – 20 Sep)
[14 Sep] 3D Printed one back mounting plate and one bottom plate for the components.
[18 Sep] Testing with Jetson Nano.
Installation of the 2 mounting plates with the Arduino Mega and Motor Controllers.
Motor Controller blew up.
[20 Sep] Purchase of Gamepad Controller and Powerbank for Jetson Nano.
Week 13 (21 Sep – 27 Sep)
[21 Sep] Due to the difference in the speed of the motor wheels (clockwise-forward and anti-clockwise reverse), we need to tune the speed of the wheels such that both wheels move at the same speed i.e the left wheel moves anti-clockwise and the right wheel moves clockwise direction. To achieve this, we will use a potentiometer to control each wheel to achieve the same speed, fine-tune using the servomotor, controlled using the gamepad, that allows for precise control of angular or linear position, velocity and acceleration.
[25 Sep]
Running a python script for gamepad to control servomotor
Using a potentiometer to control the start/stop and speed of the motor wheels
Week 14 (28 Sep – 04 Oct) – Recess
[28 Sep] We will use 2 servomotors to control the switches for ZF (change direction) function and 1 servomotor to control the switch for EL (start/stop) function. Soldering of the potentiometer pins and the switches. 3D printed customised servo horns for the servomotors to control the switches.
[29 Sep] Decided to drop the idea of using servomotors to control the switches for EL and ZF and carry on using to control the potentiometer due to multiple failure attempts.
Purchases
(accurate as of 25 September 2020)