Development in Racing Car Scaled Model and Robot Development Platform


Please note! This essay has been submitted by a student.

Download PDF

Car racing is one of the most well known motorsports in the world. There are several types of racing that are being held nowadays. There are Formula One, NASCAR, Rally and also Off Road racing. Some racing event has been developed by some top universities using an RC (Radio Controlled) with 1/10 scaled size which driven by a robot program or also can be called as autonomous driving instead of using manual control from human as the operator. Different racing event uses different sensor as their input depending on the track which are going to be used.

For instance, University of California, Berkeley uses a camera as their main sensor for the racing car [1]. The camera will detect the road lane and the car will follow the lane autonomously. This autonomous driving system is also called as lane following or lane follower system. After all, Massachusetts Institute of Technology students uses LIDAR range finder using laser scan as their main sensor of the racing car. This LIDAR range finder sensor will detect walls that are surrounding the racing car position. Then, the racing car will be able to drive or to move autonomously by moving around the walls in a certain corridor. This driving system is also called as wall follower or wall following system.

Essay due? We'll write it for you!

Any subject

Min. 3-hour delivery

Pay if satisfied

Get your price

There are also a few autonomous car racing competitions that are being held in some other countries around the world. There are International Autonomous Robot Racing Competition (IARRC) which being held annually since 2011[2]. Another event also called Carolo Cup Racing Car. This event was held in Germany by Technische Universität Braunschweig and usually involved the participation of groups of students from different university. In Carolo Cup Racing Car there are some objective that and criteria that needs to be achieved in order to gain a high score. The objective is to drive along the track autonomously with and without an obstacle include reading traffic sign (zebra cross, speed trap, etc.) that are on the track, and then should be able to do parallel parking mechanism [3]. Event like this are very interesting to be watched and held annually, especially in Asia region, since there was no such event ever being held in Asia region.

In this thesis, will be focused mainly on working on the development of existing lane tracking system. Existing lane follower system mainly using LDR (Light Dependent Resistor) as the main sensor but using LDR as the main sensor does not effective and accurate enough. Therefore, in this project camera is used as the main sensor in order to achieve efficient and accurate result.

The goal of this thesis is to develop and improve lane detection system using Robot Operating System (ROS) attached on a 1/10 scale size Radio Controlled (RC) car. It will also be used to determine which sensor is better for lane detection since there are a few types being used. Also developing this racing car to move as precise as it follows the lane in high speed and smooth movement during cornering using ROS.

Research Problems

1. Improving existing lane tracking program on the racing car

2. Improving performance of ROS based racing car scaled model

3. Include overtaking algorithm

1.3. Research Objectives

1. Implement and develop the method used in previous thesis.

2. Include object detection for the autonomous racing car.

1.4. Significance of Study

1. The development of 1/10 autonomous racing car improve the development of full scale autonomous driving car.

1.5. Research Questions

1. Is it possible to develop full scale autonomous racing car using the method and theory of an 1/10 Radio Controlled racing car?

2. Will implementing ROS into the system improve the performance and simpler?

1.6. Hypothesis

1. It is possible to use the method and theory of an 1/10 Radio Controlled racing car to develop full size autonomous racing car.

2. The implementation of ROS will improve the system performance and simplify the process of making the whole system


In this chapter, there are some theoretical aspect and description in details of all the elements or components that are being used on this project such as, ROS, OpenCV.

2.1. Previous Development in Racing Car Scaled Model

As the result from previous thesis, when it turns to the left, the steering wheel will increase with respect to the bigger turning distance while when it turns to the right, the steering value will decrease to negative value as the turning distance increase. The throttle value for both left and right turning experiment show similar pattern. Lane detection method play a significant role in intelligent transport system but many lane detection methods resulted an inaccurate result. Therefore, further improvement can be done to enhance the result by modifying the existing Hough Transformation so that it can measure both straight and curvy lane [4].

There is some adjustment need to be made in order for the system to move smoothly. The camera position should be mounted as high as possible in order to achieve better result of lane detection. Data range from the steering must be scaled down since the current range value is too large to be mapped in the Arduino program. The image from the debug image need to be smoothen for better lane detection. Also, various steps can be taken in order to improve the result in different environmental conditions like sunny day, foggy day, rainy day even in night conditions in order to move as fast as possible and as smooth as possible [4].

2.2. Robot Development Platform

ROS is an open-source, meta-operating systems for robots. It is a flexible framework for writing software for robot. Is contains libraries, tools, and conventions that has intention to create simple task of creating complex and solid robot habit with many kinds of robotic platform. The robot’s perspective defines that the problems that humans are dealing with in robotics vary among the task and the environment. Solving this problem is not an easy task that no single individual, institution or laboratory manage to do by their own.

