`robot hardtvilre a r c ~ ~ t e ~ ~ ~ ~ e
`A b d t ~ ~ d
`in a irlumlber of s@nsors and
`generalay c
`actuators connected to a central ~)rucessin~ unit.
`This type of architect~re leads is time consuming
`and ~ n ~ e ~ a b ~ ~
`system. Thc purpose of this paper
`is tu present a ~ ~ c e ~ ~ r a l i ~ ~ e ~ ~
`architecture made
`ances in electronics. This
`possible by recent
`the CAN (Controller Ami1
`architecture is base
`Netnork) bus and will be slhaivn to be wry
`suitable and a ( ~ ~ a n ~ a ~ ~ o u s
`in mobile robotics.
`
`Mobile robots are becoming more and more a
`dcterinining factor $11 the nianu&acturiug industry
`But they hake to be rcliable and the compctntive in
`the industrq
`Generally, the inobile rokol coinputer architecture
`used in industry is a centralired one This type of
`archtecture is easily built because all actuators and
`sensors are connected to a centrd processing unit
`However, this architecture presents man4 drawbacks
`such as the dfficulty of fault detection and its high
`cost
`
`is an
`Decentralized architecture
`interesting
`alternative which progressively replaces the old one,
`Its basic concept is to providc autonomy to each
`specialized unit in the mobile robot. In this way the
`sensors units conipute all information locally and
`coinniunicate only the useful one 111, involving a
`reduced number of transmitted bytcs. This is also the
`case for the actuators. Since the information sent by
`sensors or received by actuators don't have the same
`sizes as in the centralized architecture. A real time
`network can be used to connect all the units of the
`mobile robot. However, this choice m i s t take into
`account two fmdamental conditions: first, each unit
`can transmit its information in a bounded time;
`second, all the interested units should be ablc to
`receive this information.
`
`The structure of this paper is the following :
`Section I1 discusses
`the
`real
`time network
`characteristics. Section 111 presents the CAN model
`used as basis of the proposed architccture described
`in section IV. In section V conclusions are given.
`
`0-7803-31-09-5/96/$5.00 @ 1996 IEEE
`
`205
`
`There are two communication niodcls for real
`trine message passing on a shared broadcast bus
`deterininistic and probabilistic In the deterministic
`niodcl a n~tinbc r o f processors connected to a shared
`broadcast bus, each via a comniuiucations adapter,
`XLCSS to the bus bq using a 'right to transmit' (e g a
`
`tolien) In the ~ r ~ ~ a b i ~ i s ~ ~ c model, the network
`transmisslo n is executed without a cominumcation
`adaptcr [2] All1 the stations, independently, generate
`niessagcs from their respective processes at random
`time instants Transmission requests )+ill conipete for
`bus access, resulting in a varying rather than a
`constmt latency tinie The transmission principle IS
`illustrated in Fig 1
`
`In the probabilistic model, whcn several units
`sirnultaneously access the idle bus, a message
`contention is detected. Transmission is then stopped,
`and all stations back off from the network. Such
`cancellation of transfer diuring contention decreases
`the availablc itransfer of the network (thrashing
`effecl). This is not acceptable for real
`time
`applications 131
`
`Use of a rcal-tinie network for communication
`gives iwo important results, among others [SI:
`* the sharing of several variables which can be
`consumcd by more than one process at time;
`* a considerable reduation in electrical wiring,
`which up to now has limuted movements in inobile
`parts (c.g. robot arms).
`
`[CPU hbte,
`
`r-'
`
`I
`
`'Station'
`
`Fig. 1.
`In thc automotive inclustry a CAN field bus is
`used to transmit all informiation within a vehicle.
`
`Page 1 of 3
`
`Mercedes Exhibit 1024
`
`
`
`A generally perceived problem with CAN is that
`it is unable to guarantee the timing performancc of
`lower priority messages.
`
`3. THE CAN MODEL
`
`CAN is a broadcast bus where a nuniber of
`processors are connected to the bus via an interface.
`A data source is transmitted as a message, consisting
`of 1 to 8 bytes. A message niay be transmitted
`periodically, sporadically, or on-request.
`There are some general observations to make
`about the CAN arbitration protocol. Firstly, a
`message with a smaller identifier value is a higher
`priority message. Secondly, the highest priority
`message undergoes the arbitration process without
`dsturbance (since all other stations will have backed-
`off and ceased transmission until the bus is nest idle).
`The whole message
`transmitted without
`is
`intenuption.
`From these observations, the worst-case time from
`queuing the highest priority message to the reception
`of that message (i.e. tlie worst-case response time of
`the message) can be calculated easily: the longest
`time to transinit a CAN message (we called tllis delay
`the blocking time of a message).
`The main advantages presented by the CAN bus,
`comparing to other real time networks, are its reliable
`protocol and its low cost.
`Several studies have proved that Ihe stability of
`the comniunication is linked with the access of a
`station to the bus [3,4].
`In real-time protocols, scheduling policies is used
`to bound a communication delays between the nodes
`which share the medium, and to describe how and
`when the message are sent (fig. 2). CAN provides
`message priorities and a preemption mechanism. but
`it does not specified how priorities should be assigned
`to messages and when messages can be transmitted.
`If the CAN protocol is used without applying any
`rules or
`policy,
`i.e. without any additional
`restrictioiis, it would be very difficult to predict
`whether all messages would be able to ineet their
`timing constraints.
`Recently, Tindell 151 has proved that
`this
`condition is satisfied if all the messages on tlie CAN
`respect the recommendation of processor scheduling
`theory [6].
`The intensive use of CAN in automotive industry
`largely reduces its cost. Hence. inan) CAN integrated
`circuits are available in the market
`
`u u u
`
`Scheduliiie algorithm
`
`Fig. 2
`
`Iv. SYSTEM ARCHITECTURE.
`
`On account of the reability, modularity and
`the possibility of
`calculation power
`required,
`centralized control system in which all the signals
`would flow into a single multitask controller become
`inore and more discarded. Currently, the various
`forms of control are perfoniied by multiprocessors
`which exchange information through buses. Since we
`want to integrate and into the robot many functions
`for pcrccption, decision making and action, the
`iiiobile robot architecture has to be:
`* open in order to be easily extensible when new
`functions will be developed and added to the robot
`capacities, without perturbation of
`the . already
`existing system;
`* rccoiflgiirable so tllat different control shemes
`can be applied and investigated relying on the same
`basic robot hnctionalities.
`The dstributed architectures are characterized by
`the structure of nodes. A node is composed of
`communication subsystem (e.g. CAN controller), one
`or more processors and an actuatorlsensor interface.
`The processors are
`typically microprocessors,
`microcoiitrollers or digital signal processors (fig. 2).
`
`Microcontroller
`I A u U
`
`1
`
`lave! ed architecture of CAN node.
`
`Fig. 3.
`
`
`
`I
`
`Iiavmg a dstributed arclutecture solution in mind
`it is important to look at how the tasks ok actions of
`the computer control system can be structured into
`functions (modules objects, tasks etc ) and how
`these functions can be allocated to nddes iii the
`conipuler
`system One
`important
`aspect
`in
`considering
`strategies concerns
`the
`resultmg
`communication load It is straightforward to state
`that a rery low degree of Qstnbuted 1applicat)ion
`functionality, e g the case when only I/Q operations
`in dstnbuted nodes and all
`are performed
`computations takes place in one ceiitral node. will
`result in a relatively high communicatihn load A
`siniplc design rule IS to utilize functional partitioning
`
`206
`
`Page 2 of 3
`
`
`
`and thus allocate control tasks in such a \+ay that
`local control tasks are executed locally This will
`reduce comniunication requreinents and delays in
`local control loops For the global Control functions
`several strategies are possible whcre the two cxtrenies
`are the use of a global control node, executing all
`these functions, to the replication (or partitioning) of
`the global functions owcr rriany iiodes The iiodcs of
`thc mobile robot are connected to cach othcr via CAN
`bus (fig 4) Thc perception modules arc composed ol
`
`Obstacle avoidance niochile
`the obstaclc
`avoidance €unction allows the robot to cope with an
`unexpected objcct which is blocking thc planned path
`while maintaining tlic inisston
`
`C‘nntour following nioclirlc. a typical belm ior of
`inobile robot is the contour following It is cssential
`to detect the Mall e17en if the machine is not parallcl
`to it This unit scnsor gives thc useful information
`which allons
`to know
`the planning
`inodulc
`accurately the &stance bchveen the robot and the
`wall
`
`Dead reckoning module ilus module conibnnes
`the information of encoder:, and/or potentionietcrs to
`compute the actual positioik of thc mobilc robot rn 11s
`environment
`
`tnodiile gcrtcratcs plans of action
`Planning
`Heiice the motion prograins haic to be creatcd to
`ensure that mobile robot m0171ng liom an initial statc
`to a final one [7]
`
`l/rsron rnodule thls module proecsses the image
`taken bq
`the camera. to extraci thc position and
`orientation of the robot It works independently of the
`perception modules, in thlj way the data fusion of
`these two units allows the correction of information
`sent to the motion module
`
`Regulation trroclz~le i t ensures the regulation of
`the driviiig and stccring motors of the robot using
`spced and position odonietric iiieasurenients
`
`(iAer h e f a c e 11 allows the user to changc some
`application parainetcrs or to chcck thc availability of
`the transimssion in tlic wholc s) stciii
`v CoNc1.r SIOh
`Contrarily to the centralircd arclutcctuie, bhc
`architecture bascd on the CAN bus, proposcd an this
`papcr IS open and casily evtcnsible Ncu functions
`can be developed and added to the robot capacitics
`without major perturbation<; of the existing sq stem,
`such as safety, &agnosis or inaintenancc modulcs
`
`207
`
`Piweption modules
`
`Fig. 4.
`
`REFEIU JNCES.
`ILaiigen and J. Dahlkeinpr,
`A.
`‘Smart
`Ultrasonic Sensors. The evolution from low-
`cost perception devices to sensor function
`modules providing autonomy
`to mobile
`robots,‘ 25th. Intevnational ~vmposiuni on
`indus~rial Robots, I-Fannover (Germany) April
`25-27, 1994.
`K, Tindell and A. Burns, ‘Analysis of Hard
`I.TS 222, Department os Computer Science,
`Real Time ComniunicationL,’ Technical Report
`(/ni vemiitv of York (Uilitjed Kingdom) May
`1994.
`17. Kieiicke, ‘Serial comrnunication network
`amoiig distributed micro-controllers’ Proc.
`WESCOlV’86, Paper 3012, 1986.
`J.F. Samson, P. Baylou, ‘Application of real
`time networks on mobile agricultural robots, ’
`Internafional Advanced Robotics Program
`.Ivignon (France) June 1990.
`K. Tindell and A. Burns, ‘Guaranteeing
`message latencies on CAN’, Proc.
`first.
`IIiternatiowal C14M Con,krence pp. 2- 1 1
`September 1994.
`N. Audslcy and al, ‘Applying New schcduling
`theory
`to
`static
`priority
`pre-emptive
`scheduling,’ Sofhvin-e Engineering Journal
`8(S) pp. 283-292 September 1993.
`R. Chatila and R.F. de Camargo, ‘Open
`architecture design and inter-task / inter
`inodule (communication for an autonomous
`mobile robot,’ IEEE hiternational Workshop
`on IntcllijFent Robot:; and Syslems, IROS ’90.
`S. Cavalieri, A. Di stefanol and 0. Mirabella,
`‘Meeting Time Requirements in Robotics by a
`Ficldbus Communication System,’ Proc of
`E( ’ON’9.3-Int Conf (on Industrial Electronics ,
`Instrumentation and Control, Lahaina, Maui,
`Hawaii, IJSA, Novennkr 15-19,1993.
`
`Page 3 of 3