Hi, I'm Mark
Engineer working across software, electronics and robotics
I'm from New Zealand and live in Osaka, Japan. I've worked on electrical measurements in the lab, robots in kiwifruit orchards, and mapping software for robots in buildings. Along the way I've made open-source tools and built things in the workshop.
I'm a New Zealand and British citizen and a permanent resident of Japan. I speak conversational Japanese.
Robotics in Japan
Since 2018, I've worked as a software engineer at SEQSENSE, a robotics company in Tokyo. My work supports autonomous security and delivery robots, including SQ-2 and FORRO.
I develop software that turns sensor measurements into maps the robots can use. This involves simultaneous localisation and mapping (SLAM): building a map while estimating the robot's position. The tools run on desktops, in the cloud and on the robots themselves.
I also work on detecting and tracking people and other robots using laser scanners (lidar) and cameras, training detection models in PyTorch and deploying them with OpenVINO. For testing, I've built robot simulations in Gazebo from the mechanical designs.
This prototype mapping interface shows a map taking shape, with scan quality in green. I built it using ROS and C++ for a phone or tablet mounted on a PlayStation controller.
Robots for kiwifruit orchards
From 2015 to 2018, I worked on a research project developing robots for kiwifruit harvesting and pollination in New Zealand. The team brought together the universities of Waikato and Auckland, Plant and Food Research, and Robotics Plus.
At Waikato, I developed the vehicle that carried the harvesting and pollination equipment, working from an early chassis design through electrical assembly, control software and field trials. Colleagues handled specialist fabrication and led the harvesting and pollination systems; I helped integrate and test them on the vehicle.
The vehicle had a 1000 kg payload capacity and supplied electrical power to the equipment it carried. It formed the basis of three seasons of orchard trials.
In 2018, as a Research Fellow at Auckland, I moved on to navigation software. The canopy made satellite positioning unreliable, so I used lidar measurements to detect the ground, find rows of posts and steer between them.
I field-tested row-following and developed a row-end turn planner using recorded sensor data.
The wider team's work
The harvesting system used stereo cameras and neural networks to locate fruit, then directed robotic arms to pick it. The pollination system identified flowers and aimed a pollen spray while the vehicle moved. Both were tested in orchards, with the results and limitations reported in our publications.
Electronics research and teaching
Before working in robotics, I studied electronic engineering at the University of Waikato. My research combined computer models with physical measurements.
My Master's research investigated a sensor for measuring power at millimetre-wave frequencies. I simulated the proposed design and built a larger scale model to test the predictions experimentally.
My PhD examined electrical behaviour where solids and liquids meet. One part investigated whether flowing water could generate enough electricity to power a water meter. Another compared electrodes in saline solutions with measurements in living tissue, to improve laboratory testing of medical implants.
The research code includes an electrode-interface model using Python, ngSpice and SciPy, and pyLabInstruments, a small library for controlling laboratory instruments.
Alongside my studies, I demonstrated electronics laboratories and rebuilt an online tutorial site for first-year students, including the tools lecturers used to write questions.
Education
- PhD in Engineering, 2010-2016.
- Master of Engineering (First Class Honours), 2009-2010.
- BSc in Electronics, 2005-2008.
All three degrees are from the University of Waikato.
Open-source tools and personal projects
Some projects start with something I need at work; others are things I want to try.
- Container Magic generates Docker and Podman build environments from a single configuration file.
- Cartographer trajectory editor lets you correct distorted robot maps in a browser.
- dmenu-extended opens files, folders and applications from a keyboard-driven Linux menu.
- Blender PCD I/O imports and exports point clouds so they can be edited in Blender.
- Calibration checkerboards provides printable patterns and a custom generator for measuring camera distortion.
In the workshop, I've made a bike that controls racing games, experimented with casting aluminium, machined camera mounts and made packaging for homemade cider.
Browse all projects or read my technical notes.
Publications
- 2020 Autonomous pollination of individual kiwifruit flowers: Toward a robotic kiwifruit pollinator
- 2020 Improvements to and large-scale evaluation of a robotic kiwifruit harvester
- 2019 Design and testing of a heavy-duty platform for autonomous navigation in kiwifruit orchards
- 2019 Robotic kiwifruit harvesting using machine vision, convolutional neural networks, and robotic arms
- 2017 An Electrically Driven, Computer Controlled Robotics Platform for Orchard Use
- 2017 Robotic harvesting of kiwifruit
- 2016 The Electrical Properties of Interfacial Double Layers (PhD thesis)
- 2015 Use of Electrofishing for Capturing Invasive Fish
- 2015 Scaling of Electrode-Electrolyte Interface Model Parameters in Phosphate Buffered Saline
- 2014 Feasibility of Harvesting Power To Run A Domestic Water Meter Using Streaming Cell Technology
- 2011 The energy efficiency of 8-bit low-power microcontrollers
- 2011 Design study of a thermocouple power sensor as a monolithic fin-line
- 2010 Millimetre Wave Power Measurement (ME thesis)