ROS was created from basic to enhanced robotics software development. For example, a group is expertise in creating a map of an indoor environments (mapping), and could help in producing maps. Another group might have skills to use maps for navigation, and another group might found a computer vision concept that can detect objects. ROS was created for the groups mentioned above to work together and combine each of their work together directly on indirectly. ROS can help a group to shorten their time on making a robot. For example, a vision program has been developed perfectly we can then just reuse the program for the vision and working on other part more [5].

The main objective of ROS is to support the reuse of code in robotics research and development [5]. ROS is a distributed framework of processes (node) that allows each of the executable program to be designed and work independently. Then all of these nodes can be combined into Package and Stacks, which then will make it easier to be shared and distributed. An organized system of source code Repositories that allow the collaboration to be shared is also supported by ROS.

Robot Framework is a generic test automation framework for acceptance testing and acceptance test driven development (ATDD). It has easy to use tabular test data syntax and it utilizes the keyword driven testing approach. Its testing capabilities can be extended by test libraries implemented either with Python or Java, and users can create new higher level keyword from existing ones using the same syntax that is used for creating test cases. Robot framework is operating system and application independent. The core framework is implemented using python and runs also on Jython (JVM) and IronPython (.NET) [6].

Robot Framework was originally found to fulfill the needed requirements. It is created in Python programming language which can then be used on all major platforms. Robot Framework is an open source software under Apache License 2.0 [7]. Libraries in Robot Framework is open source and it is originally developed at Nokia Networks and it is nowadays sponsored by Robot Framework Foundation

In this thesis, ROS were chosen because it supports multiple programming language such as C++, Python, and etc. while Robot Framework only support Python and Java programming language. ROS also can be used to combine different node with different programming language.

2.3. Vision System

Vision system is widely used nowadays especially in the manufacturing process. It is used in order to improve the quality of the products and improving the automation process itself. This can also be called that the system or the computer has their own eyes to sense, detect and communicate important information to minimize errors, increasing the rate of production and increasing customer satisfaction through constant quality of products that are being delivered. All form of vision system is designed to suit all application, but all of the system have the common main elements. Each vision system provided with one or more sensors that capture images that would be processed and analyzed, and it’s included with software and processing element that runs a user defined program to define the inspection. Furthermore, all vision systems will provide communicating results for controlling the industrial equipment or monitoring display for the operator to use and see.

In this vision system, the ROS tool and library that will be utilized is the vision_opencv package. Vision_opencv contains package from OpenCV library for ROS. There are two package that are included in vision_opencv. The first package is the cv_bridge. It has the function to convert ROS Image messages into OpenCV images, and vice versa. Second package is called image_geometery. They are included with the C++ and Python language libraries for interpreting images geometrically. It also interfaces the calibration parameters in sensor_msgs/CameraInfo messages with OpenCV functions such as image rectification, much as cv_bridge interfaces ROS sensor_msgs/Image with OpenCV data types.

OpenCV is also called Open Source Computer Vision Library. It is a open source library that stores all computer vision and machine learning software. The library is also used in well known companies such as Google, Yahoo and others. It can be run in multiple platform such as Windows, Linux, Android and MacOS and also it can be used in several programming languages such as C++, C, Python, Java and MATLAB which means it has great flexibility [8]. It was designed for computational efficiency with a strong focus and real time application. The library consists around 2500 optimized algorithms, which includes a comprehensive set of both classic and state of are computer vision and machine learning algorithms. These algorithms can be use to detect and recognize faces, identify objects, classify human action in videos and many other more.

Computer Vision System Toolbox from MATLAB provides algorithm, functions and apps for designing and simulating computer vision and video processing system. It can be use to perform feature detection, extraction, and matching, as well as object detection and tracking. For 3D computer vision, the system toolbox support single, stereo and fisheye camera calibration.

Algorithm for deep learning and machine learning enable feature to detect face, pedestrians and other common objects using pretrained detector. It can be train to a custom detector using ground truth labelling with training frameworks such as Faster R-CNN and ACF. It can also classify image categories and perform semantic segmentation.

OpenCV will be selected for this thesis because it has the most comprehensive open source library for computer vision and it has the largest user community. OpenCV also has more functions for computer vision than MATLAB. MATLAB vision libraries can be used in OpenCV while OpenCV libraries cannot being use by MATLAB. In order to use MATLAB there is license required to operate and it is pricey while OpenCV is free for the user to use. All in all, OpenCV has better flexibility.

writers online
to help you with essay
banner clock
Clock is ticking and inspiration doesn't come?
We`ll do boring work for you. No plagiarism guarantee. Deadline from 3 hours.

We use cookies to offer you the best experience. By continuing, we’ll assume you agree with our Cookies policy.