06154250
TRANSCRIPT
-
7/30/2019 06154250
1/4
The Wireless Remote Control Car System Based On ARM9
Wang Shaokun 1, Xiao Xiao 2, Zhao Hongwei 1, 2
College of Software1, Department of Computer Science and Technology
2
Jilin University, JLUChangchun, China
E-mail: [email protected]
AbstractCurrent wireless robot system is usually composed
by a microcontroller system, bare microcontroller constrained
by hardware characteristics, it is difficult to satisfy many
complex control while ensuring system real-time. View of this,
the article based ARM9-structured processor and embedded
Linux system, optimized and improvement the versatility and
real-time capacity of wireless remote control car. The robot
system collected the data by sensors and transmits the data tothe PC console which designed as the main calculate and
determine center in the system by WIFI. PC sent the final
commends to robot and the robot executes them. Through a
simple hand signal recognition test, with several times
experiments, as a consequence, has proven the wireless remote
control car system might accomplish the complex multi-task
controls under the safeguard timely premise. So long as in the
WIFI hot spot coverage area, the infinite distant place server
can apply current intelligent algorithms in the real life rely on
the wireless remote control car system.
Keywords- Computer application, Embedded development,
Wireless Remote control car, ARM9, ATmega128
I. PREFACEIn recent years, the applications of mobile robot have
gradually become more diverse, which makes the robotcloser to people's daily life. At present, the middle and smallscale motion robot are usually designed based on single chipmicrocomputer without operating system, such asFIFA/RoboCup middle and small scale football robot, bionicsnake robot, multi-foot crawling robot and so on. In order tomake the research results of the robot can actually be used insolving more realistic problems, the increasingly complexcontrol process and some special application which is calledfor high real-time requirement has presented challenges tothe existing motion robot design pattern [1].
The performance bottlenecks of the intelligent mobile
robot focused on the following three aspects. The Firstcontradiction is between the development cost and thehardware performance. In order to reduce the cost of therobots hardware in design, we often use cost-effectivehardware to build the robot system. However, when thecontrols became more complex, precise increase gradually,the performance of the original hardware would beinadequate. Rebuild the robot will not only increase the costof inputs, but also waste the robot's life cycles seriously. Thenext contradiction is between complexity of controls and thereal-time performance. When the hardware performance is
insufficient to complete the control of the higher complexitytask, the system often sacrifices time to compensate the lackof hardware performance. So that it brings a serious problemin real time. The third contradiction is different fields use
platform is difficult to unity. When the mobile robot used indifferent occasions, as the users of the technology fromdifferent backgrounds, different habits, a lot of software andhardware tools due to the limited of hardware performance,or the interfaces is not enough will cause difficulties for
practical use.
II. OVERALL DESIGNTo settle the problems above, we proposed the ARM9
based wireless remote control car system design scheme,which use the popular ARM9 processor architecture, andadopt the excellent open-source operating system Linux asthe embedded operating system. We increase the efficiencyof hardware resources by operating system task scheduling
[2],
use the embedded application software to make up for lackof hardware resources, which introduce a number of softwaretools directly to the mobile robot system to complete the
complex intelligent control tasks and intelligent decision-making tasks, so that we can exploit the maximum
performance of hardware resources, ensure the stability ofmobile robots with real-time while we make sure the controlof complex tasks in the case of cost savings.
Figure 1. Overall Structure of Wireless Remote Control Car System
Figure 1 is the overall structure diagram of wirelessremote control car system. According to the idea that the
function decides structure, and hardware and software co-design principles
[3], we used the distributed structure and
divided the system into three parts: embedded remote controlcar, wireless network equipment and PC console.
As Figure 1 shows, the left side is an embedded remotecontrol car. It is the main part of the mobile robot which cancommunicate with the console through WIFI. Embeddedremote control car can be equipped with sensors based onactual demands, to achieve measuring distance, counting,automatic obstacle avoidance, data acquisition, pattern
2011 International Conference on Instrumentation, Measurement, Computer, Communication and Control
978-0-7695-4519-6/11 $26.00 2011 IEEE
DOI 10.1109/IMCCC.2011.224
887
-
7/30/2019 06154250
2/4
recognition and provide other functions. It can also achievesome basic mechanical function with the servo and transmitthe collected data to the PC console, through WIFI. In this
paper, the embedded remote control car equipped with the
image sensor used to implement video capture and gesturerecognition.
Figure 2 shows the logic level structure of the embeddedremote control car. The bottom layer is hardware circuitlayer, which is the hardware physical implementation part ofthe car. We choose the ARM9 development board as thecontrol center which connects various sensors used toimplement the data collection, peripheral devices and motioncontrol circuit through the appropriate interfaces. Some
peripheral devices related with the motion control can alsobe connected to the motion control circuit which controls themovement of remote control car by changing the motors
parameters.The layer above hardware circuit layer is the operating
system layer. The operating system kernel defines and
coordinates the working manners of the underlying hardwareby driver management programs. Moreover, this layerimproves ARM9 processors working efficiency and thesystem real time performance through time management andmulti-task parallel processing. Meanwhile, operating system
provides an interface to the user program, and the users caninteract with the kernel system by system call directly.
Figure 2. The Logic Structure Diagram of Embedded Car
The upper layer of the operating system is applicationsoftware layer. Application software provides a graphicaluser interface which can display the collected data captured
by to the users selectively. And it pretreatment the collecteddata in the embedded side to reduce the wirelesstransmission work pressure and reduce the bottleneckscaused by hardware characteristics, improve work efficiency.
Network send and receive program can receive data from thePC console and send the sensor collected data to the PCconsole.
The middle part of Figure 1 is a wireless network device.This part can be a separate WIFI hotspot or a network nodedevice connected to LAN or Internet through WIFI. Nomatter what wireless transmission technology we finally
adopted, communication effectiveness will be affected by thedistance constraints and obstacles interference. In order tosolve this problem, we adopted the solution as shown inFigure 3, in the remote control cars use environment, weconnect wireless router to LAN or Internet interconnectionequipment, at that time, PC console can use the unique IP tocommunicate with the embedded remote control car. Thiswill not only expand the communication distance betweenremote control car and PC console infinitely, but alsoachieve a console to control more than one remote controlcars.
Figure 3. Wireless Communication Schematic Diagram
The right side of Figure 1 is PC console. Due to thelimited of the size and hardware performance, the embeddedremote control car is insufficient simultaneously to give dualattention to the numerous and diverse data processing andthe motion control work. We transferred the task processing
and control decision part to the PC console.PC has manyadvantages include low cost of hardware, processor capacitystrong, storage space large and we can use software toolswhich cant be used in the embedded equipment to do data
processing and decision analysis, such as Matlab. Mobilerobot sent the collected data to PC for processing anddecision-making through wireless network and PC send theresults back to the mobile robot for executing. In anotherwords, complex control process and decision-making processis done by the PC, but not the mobile robot. In this way,Mobile Robot can do anything as long as it can be done onPC.Furthermore, no matter what kind of software tools andintelligent algorithms, as long as the PC can use, it can bedirectly applied in mobile robot application.This thoroughlysolved the problem that the mobile robot was constrained bytechnical background and usage in different application areaand greatly enhances the complexity of the task which low-cost mobile robot can complete.
III. HARDWARE DESIGNThe hardware architecture of the main part of the system
is shown in Figure 4. The embedded remote control carcircuit is exhibited in the right part of figure 4, using themini2440 development board produced by FriendlyARMcompany, the USB camera and USB wireless network card
Remote Control Car 1
Wireless
Network
Console
Internet
Console
Remote Control Car 2
Remote Control Car n
Operating
System Layer
Qt Graphical User Interface
Data Collection Programs
Data Processing
Programs
Network Sending and
Receiving Programs
Application
Software
Layer
Embedded Linux System
Hardware Circuit
LayerARM9 development board
I/O Motion control circuit Motors
888
-
7/30/2019 06154250
3/4
are connected with the development board, the main controlboard also provides a plentiful high-speed peripheralinterfaces, GPIO interfaces and system bus interfaces for
practical application increasing the variety of remote control
car module, in specific circumstances, if needed. The leftpart of figure 4 shows the architecture of the motion controlcircuit, the board selected the Uptech Robotics MultiFlex
board, as it uses ATmega128 MCU [4] as microcontroller,four groups with the PWM I/O interface control themovement of four driven wheels, each driven wheels isdriven by a DC brush motor. Motion control board provides7 analog input interfaces, 12 servo control interfaces, and 16GPIO interfaces. The motion control circuit communicatesthe main control circuits through the 5 Pin RS232 interface,the motion control programs is written through the ISPinterface.
Figure 4. The Hardware Structure Diagram
Main control board and motion control board have beendesigned separately benefits the optimization of embeddedremote control car allocating the hardware resources,connects the high-speed peripheral devices to the maincontrol board. In that case motion control and data
acquisition would be accomplished simultaneously, and alsoenhances real-time capability of the remote control car.
Motion Control Board is responsible for all sports-relatedwork, additional interfaces can be used for adding somerelated modules, which is depending on the specificapplications, such as equip electro-optical wheel axleencoders to achieve precisely motion control, it can alsoequips with ultrasonic sensors or infrared sensors forautomatic obstacle avoidance, perhaps the hand equipmentalso can be connected to the servo motor for the sake ofachieving other functions.
IV. SOFTWARE SYSTEM DESIGNThe whole software system design is assembled by three
parts [5]: the remote control cars main control program,motion control programs and PC console system program.To make some specific explanation, that the software systemwould be revised to demand of practical applications, inorder to illustrate the design of the wireless remote controlcar, here we use a universal process of embedded softwaredesign to describe it.
The remote control car main program is an applicationprogram running on a Linux system which we have installedon the ARM9 development board, which mainly responsiblefor connection of the PC console, sending the collected data
to the console, receiving the instruction of the PC Console,sending the motion related instructions to the motion controlcircuit.
Figure 5. The Program Flow Diagram On Embedded Car Side
Motion control program is taking in charge of all themotion control of the remote control car. The specific
process is shown in Figure 5, after power on, thedevelopment board and motor control board begininitializing their own program, after the main control board
setting up the IP address to connect with the console, itwould receive orders from the console to execute, throughthe Socket, if it is not a motion instructions (such as datacollecting, data sending, data preprocessing, etc.), then it
performs the corresponding work, until the console has nomore requires available. The main control program sent themotion instruction to the motion control board throughUART, the motion control program caches them to a circularqueue, and read and execute the instructions during the fixeddefined time intervals.
To ensure good portability and wide cross platformcapacity, we choose the Qt SDK to develop PC consolesystem program in the Linux system environments
[6]. PC
console provides a graphical user interface, after open the
console, the program should be initialized, the operatorwould send some instructions after setting the basicparameters, presently receiving the data from embedded car,the information decision-making process based on actualneeds, in accordance with specific algorithms for data
processing to generate decision-making instructions, andthen send them to the remote control car through the Socket[7]. In the situation of the no automatic decisions, the operatorcould send motion instructions to control the movement ofthe remote control car manually. When the task ends,
Set IP
Connect console
Receive instruction
Motion
Command
N
Y
Read instruction
Execute instruction
Continue
Tasks
Y
N
Execute instruction
Initialize
development board
Initializecontrol board
End
Motion Control
Circuit
ARM9
Development
BoardUART
Motor 1 Motor 2
Motor 3 Motor 4
USB Camera
USB NIC
889
-
7/30/2019 06154250
4/4
disconnecting from the console connection with the remotecontrol car. The specific process is shown in Figure 6.
Figure 6. The Program Flow Diagram Of PC Console
V. SYSTEM TESTS
Figure 7. Embedded Wireless Remote Control Car
Figure 7 is the embedded remote control car. Afterplatform construction is completed, we integrated test thewhole system through a simple gesture recognitionexperiments. Figure 8 shows the interface of the systemconsole. Due to the obstacle refraction will affect thewireless signal strength the wireless communication distanceis approximate 13 meters indoor and about 180 meters
outdoor in open area. Video frame rate is 8.62fps-13.16fps(as the wireless signal status). The average recognition timeof gesture recognition is 1.52 seconds, the system real-timewithin an acceptable range.
VI. CONCLUSIONWe designed and implemented a wireless remote control
car system based on ARM9 in this paper. And we suggesteda solution which ensures the last few tens of meterscommunication between the remote control cars through the
secure wireless communications. We connected the remotecontrol car to Internet, transfer operations and decision-making center to an infinity distance server.This can breakthe robot platform hardware performance bottlenecks, and
apply the complex, sophisticated algorithms of intelligentrobots to real life.Eventually, we verify the feasibility of thefinal design through a simple gesture recognitionexperiments. According to the actual needs, the algorithm inthe system can be extended to complete pattern recognition,automatic obstacle avoidance, motion planning, intelligentwireless monitoring and control and other fields ofapplication in real life.
Figure 8. The GUI of System Console
ACKNOWLEDGMENT
The corresponding author is Zhao Hongwei. The authorsare grateful to the anonymous reviewers for their insightfulcomments which have certainly improved this paper.
This work is supported by Science Foundation of JilinEducational Committee (2009605) and Plan for Scientificand Technology Development of Jilin Province (20101504).
REFERENCES
[1] Volker Graefe and Rainer Bischoff. From Ancient Machines toIntelligent Robots -A Technical Evolution[C]. The NinthInternational Conference on Electronic Measurement & Instruments.2009. Vol.3, 418-431.
[2] Liggesmeyer P., Trapp M.. Trends in Embedded SoftwareEngineering[J]. IEEE Software, 2009, 26(3):19-25.
[3] E. D. Lagnese and D. E. Thomas, Architectural partitioning forsystem level design[C], in Proc. 26th DAC. June 1989, 62-67.
[4] ATMEL Corporation. ATmega128 Preliminary Summary [EB/OL].(2010-06-21) [2011-01-13].
http://wenku.baidu.com/view/9a4bb6fb84 ae45c3b358c5d.html.[5] Kar-Keung D. Young, Yong Quan Ou, Lun Huai Cai, Jason Kam On
Ho and Ken Kin Man Cheng. Real Time Embedded Control SystemDevelopment for Wireless Mobile Platforms[C]. IndustrialElectronics, 2008. ISIE 2008. IEEE International Symposium on.2008.11.18,2022-2027.
[6] Jasmin Blanchette, Mark Summerfield. C++ GUI Programming withQt4(Second Edition) [M]. BeiJing: Electronic Industry Press.2010.4:11-12.
[7] Alan Cox. Video4 Linux Programming[EB/OL]. (2000)[2011-01-20][email protected].
Intelligent
control
Decisionmaking
Generated
instructions
Disconnected
Send
instructions
Connect
remote car
Send order
Set parameter
Receive image
Process image
YContinue
task
N
Y
N
Initialization
control
End
890