|
I was fortunate to be selected to be in a team of 3 for my final year university honours project to design a path planning algorithm of an apple harvesting robot to autonomously navigate along an orchard. My role included 1) Implementing a finite state machine to direct the robot when to drive, turn and stop. 2) Selecting and designing the most appropriate motion controllers to control the movement of this 4 wheeled differential drive robot in which it was a PID and Stanley's Tracking Controller for controlling the robot's velocity and displacement. 3) Tracking the robot's state using the available on-board sensors including the IMU and Lidar, and fusing it together using an Extended Kalman Filter library to track the x,y,z position, velocity and acceleration. 4) Controlling the motors of the robot for wheel actuation using a Python library 'PyModbus' to send speed commands in the form of hex via Modbus onto the robot's computer. On the side I interfaced an Xbox 360 controller to control the robot as a convenient remote control and also for testing purposes. My teammates work more on the Lidar mapping component which involved using an open-source package ‘Fast-LIO’ compatible for the Livox lidar to generate 3D mapping of the orchard fused with ORBSLAM3 from the Realsense RGBD camera for robust localisation. Also performing imaging segmentation of the live camera using pre-trained deep learning model for object detection and collision avoidance.
A 4 DOF robot arm made using 3D printed parts. A Yolo V4 CNN model was custom trained to detect 3 objects; water bottle, foil and a scrunch piece of paper. Interfaced a Rasberry Pi Cam to a Jetson Nano microprocessor for real-time image detection. Converted pixel coordinates into camera coordinates to identify world position of objects. Arduino microcontroller was connected to servo motors to actuate and accurately grab the object via inverse kinematics.
Group project consisting of 4 team members to take part in the Warman Design and Build Competition. This was a nationwide competition for all 2nd/3rd year mechanical, mechatronics and electrical engineering university students across Australia. We were tasked with designing a robot to pick up 20 balls from one compound and required to transport it to the neighbouring compound. The robot utilised 4 mecanum wheels for maximum travel efficiency and speed. A custom laser cut box to safely carry the plastic balls. Hand-sawed metal extrusion bars to hold the weight of the box. Ultrasonic sensors attached to provide distance feedback to know when the robot has arrived at the compounds.
A PLC programmed project which involved controlling the rotation of a turntable. Through the use of encoders embedded with the motor, calculations were used to precisely know when to turn and stop at a chosen item. Programmed the timing of the pnuematic actuator to push the item off the slide with the right amount of force after the turntable has finished rotating. A custom 3D printed pusher part was designed in a manner that would facilitate this process.
Designed an ultrasonic distance measuring tool that measures up to half a meter. Coded in embedded C using a PSOC microcontroller. The pushing of the button sends out an ultrasonic wave which is used to determine the distance to the object and also displays the measured value on an 8 segment LED display. Additional features added such as display a green light if measured distance is from 0 - 10cm, display orange for 11 - 20cm and red for 21+ cm.
I was fortunate to be selected to be in a team of 3 for my final year university honours project to design a path planning algorithm of an apple harvesting robot to autonomously navigate along an orchard. My role included 1) Implementing a finite state machine to direct the robot when to drive, turn and stop. 2) Selecting and designing the most appropriate motion controllers to control the movement of this 4 wheeled differential drive robot in which it was a PID and Stanley's Tracking Controller for controlling the robot's velocity and displacement. 3) Tracking the robot's state using the available on-board sensors including the IMU and Lidar, and fusing it together using an Extended Kalman Filter library to track the x,y,z position, velocity and acceleration. 4) Controlling the motors of the robot for wheel actuation using a Python library 'PyModbus' to send speed commands in the form of hex via Modbus onto the robot's computer. On the side I interfaced an Xbox 360 controller to control the robot as a convenient remote control and also for testing purposes. My teammates work more on the Lidar mapping component which involved using an open-source package ‘Fast-LIO’ compatible for the Livox lidar to generate 3D mapping of the orchard fused with ORBSLAM3 from the Realsense RGBD camera for robust localisation. Also performing imaging segmentation of the live camera using pre-trained deep learning model for object detection and collision avoidance.
A 4 DOF robot arm made using 3D printed parts. A Yolo V4 CNN model was custom trained to detect 3 objects; water bottle, foil and a scrunch piece of paper. Interfaced a Rasberry Pi Cam to a Jetson Nano microprocessor for real-time image detection. Converted pixel coordinates into camera coordinates to identify world position of objects. Arduino microcontroller was connected to servo motors to actuate and accurately grab the object via inverse kinematics.
Group project consisting of 4 team members to take part in the Warman Design and Build Competition. This was a nationwide competition for all 2nd/3rd year mechanical, mechatronics and electrical engineering university students across Australia. We were tasked with designing a robot to pick up 20 balls from one compound and required to transport it to the neighbouring compound. The robot utilised 4 mecanum wheels for maximum travel efficiency and speed. A custom laser cut box to safely carry the plastic balls. Hand-sawed metal extrusion bars to hold the weight of the box. Ultrasonic sensors attached to provide distance feedback to know when the robot has arrived at the compounds.
A PLC programmed project which involved controlling the rotation of a turntable. Through the use of encoders embedded with the motor, calculations were used to precisely know when to turn and stop at a chosen item. Programmed the timing of the pnuematic actuator to push the item off the slide with the right amount of force after the turntable has finished rotating. A custom 3D printed pusher part was designed in a manner that would facilitate this process.
Designed an ultrasonic distance measuring tool that measures up to half a meter. Coded in embedded C using a PSOC microcontroller. The pushing of the button sends out an ultrasonic wave which is used to determine the distance to the object and also displays the measured value on an 8 segment LED display. Additional features added such as display a green light if measured distance is from 0 - 10cm, display orange for 11 - 20cm and red for 21+ cm.
David Lam
Mechatronics Engineer
Hi there, I am a mechatronics engineer from Monash University, Australia. I have designed a variety of engineering projects throughout my time at university and have enjoyed all of them.
I also completed an exchange program at North Carolina State University where I majored in Electrical engineering and was able to immerse myself with the American culture and college education system.
I have also previously worked at AOS Group as a Mechatronics Engineering Intern where I developed a user interface for comprehensive visualisation and monitoring of an autonomous weed spraying robot. Before that I was also a Software Test Intern at Robert Bosch where I performed testing and simulation of software controlled brake systems such as ABS (Anti-Lock Brake System) and ESP (Electronic Stability Program) on Ford vehicles.