Ball on Big Plate

The complete work

Introduction

This project is a work of team of 3, which includes shicaiwei123 and zianglei. The preparations of the contest are done with the help of yoyolalala. I was responsible for building mechanical structures and embedded programming (i.e. STM32, Raspberry Pi). We are lucky to have received the first prize in 2017NUEDC. The final work has been handed in to our school thus details will not be provided. However, code and document can be found here.

The ball-on-plate system is a promoted version of the traditional ball-on-beam control problem. The problem consists of a plate which its deviation can be manipulated in two perpendicular directions. The goal is to carry the ball moving on the plate to a desired position, that is to control a freely rolling ball on a specific position or moving on a trajectory on the plate. - Modelling and Control of Ball-Plate System

Ball-on-plate system
Ball-on-plate system

Specifically in this project, according to the contest requirements, the system is supposed to move a ball between any two of nine evenly distributed circles and avoids the others. The plate must have a size around 65cm*65cm. The document shows the distribution of the circles.


The Contest

NUEDC is one of the largest electronic design contest for undergraduate students in China. The contest lasts three and a half days. More than ten topics of four types including control, measurement, communication and power are published in the first day morning, indicating the start of the contest. Participants usually prepare for a long time before the contest. We attended the contest in 2017 starting from August 9th to 12th. Our team started the preparation four months in advance.

Although I had got some experience with programming, I barely knew the basics of control system. However, I chose this type of topic just in the interest of it.

In the preparation process, we learned from five projects, three of which are listed below.

Sadly, no video demo was taken for the limit of time.


Platform

  • Raspberry Pi Zero and Raspberry Pi 3b with OpenCV installed
  • STM32F103 minimum system board
  • PC with Visual Studio and VisualGDB installed

The Raspberry Pi is developed with C++ using Raspberry Pi toolchain provided by VisualGDB (tutorial here). It deals with the machine vision tasks and sends the results to STM32 through UART.

The STM32 is developed with C++ language using Arm toolchain provided by VisualGDB (tutorial here). A C++ API for STM32 (Ebox) was used as a replacement of ardunio, which is not allowed in the contest.


Mechanical structure

The final work uses a PCB motherboard (designed by shicaiwei123) same as Ball on Small Plate project to connect modular electronic parts.

PCB mother board
PCB mother board

The 65cm*65cm plate is made of laminated balsa wood board.

The plate
The plate

We design metre-shaped ribs to further reinforce the plate. We follow Ball on small plate to support the plate with a universal joint in the center and drive the board with two servos using ball joint rods as connection.

Under the plate
Under the plate

Design documents of the reinforcing ribs are also available here.

Reinforcing ribs
Reinforcing ribs
Cardan joint
Cardan joint
Servo with connecting rod
Servo with connecting rod

The camera is supported by carbon fiber tubes like in Ball on small plate. And the same ring light is installed around the camera to provide better illumination.

LED around camera
LED around camera

The Raspberry Pi 3b is hanged beyond the camera to reduce the load on the servos.

The complete work
The complete work

The final work is packed with cardboard then submitted to the competition organizer.

Complete work packed with cardboard, kinda like a house
Complete work packed with cardboard, kinda like a house

Final test

After a successful test in front of the judges of Sichuan division, follwed by a basic on-site electronic design test, we went to Xi’an for the final test. Below shows some photos taken along the trip.

Cheng Zhang
Cheng Zhang
Ph.D Student

My research interests include 3D generation, novel view synthesis, image generation etc.

Related