Stefan-Gabriel Chitic

Julien Ponge
email: julien.ponge@insa-lyon.fr

Olivier Simonin
email: olivier.simonin@insa-lyon.fr

SDfR protocol : Service Discovery for Robots

Keywords: Multi-robot, Middleware, Robotic cloud, Service Discovery, Network discovery

Nowadays robotic applications tend towards fleets of robots, being capable of sharing information between multiple hosts as well as performing one or multiple tasks together. In order to facilitate interaction and cooperation robots should advertise about their functionalities as services. In this paper, we propose a protocol for highly dynamic robotic applications that will allow robots to discover their neighbors services and their capabilities in any wireless infrastructure. The protocol is an adaptation of the Service Discovery Protocol (SDP) used in Universal Plug and Play(UPnP). The paper also includes a series of benchmarking across multiple scenarios that allow us to evaluate our protocol. Our experiments looked up the various impacts that our proposal has on a multi-robot system, like request time of a publisher and a subscriber, the quantity of CPU and memory used and quantity of send and received bytes over the network.

INTRODUCTION

Robots will progressively populate our everyday life, in order to assist humans in many tasks or to replace them in dangerous missions. They are becoming a standard equipment in modern manufacturing sites, providing fast and reliable routine operations. They will be used also in hazardous environments, requiring robots to be more autonomous and able of cooperation with humans. Another important domain is Military missions which will employ robots as unmanned combat vehicles in order to reduce human casualties. Finally, robots are entering our domestic environment as service robots, being used in simple but unwanted jobs, such as vacuum cleaning, floor washing, and lawn mowing.

Nowadays robotic applications tend to use fleets of robots, being capable of sharing information as well as performing one or multiple tasks together. An autonomous robot fleet refers to a dynamic system that is populated by heterogeneous devices, with different hardware and software components capable of sharing data and performing one or several tasks within other members. The fleet can also communicate with mobile or fix connected objects and sensors, cooperating together to achieve a common goal.

All those new applications that are operating in a multi-robot context, are generating multiple layers of complexity into the robotic development. Firstly, a robotic application should manage the complexity of the robot as a unit with all the communication and compatibility issues between its internal components. Secondly, they need to manage the complexity inside the fleet by managing the mobility, communication, information and task sharing among multiple robots. Finally, a third layer of complexity is added, because the robots can be in communication with the environment in which they have been deployed, being part of Internet of Things [START_REF] Borja | Integration of service robots in the smart home by means of UPnP: A surveillance robot case study[END_REF].

Recent work has shown that these layers of complexity can be managed using the appropriate middleware families ( [START_REF] Chitic | Are middlewares ready for multi-robots systems?[END_REF], [START_REF] Elkady | Robotics middleware: A comprehensive literature survey and attribute-based bibliography[END_REF], [START_REF] Mohamed | Middleware for robotics: A survey[END_REF]). A robotic middleware is a software that acts as a bridge between a network layer or an operating system and applications, being an important component in the process of developing, deploying and operating a robotic application inside a fleet. In our work, we adopt such a middleware based vision.

In this paper we focus on a central need of fleets of robots: how to allow them to be aware of connected neighbors and their services. Combining component and service-oriented programming greatly simplifies the implementation of highly-adaptive, constantly-evolving applications [START_REF] Frénot | Various Extensions for the Ambient OSGi framework[END_REF]. The robots should advertise their functionalities as services in order to allow other members of the fleet to interact with them. In network based application, service-oriented programming is now a largely accepted principle [START_REF] Issarny | Service-oriented middleware for the future internet: state of the art and research directions[END_REF]. The main concepts of service-oriented programming are the publications by the providers and the discovery by the consumers of the robotic services.

In the robotic context, we adapt the well-known SDP protocol in order to allow robots to discover their connected neighbors, their services and their capabilities in any wireless infrastructure. SDP protocol is highly used nowadays in most of the connected devices. To take into account the mobility of robots, we have changed a series of fields in the messages headers as well as added a memory mechanism to limit consumed bandwidth. Our proposal is validated using experimental benchmarks on multiple scenarios with a various number of Turtlebot 2.

The paper is structured as follows: Section 2 discusses the service discovery in the related domains. Section 3 present our proposal for service discovery in a fleet context. Section 4 proposes an implementation of our protocol. Section 5 evaluates our protocol via a series of benchmarks and Section 6 concludes the paper.

RELATED WORK

In the robotic world, the problem of service discovery was approached mostly in centralized network infrastructures by using classical Universal Plug and Play (UPnP) protocol. Since the concept of having the robotic tasks and processes as services is not mature yet, the main focus on research on service discovery in robotics has orientated toward the integration with the environment like smart homes or smart cities. Paper [START_REF] Borja | Integration of service robots in the smart home by means of UPnP: A surveillance robot case study[END_REF] provides a case study of integration of service robots and smart-homes via UPnP. In these cases, the authors are not referring to a robot as part of a specific fleet, but as part of an environment, in which the robot is considered as an entity that can offer services. This point of view is slightly different in case of a robotic fleet [START_REF] Ververidis | Service discovery for mobile ad hoc networks: a survey of issues and techniques[END_REF], where robots are composed of multiple services that need to be discovered by the other members.

Another way to see a fleet of networked robots is like a serviceoriented multi agent system that deals with large-scale and highlydynamic systems that need to provide mechanisms to discover service availabilities. Such environments like Peer-to-Peer (P2P), Multi-Agent Systems(MAS) or Service-Oriented Environments(SOE) tend to approach the problem of service discovery in centralized, distributed or decentralized way. Centralized mechanism like superpeers [START_REF] Gummadi | A measurement study of napster and gnutella as examples of peer-to-peer file sharing systems[END_REF], middle-agents [START_REF] Klusch | Automated semantic web service discovery with owls-mx[END_REF] or central registries [START_REF] Rompothong | A query federation of uddi registries[END_REF] are limited in number of agents in the system and in terms of number of requests. It also uses a centralized node which can have serious impact if the central point becomes unreachable. Distributed approaches such as Distributed Hash Tables(DHT) [START_REF] Maymounkov | Kademlia: A peer-to-peer information system based on the xor metric[END_REF] offers more scalability and robustness by having multiple specific nodes that can manage the resources. Decentralized systems consider all the nodes equals. This approach provides more flexibility, but it has its downsides, since each node only has partial view of the entire system. As mentioned in [START_REF] Del Val | Enhancing decentralized service discovery in open service-oriented multi-agent systems[END_REF], an interesting way to discover service inside a decentralized and self-organized multi-agent system is to use the homophily between agents.

Classical protocols and middlewares for service discovery in distributed environments like data-grids, clouds or even smart environments use same type of methods. The base service discovery is having one centralized registry that manages service description. It still has the same issues as in the case of multi-agent system but it provides consistency and scalability. The other approach is having a decentralized system (e.g UPnP, Jini [START_REF] Pereira | Peer-to-peer Jini for truly service-oriented WSNs[END_REF] or SLP [START_REF] Romero | Service discovery in ubiquitous feedback control loops[END_REF]) that can be : a purely distributed solution where each node stores its own service repositories or a hybrid solution that includes super-nodes that aggregate information from other peers.

The solutions presented above have their downsides when applied to ad-hoc multi-robot systems. Firstly, due to the mobility of the robots, the network connection is highly instable and robots can disconnect and reconnect very often. Existing protocols do not perform the same way in a highly dynamic environment and in a static one. As mentioned in [START_REF] Issarny | Service-oriented middleware for the future internet: state of the art and research directions[END_REF], the challenge is to set the trade off between physical mobility and scalability. Secondly, existing protocols are not very adaptive. The discovery protocol should be ready to be used at any time and track its usage and failures. Existing protocols like UPnP, have a limited memory factor and when the connection is timed-outed, the discovery process reinitializes itself at reconnection.

SERVICE DISCOVERY FOR ROBOTS

Before detailing our approach, we abstract the model. Robot service discovery inside a fleet is based on a publish subscriber process. A process running on each robot looks up its neighbors and responds to new ones while advertising its own presence. Based on this, other processes on each robot can publish their services and access the neighbors services list. Figure 1 illustrates the protocol functioning on an ad-hoc segmented network.

Our protocol, called Service Discovery for Robots (SDfR), is adapted from Simple Service Discovery Protocol (SSDP) that is being used in UPnP. SSDP is used for advertisement and discovery of network services and presence information. It accomplishes this without assistance of server-based configuration mechanisms, being a purely distributed service discovery protocol. Being an evolution of SSDP, SDfR can be also used to provide service discovery with the smartenvironment in which the robots are being deployed.

In order to have a suitable service discovery protocol for ad-hoc networked robots, we propose a protocol that is coping with the possibility of network disconnection. For this, we introduce a memory mechanism in which the protocol does not reinitializes itself after reconnection in order to avoid network overload. This section is structured as follows: Subsection 3.1 discusses the limitations of SSDP and how SDfR overcomes those. Section 3.2 presents the whole protocol model. Section 3.3 continues with the validation of the model and Section 3.4 presents the headers and the messages defined.

SSDP limitations overcome

SSDP is sending all the transmissions in multicast over UDP in a request-response context. It waits for a request to be acknowledged until a timeout is reached. This way of using multicast transmission has a great impact on the bandwidth consumed by the protocol. Even-more the protocol reinitializes each time a disconnection is made non-gracefully or a timeout parameter has expired. It does not provide any memory factor. Finally, it has limited performance in ad-hoc network. SSDP is most adapted for a centralized infrastructure where mobility is managed within network coverage. HTTP messages The messages that are being sent are an evolution of HTTP messages.

The main differences between SSDP and SDfR are:

Limited multicast transmissions SDfR does not have a requestresponse model. In order to avoid failure in case of a disconnection due to the movement of the robots outside the coverage area, all the communications are done using UDP (User Datagram Protocol)

Unicast transmissions To limit the network flooding when the protocol needs information from just one robot, a second transmission is enable in unicast mode.

History map SDfR does not need to reinitialize the entire discovery protocol when the connection is lost, because it disposes of a history map of all the already seen robots and their services. In order to avoid services that are out of reach (e.g service of robots that are present in the history map but are not present in the covered communication area), a connection indicator is computed for each robot.

Protocol Description

We have designed a model based on timed automaton [START_REF] Alur | A theory of timed automata[END_REF] for SDfR protocol. Figure 2 presents the timed automaton of our protocol.

We have chosen to model in this way because SDfR has a finite number of states extended with a finite set of real-value clocks.

SDfR, defines two methods that indicate the desired action to be performed: M-SEARCH and NOTIFY. The M-SEARCH method type is used when a new robot requests the discovery of new fleet members and their services. The only message type associated with this method is Discovery. The other method, NOTIFY is used to respond to a Discovery request or to inform the other about changes in the current state of the robot. The message types associated with this method are: Update, Alive and Byebye.

• The Update message is being sent as a response to a Discovery request or when the current services or capacities of the robot change.

• The Alive message is sent recurrently, as a beacon, in order to inform the others about the presence of the robot.

• The Byebye message is being send when the robot stop gracefully, in order to inform the others about its disappearance.

When the protocol initializes a discovery muticast message is sent, and then the protocol changes state into listen on a multicast as well as on an unicast socket. When the other robots receive a discovery message, they will respond with an update message.

When the protocol receives an update message, it will pass into an atomic state, Updating neighbors table. When the protocol receives an alive message, it will pass into Check if known state, that will determine if the unicast IP of the sender is already known. If so, it will pass into Updating neighbors table, otherwise it will send a unicast discovery message. The sender of the alive message responds by sending an unicast update message.

If the protocol traps a gracefully shutdown, a byebye message is sent and the other robots will update their neighbor table.

Protocol validation

We have modeled our system with UPPAAL [START_REF] Larsen | Uppaal in a nutshell[END_REF], a well-known formalism for the behavior of systems. All the state change depend on the message exchange timeout. In our protocol, all the actions that change the states depend on a specific time interval and on the sequence of the previous states. Thus, the time in our automaton is at the same time quantitative and qualitative. In order to simulate and check our model we have used a composition of the SDfR automaton and a client automaton (see fig. 3) that simulates the behavior of a random publisher or subscriber.

In order to verify our model, we have used linear temporal logic (LTL) [START_REF] Alur | A theory of timed automata[END_REF]. In LTL, for a given formula f, A[] means that f holds for all paths and E<> means that there exits a path where f hold. We have verified our model for deadlock and reachability properties.

A state is a deadlock state if there are no outgoing action transitions neither from the state itself or any of its delay successors. UPPAAL provides a special keyword, as shown in eq. ( 1), for verifying if a composition of automaton has a deadlock.

A[] not deadlock (1)
The evaluation succeed, thus protocol has no deadlocks.

Reachability properties are the simplest form of properties. They ask whether a given state formula can be satisfied by any reachable state. In order to prove that our protocol satisfies reachability properties, we have used eq. ( 2) and eq. ( 3). We have conduced the model checking of our automaton in UP-PAAL. The model validation is independent to the number of clients used. After the evaluation, all the states from all clients are reachable.

Clients = {8c|c

DCAP h h h h h h h h h h h h h h h h h h h h h h h

h h h h h h h h h h h h h h h h h h h h h 9 > > > > > > = > > > > > > ; Key Values Map

Messages and headers

In order to better understand the dynamic of the protocol, the following subsection focuses on the message and their headers and how they differ from UPnP in order to be adapted for multi-robot systems.

SDfR is compatible with UPnP because it uses the structures of SSDP, the service discovery protocol used in UPnP. This gives SDfR the advantage of being interoperable with any smart environment. In fig. 4, the fields inside a SDfR message header are displayed.

A full description of the SDfR header can be find below (fields with a + are new):

Location -Location of the device. This field was present in UPnP and was kept for retrocompatibility with this protocol.

USN -Unique Service Name. The field was present already in UPnP and reused by SDfR.

MAN -Message Type. The field was present already in UPnP and reused by SDfR.

DTYPE + -Device Type. This represents the type of hardware platform. (e.g Turtlebot2, PR2, etc).

DMOB + -Device Mobility. This new field was added in order to characterize the mobility of a robot. (e.g Mobile, Temporary Mobile, Static, etc).

ContentLength -The length of the message content without the header. For transmissions without any payload, the field is set to 0.

DCAP + -Device Capacities. It represents a dictionary on keys and values that characterizes the state of the robot. It can include statical information like the CPU frequency or the memory capacity, as well as dynamically information like the percentage of battery, the CPU usage ratio, etc. This data was included in every header of the SDfR because the information sent is highly-dynamic.

The main differences between SDfR and SSDP are the addition of 3 new fields: DTYPE, DMOB and DCAP. Another difference is the location field that is always marked by a '*'. In SSDP, the location was used to physically pin point the device like 'kitchen-fridge', I but in a fleet context it is hardly the case to have a fix physical location. Furthermore, the USN from SSDP, which represents the unique name of the service, is changed with the unicast IP address of the robot. All the SDfR messages are being sent in multicast, but the robot needs the unicast address in order to use the information given by the protocol.

All the messages share the same header information, only the payload of the message differs form one message type to another. There are even messages without payload like Byebye or Discovery. The fields, like in HTTP messages, do not have a fixed size, being very useful to customize the header for future use. {"Services": [ { "Name":"P2P Monitoring", "URL":"10.1.101.94:8042/auto_description", "Uuid":"3FA2F711-E142-4572-9AF0" "Metadata":{ "status" : "ok", "alerts" : "0", } } ] }

IMPLEMENTATION

Our solution is coded in the Go programming language [START_REF] Pike | Go at google[END_REF]. We wanted an easy to build programming language that allows us to develop simple, reliable, and efficient robotic service. Go provides concurrent abstractions and safe memory management, something lacking in C/C++ and to a certain degree from Python. Even more, with 'Go', we can build all-in-one package, that does not have any dependencies since all the auxiliary libraries are built-in in the service executable. Even with all the dependences, the executable is still lite. Furthermore, we are able to build cross-platform executables which is an important aspect in deploying SDfR service across a heterogeneous platform of robots. To achieve the service discovery goal, we needed a generic way to describe the services in the Update messages. Our service is not interested in consuming the registered services, its purpose is to distribute the information about these services across the network fleet. A service is described as follows:

Name -The name of the service. Same service on multiple robots may have the same name.

URL -The auto-description URL of the service. This is being used by other services / processes that want to consume the service to configure themselves.

Uuid -A universal unique identifier. This field is unique across all the fleet. Even if a service is found on multiple robots, they will have different Uuids.

Metadata -A key value dictionary that is used to filter and to describe the services.

We have implemented SDfR as a service itself. The main advantage is that it can run separately of the other processes on the robot and all the messages are being consumed by instances of the service on multiple robots. If it fails, it would not affect the other services running on the robot. It is able to recover after crash and restart the process independently. This sand-boxing1 also ensures that the information sent by the protocol is not corrupted by any other thirdparties.

SDfR service is composed of two key components that share the same memory as shown in fig. 5. The external interface used to communicate with other services and components is represented as a RESTfull2 interface. The second component is the internal communication interface used by SDfR participants in order to advertise their presence and services across the neighbors network.

A neighbor robot is defined as follows in SDfR list of services:

IPAddr -The unicast IP address of the neighbor.

DeviceType -The device type of the neighbor (e.g Turltebot2, PR2).

DeviceCapabilities -A key value dictionary of the robot capacities.

DeviceServices -A list of services. The list is composed of the service type presented above.

DeviceMobility -The mobility of the robot.

PingRatio -The quality of transmission between the requester and the desired robot. The service that pilots SDfR protocol has some built-in additional features. Firstly, based on a simple configuration file, it is able to automatically connect to an ad-hoc network. The SSID network is composed using the fleet id and is secured using a WAP2 Personal password from the configuration file. This mechanism allows to have multiple fleets of robots in the same networked space. Even more, the robots can auto assign IP addresses. The standard network space is 10.<fleet id>.<x>.<y>, where x and y are computed by each robot from their internal MAC address in order to avoid IP conflict [START_REF] Thomson | Ipv6 stateless address autoconfiguration[END_REF]. Furthermore, if an IP conflict happens, the service has a mechanism to trigger an IP change on the robots.

URL

BENCHMARKING

To evaluate our protocol we looked up the various impacts that it will have on the system composed by the robots. Firstly we were interested by the request time of a publisher that advertise its service and a subscriber that request information about the services on nearby neighbors. Secondly, we have analyzed the impact on the machine on which the SDfR runs, especially the CPU used. Finally, keeping in mind that the protocol should not use a great bandwidth, we analyzed the quantity of send and received bytes.

We have divided our benchmarks into 5 scenarios by using various number of Tuterbot In our test-runs we have used simulated services that want to register/subscribe into SDfR. We have a combined number of 10 publisher/subscribers on each robot. We have simulated three type of actions: publish, unpublish and subscribe.

• We have simulated new services that want to publish via a POST to /me/services/ with a delay time between 1 and 10 seconds. In order to simulate publishers, we have used an Apache server on each robots that responds to the auto-discovery URL of each publisher.

• Each of the already published services could be unpublished with a random delay between 1 and 5 seconds via a DELETE to /me/services/.

• We have generated separated threads for each subscriber that perform GET requests on /neighbors/ . Each thread will constantly request the table of neighbors from SDfR, in order to stress at maximum our protocol.

Each test-run was given 5 minutes to collect the data for our benchmarks. In table 2 is summarized our test cases.

We have analyzed the request time of a service that wants to publish itself in SDfR because it is an important metric for the use of the protocol. A service needs to have a fast response when it advertises its service in order to avoid blocking states. As displayed in fig. 6, the response time is between 106.2 and 107.2 ms which is satisfying. When the number of robots increases the request time remains limited, having a maximum increase of 0.5 ms per 10 robots. The publish request time also includes the auto-description URL check, where SDfR performs a request on the Apache Server. In figure 7, we looked the request time of a service subscriber.

Based on the number of subscribers per robot, we have generated parallel threads that requested constantly the neighbors table. We have observed that the request time is very low, between 1.7 and 2.9 ms even if the SDfR service was stressed at maximum. The trend for this graphic appears to be linear in the number of robots. In order to measures the weight of the service on the host machine, we have analyzed the CPU usage and the memory occupation. The CPU average usage was between 0.2% and 0.8% (see fig. 8). The average value is computed using all the peak measurements. The peak occupations represented 0.1% of the total test-run. If we compute over all the test-run, the average value is almost 0%.

The memory occupation was at almost 0.2% of the total memory of the PC regardless of the robots or publishers numbers (no graphics given). this paper we presented the challenges to make an adapted service discovery protocol for multi-robot systems. We have discussed the limited applicability of existing service discovery protocols in the context of robot fleets. Then, we have proposed a new protocol, called SDfR, suitable for service discovery inside an ad-hoc networked fleet and we have presented our implementation as a service with a RESTfull interface in 'Go' language. Furthermore, we have evaluated our new protocol in terms of resource consumption on the robots. These results show that SDfR is a light and useful brick in the service management in a robotic fleet even if a benchmarking with a larger number of robots should be made.

Our perspectives are to continue to enrich the families of middleware for robotics by adding other components that use SDfR service. Our vision is to improve the robotic fleet middleware by adding new service oriented bricks like P2P monitoring and P2P configuring.

In our approach to improve the family of middleware for multirobot systems, we intend to use SDfR in order to build additional bricks of middleware that will simplify the process of development, but especially the process of deployment and operation of new robotic softwares. The next step is to investigate a new monitoring environment for the fleet of robots. We plan to provide a mechanism to monitor the fleet based on a peer to peer (P2P) protocol. This new service will be registered with SDfR, but will also rely on SDfR in order to obtain information about the nearby robots. The monitoring tool can be used by an end-user in order to survey the fleet, even the part of the fleet that is not reachable by the ad-hoc network.

In addition, we want to provide a simple mechanism to deploy new software and configure the robots. In our opinion, when a new software needs to be deployed, we do not need to deploy it manually on each robot. Even more, we consider that the automated deployment should be done in the environment where the robots are deployed, thus using a P2P deployment tool.

Figure 1 :

 1 Figure 1: SDfR in ad-hoc network

Figure 2 :

 2 Figure 2: SDfR state automaton

Figure 3 :

 3 Figure 3: SDfR client automaton

Figure 4 :

 4 Figure 4: SDfR common header

Figure 5 :

 5 Figure 5: SDfR service architecture

Figure 6 :

 6 Figure 6:

Figure 7 :

 7 Figure 7: Service subscribe average time

Figure 8 :

 8 Figure 8: CPU % usageAnother import metric that we have analyzed during our test-runs is the quantity of bytes sent and received by each robot. Figure9and 10 present the evolution of the quantity of kilobytes transmitted and received by all the robots that took part in each scenario. The receptions are between 60 and 380 kilobytes during the 5 minutes run per robot, while the transmissions are between 50 and 800 kilobytes per robot. Those values are very satisfying because a robot is sending on average only 160 kilobytes/minute. The bandwidth occupied by SDfR is very low.

Figure 9 :

 9 Figure 9: SDfR Transmission bytes

Figure 10 :

 10 Figure 10: SDfR Reception bytes

  follows the behavior of a SDfR client}

		Method	Location	USN
		MAN	DTYPE	DMOB ContentLength
	States = {Closed, SendingDiscovery,
	Listen, U pdatingT able,
	SendingAlive, SendingU pdate}
		(2)
	8c 2 Clients, 8s 2 States, 9E <> c.s == T rue	(3)

Table 1 :

 1 API descriptionA full description of each web-service provide by SDfR can be found in table 1. SDfR service is represented as Representational State Transfer[START_REF] Fielding | Representational state transfer. Architectural Styles and the Design of Netowork-based Software Architecture[END_REF] (RESTfull) web-service. It is based on normal HTTP requests which enables to infer the type of request being made and is completely stateless. All the responses are JSON messages.

		Method	Description
	/me/services/	GET	Returns the registered
			service list
	/me/services/	POST	Registers or updates
			a service in the local
			service list
	/me/services/	DELETE Deletes a local service
			from the list
	/me/capacities/	GET	Returns the capacities
			of the robot
	/me/capacities/	POST	Adds or update a ca-
			pacity
	/me/capacities/	DELETE Deletes a capacity
	/neighbors/	GET	Returns a full list of
			neighbors and full de-
			scription of their ser-
			vices
	/search/capacities/	GET	Filters the list of
	?<value>=[><]<key>		neighbors for capaci-
			ties in the URL query.
			> < can be used for
			comparison and | for
			regular expression
	/search/services/	GET	Filters the list of
	<name>/		neighbors for services
	?<value>=[><]<key>		with the specified
			name and metadata
			filters from the URL
			query. > < can be
			used for comparison
			and | for regular
			expression

Table 2 :

 2 Test-cases summary

		2 robots equipped with an Intel Core 2 Duo,
	2.1 GHz CPU, 4Gb of Ram PC running on Ubuntu 13.04. We have
	used a number of 2, 4, 6, 8 and 10 robots. For each scenario, we
	have run 4 different ratios of publishers /subscribers: 20%/80%,
	40%/60%, 60%40%, 80%/20%.
	Nb Robots Pub/Sub ratio Nb pub Nb sub
	2	20%	4	16
	2	40%	8	12
	2	60%	12	8
	2	80%	16	4
	4	20%	8	32
	4	40%	16	24
	4	60%	24	16
	4	80%	32	8
	6	20%	12	48
	6	40%	24	36
	6	60%	36	24
	6	80%	48	12
	8	20%	16	64
	8	40%	32	48
	8	60%	48	32
	8	80%	64	16
	10	20%	20	80
	10	40%	40	60
	10	60%	60	40
	10	80%	80	20

Component isolation or sand-boxing is a security mechanism for separating running process. The code and data spaces are also separated for each process.

[START_REF] Borja | Integration of service robots in the smart home by means of UPnP: A surveillance robot case study[END_REF] RESTfull defines a set of architectural principles by which it can design Web services that focus on a system's resources, including how resource states are addressed and transferred over HTTP by a wide range of clients written in different languages.


Christophe Laurent

Emmanuel Flahaut

Alain Peigney

Abel Rousset

Metal nanoparticles for the catalytic synthesis of carbon nanotubes

Single-wall and multiwall carbon nanotubes are currently the subject of an intense research e †ort owing to the outstanding properties they may possess. Many synthesis methods have been proposed, most of which involve nanometric metal particles. In this article the various mechanisms proposed for nanotube nucleation and growth from such particles have been reviewed. The micro/nanostructure of the materials obtained by the di †erent methods have also been addressed.

To the question " What exactly is a carbon nanotube ? Ï, Ebbesen proposed in an early review1 of this fast evolving Ðeld the answer that it is " a fullerene, a Ðbre, a micro-crystal, a tube . . . perhaps a little bit of each and more Ï. Indeed, carbon nanotubes are at the intersection of the science of carbon Ðbres, a well-established domain, and the relatively novel Ðeld of fullerenes (Kroto, Smalley and Curl, Nobel Prize for Chemistry 1996).

Hollow carbon Ðbres have been observed for several decades, but it is the groundbreaking report by Iijima2 on the obtaining of carbon tubes with a diameter in the nanometer range, the so-called carbon nanotubes, and on their relation to the recently discovered fullerenes,3 that triggered a worldwide research e †ort devoted to improving their synthesis, to determining their structure4h8 and to calculating and measuring their physical properties.9h18 Most of the early theoretical work has focused on single-wall tubes (denoted as SWT hereafter) and the actual measurement of the properties of such minute objects has proven to be a challenging task.

A comprehensive description of the structure, properties and applications of carbon nanotubes is given in the book by Dresselhaus et al.,[START_REF] Dresselhaus | Science of Fullerenes and Carbon Nanotubes[END_REF] to which the reader is referred for more details. SWT, cylindrical in shape, are considered to be either inÐnite or to have caps at each end, such that the two caps can be joined to form a fullerene. The cylindrical portion of the tube consists of a single graphene sheet, rolled to form a cylinder. Bisecting a molecule normal to a Ðvefold or a C 60 threefold axis and inserting a cylinder, one obtains the socalled " armchair Ï or " zigzag Ï tubes, respectively. Such tubes present no helicity. However, there are various possible caps and di †erent ways to roll the sheet, each way corresponding to a particular tube diameter and helicity.2 A helical vector represented by a pair of integers (n, m) has also been deÐned. The minimum capped tube diameter that has been observed is 0.71 nm, which is equal to that of the molecule. The cor-C 60 responding helical vectors are (5,5) for the " armchair Ï tube and (9, 0) or (0, 9) for the " zigzag Ï tube. A transmission electron microscopy (TEM) image showing single-wall carbon nanotubes is shown in Fig. 1(a). Most often, multiwall nanotubes (denoted as MWT in the following), consisting of several coaxial carbon cylinders, are observed [Fig. 1(b)]. The measured interlayer distance (0.34 nm) is very close to that measured between graphene sheets in graphite. There appears to be no particular correlation between the helicity of concentric layers.1,2

A particularly interesting feature is the possibility of Ðlling or covering the tubes with other materials. Tsang et al. [START_REF] Tsang | [END_REF] and Ajayan et al. 21 have found that heating carbon nanotubes in an oxidizing atmosphere results in attack on the pentagons in the fullerene cap and thus in tube opening. Oxidation in the presence of Pb resulted in the Ðlling of the tubes by a Pb compound22 due to a nanocapillarity process. Other chemical methods have been proposed. 23 The in situ formation of nanotubes Ðlled with a metalloid, a metal or a carbide (the socalled nanowires) was also investigated.24h28 In addition, several groups29h32 have used the nanotubes as templates to prepare tubular oxides. Both theoretical and experimental studies33h38 have shown that carbon nanotubes have excellent mechanical characteristics. Indeed, the YoungÏs modulus of MWT has been calculated36 to be up to 1.4 times that of a graphite whisker (i.e., about 1 TPa) and values derived from thermal vibration experiments performed on several MWT in a transmission electron microscope38 are in the 0.4È3.7 TPa range. Moreover, the Ñexibility of carbon nanotubes is remarkable39,40 and the bending may be fully reversible up to a critical angle value as large as 110¡ for SWT. 37 The electrical characteristics of the nanotubes have also been investigated by theoretical and experimental works,9h13,41h43 which have brought to light some remarkable features that could be related to the unique one-dimensional nature of the tubes. Depending on structural parameters such as the tube diameter and helicity, either a metallic or semi-conducting behaviour may be observed.

Obviously, a possible application of the nanotubes could be as part of new composite materials that may exhibit outstanding properties. Several groups34,35,44h52 are working on the preparation of materials containing carbon nanotubes, which, besides their speciÐc properties, are considered as the ultimate carbon Ðbres. 33 Many methods have been used to produce carbon nanotubes but they mainly fall into one of the following categories : arc discharge in the absence or presence of metal, laser vaporization of a metalÈgraphite composite target, carbon monoxide disproportionation on a metal catalyst and hydrocarbon pyrolysis, generally using a metal catalyst. In the following sections, we will review the di †erent synthesis methods of Iijima-type carbon nanotubes and the nucleation and growth mechanisms that have been proposed. Although emphasis will be placed on those that involve nanometric metal particles, mechanisms that do not will also be mentioned. The micro/nanostructure of the obtained tubes and materials will be addressed and will be illustrated by examples from the present authorsÏ work.

Arc-discharge and laser Vaporisation Methods

Arc-discharge methods

The arc-discharge method for the preparation of carbon nanotubes is similar to that used for the synthesis of fullerenes. Following the initial report of Iijima,2 Ebbesen and Ajayan53 have proposed modiÐcations for the large-scale synthesis of carbon nanotubes. An inert gas atmosphere (typically He) is Ñowed through a reaction vessel at a controlled pressure. Two graphite rods constitute the electrodes, between which a potential di †erence is applied. As the rods are brought close together, a discharge occurs resulting in the formation of a plasma. A deposit, which may contain carbon nanotubes under certain conditions, forms on the larger negative electrode (cathode) while the smaller positive electrode (anode) is consumed. When a metal catalyst is to be used, a hole is drilled in the carbon anode and it is Ðlled with a mixture of metal and graphite powder. In this case, most nanotubes are found in the soot deposited on the arc-chamber wall.54 Typically, the outer diameter of carbon nanotubes prepared by the arc-discharge method ranges between 2 and 20 nm and the inner diameter ranges between 1 and 3 nm.1 The length is micrometric. It is important to note that the obtained materials do not consist solely of nanotubes but also of nontubular forms of carbon such as nanoparticles, fullerenes and a lot of amorphous carbon. Ebbesen 57,58 suggested that the extension and thickening of the tubes occur by the island growth of graphene basal planes on existing tube surfaces. In the case of SWT, these authors assume that axial growth predominates over layer growth. Dresselhaus et al. [START_REF] Dresselhaus | Science of Fullerenes and Carbon Nanotubes[END_REF] point out that since the experimental conditions for forming carbon nanotubes vary signiÐcantly depending on growth method, more than one mechanism may be operative.

Iijima and Ichihashi58 have prepared SWT by covaporizing graphite and Fe in an atmosphere. The tube diam-ArÈCH 4 eters are in the 0.7È1.6 nm range with peaks in the distribution at around 0.8 and 1.05 nm. The SWT often form bundles. These authors noticed that no tubes were formed when the carbon arc reactor was operated with any one of the three components (Ar, and Fe) absent. Cementite particles CH 4 ranging in size from a few nanometers to several tens of nanometers and coated with a few graphite layers were observed, but no Fe or Fe carbide particles were found at the tips of the tubes. It was, however, assumed that Fe particles acting as a homogeneous catalyst in the gas phase somehow assist in the formation of SWT.

Bethune et al.61 have reported that covaporizing carbon and Co in an arc generator under a He atmosphere leads to the formation of carbon SWT of very small diameter (ca. 1.2 nm). These authors stress that the tubes grow from carbon vapor with no dissociation of hydrocarbon needed. Co is found in the form of round clusters with diameters ranging from an few nanometers to 20 nm. However, the relationship between the Co particles and the tubes remained unclear. Under the same experimental conditions, no tube growth was observed when using Fe, Ni or a 50 :50 NiÈCu mixture, in contrast to results obtained in the presence of hot gaseous hydrocarbons.62,63 The same group of authors has reviewed the Ðeld of SWT54 at the time (1995) and they pointed out that how the metal exerts its catalytic inÑuence remained an open question. Available results suggested a model where small catalytic particles rapidly assemble in a region of high carbon density. SWT nucleate and grow very rapidly on these particles as soon as they reach a critical size, leading to the relatively narrow diameter distributions observed.

In the presence of a Co-based catalyst, the promoters S, Bi and Pb have been found to increase the production yield of SWT as well as dramatically modify the diameter distribution.64 According to Kiang and Goddard,64 the di †erences in structure and growth environments suggest that the SWT growth mechanism is distinct from that of multilayer nanotubes or carbon Ðbres. These authors have proposed that planar polyyne rings serve as nuclei for the formation of SWT, whose diameter would be related to the ring size (Fig. 2). Thus and monocyclic rings would lead to SWT with diam-C 32 C 38 eters of 1.25 and 1.5 nm, respectively, which correspond to the peaks in the measured diameter distribution. The starting materials for producing SWT are monocyclic carbon rings, acting as nanotube precursors, and species, acting as Co m C n catalysts. The composition and structure of the Co carbide cluster are undetermined, but it should be able to bond to C n and/or to add the to the growing tube. In the arc plasma, C n the presence of electrons and other charged species (carbon and metal clusters) may cause the geometry of a monocyclic ring to deviate from the uniform planar form at elevated temperatures, resulting in local cis or trans carbon deformations. The helical angles of the tubes are determined by the ratio of cis to trans conformations of the nucleus ring during the growth of the Ðrst benzene ring belt. The authors64 claim that the observed lack of additional layers on the catalytically produced nanotubes supports the hypothesis that the nanotubes grow from a polyyne ring gas phase species (because there are no nuclei to form multiple layers), in contrast to multiwalled tubes that grow from the cathode, which provides a surface for the nucleation of multiple layers. Furthermore, this model with open-end growth is consistent with the observations that amorphous material can be included in the tube, in contrast to closed-end mechanisms.55, 56 The formation of larger tubes upon the addition of S, Bi or Pb to the Co catalyst suggests that these promoters modify the growth at the nucleation stage ; they may stabilize larger monocyclic rings, providing the nuclei necessary to build larger diameter SWT.

Recently, Journet et al. 65 have reported the large-scale production of SWT by the electric-arc technique. These authors emphasize that their results are very similar to those of Thess et al.66 (yields in the 70È90% range, diameters around 1.4 nm, crystalline bundles of a few tens of tubes and only a few isolated SWT). They point out that this therefore implies that there is a unique growth mechanism for the nanotubes, which does not strongly depend on the details of the experimental conditions, but which depends much more on the kinetics of carbon condensation in a non-equilibrium situation. Temperature and temperature gradients in space and time must play an important role, as can be seen by the fact that most of the SWT were found in a very speciÐc zone of the reactor (a few centimeters around the cathode). In addition, these authors claim that the use of a second element (Y) beside the Ni or Co catalyst during the evaporation process strongly favours the SWT growth.

Iijima and Ichihashi58 have claimed that Ar, Fe and CH 4 are the three indispensable materials to produce SWT and Bethune et al.61 reported that no tube growth was observed when using Ni as catalyst. In contrast, a study by Saito et al.67 revealed that Ni is also an e †ective catalyst for the production of SWT and that the addition of to the arc reactor is not CH 4 at all necessary. Regarding the inÑuence of Ni, Saito et al.68,69 pointed out that no Ni clusters or particles are observed at the tips of the tubes, but they reported that the SWT grow radially from a Ni carbide particle (Fig. 3). Similar results have been reported using La,70 Gd71 and Y,72 but the tube length is much shorter (ca. 100 nm) in these cases than when using Ni (a few micrometers). The tube diameter is also larger. These authors68,69 have proposed a growth process of SWT from a core metal particle. When a metal catalyst is evaporated together with carbon by arc discharge, carbon and metal atoms condense and form alloy particles. As the particles are cooled, carbon dissolved in the particles segregates onto the surface because the solubility of carbon decreases with decreasing temperature. Some singular surface structures or compositions on an atomic scale may catalyse the formation of SWT. After the tube nuclei are formed, carbon may be supplied from the core particle to the roots of the SWT and the tubes grow longer, maintaining hollow capped tips. Addition of carbon atoms (and dimers) from the gas phase to the tips of the tubes may also help the growth of the tubes.

Seraphin and Zhou73 have reported the high-density preparation of SWT in the presence of mixed FeÈNi and FeÈCo catalysts in an Ar atmosphere, found in the soot as well as in the weblike deposits formed in the chamber. They obtained gram quantities of SWT ranging from 0.9 to 3.1 nm in diameter and over 5 mm long. The tubes are arranged in bundles of 5 to 15 units. The density of tubes is much higher when using mixed FeÈNi and FeÈCo catalysts instead of pure Fe, Co or Ni. These authors point out that the observed Fe (FeÈNi) metal and carbide particles (5È30 nm) have a diameter much larger than that of the tubes and that no particles are associated with the tube tips, showing that the SWT do not grow out of the metal particles as in the pyrolysis methods. These authors believe that in the SWT growth the metals play a catalytic role on the atomic level, rather than just acting as heterogeneous nucleation sites.

Zhou et al. 74 have reported the observation of nonconcentric growth phenomena of carbon nanotubes during the arc-discharge evaporation without catalyst. This suggests that the driving force for the nucleation process is not always lined up with the center of the tube. Interestingly, when using as the catalyst, these researchers have also observed YC 2 bundles of SWT growing out radially from the carbide particles.

Maiti et al. 75 have used molecular-dynamics simulations and total-energy calculations in order to analyse the growth mode in which the metal particles are much larger than the tube diameter, leading to the precipitation of a large number of SWT from a single particle surface.69h72 The starting material is a large metal particle covered by graphene sheets. According to the model, carbon atoms precipitate from the metal particle, migrate to the tube base and deposit a net number of hexagons on the tube stem. The authors discuss the case where only carbon atoms precipitate from the metal particles but note that dimers and trimers do not qualitatively change the results. All simulations show that a precipitated atom forms a handle between a pair of nearest-neighbour carbon atoms. Thus each handle atom is twofold coordinated, Ñanked by threefold-coordinated carbon atoms, which were nearest neighbours in the absence of the handle. On a Ñat graphene sheet the handle does not have any preferential site and will thermally migrate on the hexagonal network until it reaches the tube base. Indeed, calculations show that the energy of a single handle is a minimum at the point of highest curvature, which is the region where the heptagons are located. Total-energy calculations show that a pair of handles prefer to be on the opposite sites of a heptagon. The addition of hexagons then occurs through a sequence of processes involving such a pair of handles. However, Maiti et al. 75 point out that providing an atomistic picture of nanotube nucleation is more difficult. They have therefore combined molecular-dynamics simulations on the carbon system with a conjecture that the metal particle surface contains protrusions whose maximum height is within a few nanometers, the particle diameter being of the order of a few tens of nanometers. From the simulations it emerges that protrusions with a diameter small compared to the height can lead to SWT nucleation, while wider protrusions lead only to a strained graphene sheet and no nanotube growth. This would explain why all observed SWT are narrow. The increased production of SWT with speciÐc mixed catalysts may be attributed to either (1) an enhancement in the precipitation of carbon atoms, (2) changes in the activation barrier for growth or (3) the formation of a large number of narrow protrusions.

Laser vaporization

Guo et al. 76 have proposed an original method for synthesizing SWT in which a mixture of carbon and transition metal are vaporized by a laser impinging on a metalÈgraphite composite target. They point out that in contrast to the arc method, direct vaporization allows far greater control over growth condition, permits continuous operation and produces nanotubes in higher yield (70È90%) and of better quality. Their SWT are all about 1 nm in diameter and are arranged in bundles (called ropes), with similar spacing between adjacent nanotubes. No amorphous coating of the tubes was observed. These authors investigated various mono-and bimetallic catalysts : Ni produced the greatest yield, followed by Co. Pt produced a very small number of tubes, while no tubes were observed with Cu or Nb alone. For bimetallic catalysts, CoÈNi and CoÈPt mixtures yielded SWT in similarly high abundance, with a SWT yield 10È100 times that for single metals alone. These were closely followed by NiÈPt, while a CoÈCu mixture produced a small quantity of SWT. In all cases, no MWT were observed. No correlation was observed between SWT diameter and catalytic particle size. Guo et al.76 assumed that SWT originate from metal particles whose diameters were too small to nucleate and grow the second wall. They pointed out that no mechanism for SWT formation explains how metal particles are prevented from getting too big. Compared with the condensation of pure carbon vapour in the laser vaporization apparatus, which is known to produce and other small spheroidal ful-C 60 lerenes,77 the presence of ca. 1% of metal atoms in the vapour produces dramatic changes. In the so-called " scooter Ï mechanism, Guo et al. 76 propose that before the fullerene precursor closes, a few metal atoms (perhaps only one) chemisorb on the carbon cluster and migrate to the dangling bonds at the carbon cluster edge, inhibiting closure of the fullerene by partially satisfying the previously dangling bonds. Carbon that now collides with a metalÈcarbon cluster will di †use to its most energetically stable site, inserting between the carbon edges and the metal particle, lengthening the fullerene. Metal atoms that collide will also di †use and add to the growing metal particle. However, collisions between metal clusters are inhibited by the presence of growing nanotubes attached to them. Thus, this may quench the metal particle size at 100È 300 atoms to form the required 1È2 nm diameter catalytic particles. These authors note that continued growth of the SWT will still be favoured even when the metal particle at its tip grows beyond the initial 1È2 nm diameter. According to Guo et al.,76 the observed enhancement in yield from the bimetallic catalysts compared with either metal alone strongly suggest that formation of SWT in all cases involves more than just a few metal atoms decorating the nanotube edge. These authors suggest that the principal e †ect of a mixture is to increase the mobility of carbon on and/or within the metal particle, resulting in a greater rate of SWT precipitation from the particle. The laser vaporization method was improved and the scooter mechanism reÐned in a subsequent work by the same group of authors.66

Catalysis Methods

Basically the catalysis methods consist in passing a gaseous Ñow containing a certain proportion of hydrocarbon (mostly and usually as a mixture with

CH 4 , C 2 H 2 , C 2 H 4 C 6 H 6 , H 2
) or CO over small transition metal particles. The formation of carbon Ðlaments by catalytic decomposition of carbonaceous gases on metal particles has been known for a long time78 and the formation mechanisms have been hotly debated over the years. Many parameters, including the temperature and duration of the treatment, the gas composition and Ñow rate and the catalyst nature and size, will a †ect the nature of the carbon species in the resulting material. Indeed, one may obtain a mixture of amorphous carbon, carbon particles either connected or not to the metal or carbide particles, bulk or surface carbidic carbon, Ðlaments that are not tubular (Ðbres) and various kinds of tubes including Iijima-type nanotubes. Rodriguez79 has reviewed the advances in the development of these nanostructures, notably in the light of the progress made in electron microscopy techniques. It is notably stressed in this work79 that active species for Ðlament and nanotube formation are metals and not carbides. For the preparation of Iijima-type carbon nanotubes, on which we will focus in the following, it is of utmost importance to use metal particles in the nanometer size range. Achieving this is obviously related to the way the catalyst material is prepared. Interestingly, carbon nanotubes prepared by hydrocarbon decomposition are much longer (some tens or hundreds of micrometers) than those obtained by arc discharge (a few micrometers).

Pyrolysis of hydrocarbons

The investigations reviewed by Rodriguez79 usually concern materials prepared by impregnating a suitable substrate (graphite, . . .) with a salt of the desired metallic Al 2 O 3 , SiO 2 , catalyst. A treatment in the appropriate atmosphere gives rise to metallic particles with a fairly broad size distribution. In consequence, these methods lack in selectivity with respect to SWT and MWT synthesis.

Baker and Rodriguez80 have prepared carbon nanoÐbres and nanotubes by heat-treating Fe powder and Fe nanoparticles supported on carbon, respectively, in gas C 2 H 4 ÈCOÈHe mixtures (at 600 ¡C). It is emphasized that nanoÐbres are obtained from large Fe particles ([20 nm) whereas nanotubes are formed with the aid of smaller particles (\20 nm). The catalyst particles are found at the tube tips and no amorphous carbon is deposited because of the relatively low temperature used. Interestingly, earlier work by the group of Baker81 had shown that the linear Ðlament growth rate varies inversely with the mean radius of the catalytic particle. These authors80,82 have proposed a mechanism for Ðlament formation involving the following steps : (1) gas adsorption at the metal surface followed by decomposition reactions leading to chemisorbed carbon species, (2) dissolution in and di †usion of carbon species through the metal particle to active growth areas, (3) precipitation of the carbon species to form the body of the Ðlament and (4) migration of carbon species remaining on the metal surface around the particle to form the skin component of the Ðlament. This mechanism accounts for the observation that carbon grows at the rear of the metal particle, which is carried away from the substrate surface. The crystallographic arrangement adopted by the metal particle will determine the direction in which the graphite platelets are oriented : parallel to the growth direction as in Iijima-type NT (nanotube), perpendicular to the growth direction (nontubular Ðbre) or in the so-called Ðshbone conformation (hollow Ðbre).

In particles were found at the tip of the central Fe 3 C tube of each Ðbre. These authors83 proposed a growth model related to the surface di †usion of carbon species on the catalyst particle (Fig. 4). An association of metal and hydrocarbon nucleates and di †uses on the clean Fe particle surface (which they assume is " liquid-like Ï) and eventually dissociates at the contact angle between the particle and the substrate, thus producing the beginning of a carbon shell. New metalÈ hydrocarbon species dissociate on its edge and the carbon layers develop by lateral growth, following the external surface of the catalyst. Such a lateral growth exerts a force strong enough to lift up the catalyst particle above the surface of the substrate. The hollow channel in the centre is due to the fact that no carbon supply can reach the back of the particle. Growth of carbon layers would continue as long as there is a supply of metal from the top of the particle, the metal being progressively trapped between the carbon layers.

The model for Ðlament morphology proposed by Tibbetts84 assumes that molecular decomposition and carbon solution occur at one side of a catalytic particle. This particle becomes supersaturated and the consequent gradient in chemical potential causes bulk di †usion to the back face of the particle where precipitation occurs (Fig. 5). Because the free energy of the (0001) basal plane of graphite is exceptionally low, it is energetically favourable for the Ðbre to precipitate with graphite basal planes parallel to the exterior planes and a hollow core. Calculated inner diameters were in good quantitative agreement with TEM observations. Most of the work presented above in this section was performed before the discovery of fullerenes and carbon nanotubes and therefore, although the formation of tubular carbon structures by a catalytic process was identiÐed, did not concentrate on the preparation of Iijima-type SWT and MWT preferentially to other carbon species. More recent studies aim to achieve this, notably by using the smallest possible metal particles. ). most of the Ðlaments were graphitic and sometimes covered by amorphous carbon, whereas use of Ni or Cu leads to much more amorphous materials.

was found to be the best CoÈSiO 2 catalystÈsupport combination for the production of MWT. Straight and coiled tubes were obtained with inner and outer diameters of 3È7 and 15È20 nm, respectively, and up to 30 lm in length. Both the outer diameter and the thickness of the tubes depend on the size of the metal particle. However, no metal particles were found at the tube tips, indicating a di †erence in growth mechanism compared with those previously postulated.80h88 These researchers90 have optimized the method for catalyst preparation and the reaction conditions. The method of precipitationÈion-exchange was found to provide a better dispersion of metals on than the SiO 2 impregnation technique. In addition, it is reported that a decrease of the treatment temperature (from 700 to 600 ¡C) leads to a strong decrease in the amorphous carbon production, but also to a lesser degree of crystallinity of the tubes. Interestingly, further heating of the specimens in a H 2 ÈN 2 atmosphere is claimed to result in the gasiÐcation of the amorphous carbon, leading to the cleaning of the MWT.

Moreover, a decrease in the contact time at constant temperature leads to the predominance of graphitization over pyrolysis. Length was also found to depend on the duration of the catalytic process, in agreement with Jose -Yacaman et al.89 However, it is pointed out that the longest tubes are also the thickest. Further work by the same group of authors91h93 stresses that both the selectivity and the yield of the catalytic method are signiÐcantly higher than that of the arc-discharge method with respect to MWT formation. An improvement was proposed by these researchers,92,93 which consists in the use of a zeolite-supported Co catalyst, resulting in very Ðnely dispersed metal particles (1È50 nm in size). Only on this catalyst could these workers observe extremely thin tubes (4 nm) with the walls composed of 2È3 layers. Their amount is, however, very small. Interestingly, it is proposed92 that a Co carbide, and not Co, is the active catalyst for the production of nanotubes. This group has proposed growth mechanisms for coiled94 and helix-shaped95 carbon nanotubes. It is claimed95 that the distinction between mechanisms, whereby the catalytic particle promotes " tip growth Ï or " base growth Ï, does not appear to be essential because in both cases the tube grows away from the particle by the deposition of carbon in the contact region between the particle and the already formed tube segment. Whether the carbon di †uses through the particle before precipitating at the surface of the particle or is formed directly from the gas phase at the surface area in contact with the tube is also not essential for the geometry of the process. The di †erent growth stages of MWT are shown in Fig. 6. 95 The concept of a spatial-velocity hodograph is introduced to describe quantitatively the extrusion of a carbon tubule from a catalytic particle. 95 The present authors have proposed another method aimed at obtaining metal particles at the size required for Iijima-type carbon nanotubes. Indeed, earlier works have shown that metal oxide nanocomposite powders are advantageously prepared by selective reduction in of oxide solid solu-H 2 tions.96h105 In these materials, the metal particles (Cr, Fe, Co, Ni and their alloys) are generally smaller than 10 nm in diameter and are located both inside and at the surface of the matrix grains MgO, It has been

(Al 2 O 3 , Cr 2 O 3 , MgAl 2 O 4
). shown106 that when using a gas mixture instead of H 2 ÈCH 4 pure for the reduction of an solid solution, H 2 a-Al 1.9 Fe 0.1 O 3 the pristine Fe nanoparticles formed in situ, upon reduction of the very homogeneously dispersed surface Fe3`ions, are active at a size adequate for the catalytic formation of nano-Fig. 6 Growth stages of carbon MWT : (a) a small catalytic particle rests on a larger one that acts as a support ; (b) and (c) the small particle is lifted away from the support by the deposition of graphene sheets, formed from carbon di †usion through the catalyst and through the base ; (d) the outer diameter of the tube becomes equal to the particle size ; (e) a layer of graphite covers the small particle and inhibits further tip growth of the tube ; ( f ) tubular layers fed by the supporting particle grow beyond the small particle ; (g) and (h) the particle is already covered by a graphite layer during the initial stage ; further growth occurs by extrusion through the base and di †usion occurs along the graphite surface (adapted from Fig. 4 in ref. 95) tubes. The resulting carbon composite nanotubeÈFeÈAl 2 O 3 powder contains an enormous amount of SWT and MWT with a diameter in the 1.5È15 nm range (Fig. 1). Most MWT appear to have only 2 or 3 shells. The nanotubes are arranged in bundles smaller than 100 nm in diameter and which may be up to 100 lm long. The bundles appear to be very Ñexible (Fig. 7). We have proposed106 a method based on chemical analysis and speciÐc surface area measurements that allows a quantiÐcation of the amount of nanotubes in the composite powder and also produces a so-called quality value, a high quality denoting a smaller average tube diameter and/or more carbon in tubular form. It has been calculated that the total bundle length in 1 g of composite powder is greater than 100 000 km. Indeed, the metal oxide grains are uniformly covered by a weblike network of bundles (Fig. 8) and the powder is so densely agglomerated that it retains the shape of the reduction vessel when transferred to a storage box. Further work107,108 on the system has conÐrmed Co 0.5 the best results with respect to both the quantity and quality of nanotubes, but interestingly the three single metals (Fe, Co, Ni) and all of their studied alloys were found to produce carbon nanotubes to a certain extent.

CO disproportionation

Herreyre and Gadelle111 have prepared carbon nanotubes by CO disproportionation catalysed by FeÈCo (50 wt.% Co) particles produced by in situ reduction of a mixture of the corresponding nitrates. The tube diameters (average value equal to 25 nm) correspond to the size of the catalytic particle found attached to the tube end. Tube length is of the order of 2 lm. These authors investigated the inÑuence of the presence of small quantities of in the reducing atmosphere and H 2 observed that was not essential for nanotube formation, in H 2 contrast to results obtained using non-alloyed metals (Fe, Co, Ni).112 Dai et al.113 have prepared isolated SWT by CO diproportionation catalyzed by Mo particles a few nanometers in size. The tube diameters, ranging from 1 to 5 nm, are closely correlated with the size of the catalytic particle found attached to the tube end. These results represent the Ðrst experimental evidence of SWT produced by preformed catalytic particles. This is in contrast with the observations of SWT formed by the arc-discharge and laser-vaporization processes in which no relation was found between metal particles and SWT. The tubes have a length ranging between ca. 100 nm and several micrometers and are free of the amorphous carbon coating typically observed in catalytically produced MWT. Thus, these authors113 have proposed a mechanism wholly di †erent from those proposed55h60,64,68,69,75,76 for the catalytic formation of SWT by arc discharge and laser vaporization and from those reported80h88,94,95 for the catalytic formation of MWT. A nanometric metal particle contains a very high fraction of surface atoms and the surface energy per atom is very high. An excess of carbon assembles on the metal particle surface to form a graphene cap (the so-called yarmulke) with its edges strongly chemisorbed to the metal. Since the basal plane of graphite has an extremely low surface energy, the total surface energy diminishes. Newly arriving carbon will continue to assemble on the surface of the catalyst. There are three places for additional carbon to go. (1) The original surface shell can continue to grow around the particle, which ultimately results in the overcoating and deactivation of the catalyst. (2) A second cap can form underneath the Ðrst, spaced by roughly the interspacing of graphite. As additional caps form, older caps are forced to lift up by forming a cylindrical tube whose open end remains chemisorbed onto the catalytic particle. (3) Carbon can add to the cylindrical section of a growing layer. A crucial feature of the yarmulke mechanism is the avoidance at all stages of growth of any open edge, which would expose energetically costly dangling bonds. It also provides an automatic solution to forming caps and tubes that have no seams. Dai et al.113 observed that their larger Mo particles were fully covered by graphite and were thus inactive for tube catalysis. Thus, obtaining SWT only is related to the very small size of the Mo particles, but it is noted that the reasons for the production of particles with such a size distribution are not fully understood.

Pyrolysis of metallocenes

Song et al.114,115 have reported on the formation of carbon nanotubes by the decomposition of ferrocene, which acts as a feedstock for both the transition metal and carbon, in a silica aerogel. They observed short MWT (some tens of nanometers) coated with amorphous carbon and sometimes containing what was thought to be an Fe oxide impurity. Onion-like species were observed as well. These workers115 proposed a model based on that of Zhang et al. 4

Conclusions

Several mechanisms have been proposed to account for the nucleation and growth of single-wall and multiwall carbon nanotubes in the presence of highly divided metals. Some mechanisms involve a metal, or a metal-carbon combination, at the atomic or cluster level, while others deal with preformed nanometric metal (or metalÈcarbon) particles of the smallest possible size (probably down to 1È2 nm). The role of the nature of the metal or alloy is as yet very confused, many contradictory results having been reported. Most synthesis methods su †er from a lack of selectivity between the di †erent forms of carbon obtained, partly because the catalyst itself lacks size homogeneity. Also, the nucleation and lengthening processes have to compete with side reactions and all appear to be extremely quick in the appropriate conditions, which may be reached simultaneously in di †erent parts of the specimen. In most cases, a compromise has to be found between the quality of the nanotubes obtained and the yield. Thus the use of carbon nanotubes as parts of novel nanocomposite materials that may beneÐt from their exceptional properties is still in its infancy.

Fig. 1

 1 Fig. 1 Transmission electron microscopy image showing single-wall carbon nanotubes either isolated or in bundles (a) and showing a threewall carbon nanotube (b) ; these tubes have been prepared by the catalysis method in the present authorsÏ laboratory (see text for details)

Fig. 2

 2 Fig. 2 Diagrams illustrating the polyyne ring nucleation mechanism for the growth of carbon SWT : (a) a monocyclic polyyne ring is the precursor and a Co carbide cluster is the catalyst ; (b) deformation of the monocyclic ring from its planar geometry due to charges or catalyst, resulting in local cis and trans forms ; (c) formation of a nonhelical tube having the armchair structure ; (d) formation of a non-helical tube having the zigzag structure ; (e) formation of a helical tube ; after the Ðrst benzene rings are formed at a cis site, growth continues on trans sites to generate tubes with a helical structure ; other helical growth patterns are possible (adapted from Fig. 2 in ref. 64)

Fig. 3

 3 Fig. 3 Hypothetical growth process of carbon SWT from a metalÈ carbon alloy particle : (a) segregation of carbon towards the surface ; (b) nucleation of SWT on the particle surface ; (c) growth of the SWT (adapted from Fig. 13 in ref. 68)

Fig. 4

 4 Fig. 4 Schematic illustration of tubular Ðlament growth by a catalytic e †ect : (a) an association of metal and hydrocarbon nucleates and di †uses on the clean Fe particle surface and eventually dissociates at the contact angle between the particle and the substrate ; (b) the beginning of a carbon shell ; (c) a new metalÈhydrocarbon species dissociates on its edge and the carbon layers develop by lateral growth following the external surface of the catalyst, thus exerting a force strong enough to lift up the catalyst particle above the surface of the substrate (adapted from Fig. 21 in ref. 83)

Fig. 5

 5 Fig. 5 Model for the formation of tubular Ðlaments, showing the inner and outer diameters and the precipitation interface (adapted from Fig. 2 in ref. 84)

FeÈAl 2 O 3 Fig. 7

 37 Fig. 7 Scanning electron microscopy image showing bundles of carbon nanotubes in a carbon composite nanotubeÈFeÈAl 2 O 3 powder

  et al.44 have reported that oxidation of the deposit eliminates all nanoparticles and nanotube caps so that open tubes can be obtained free of other carbon species. However, only ca. 1 wt.% of the initial deposit remains after oxidation.

	In the absence of metal catalyst, several authors55,56 have
	proposed a growth mechanism based on the incorporation of
	carbon dimers into a cagelike precursor. The tubes grow from
	an empty fullerene cage by repeated additions of hemispherical cap. Lengthening of the tubes results from to a C 2
	rearranging the carbon bonds to incorporate additional C 2 near a pentagonal ring. Since the growing tube is always
	closed, there is no mechanism to enclose materials into it.
	Other researchers57h60 have proposed that the tubes are open
	during the growth process and that carbon atoms (C 1 are adsorbed at the active dangling bond edge sites. Iijima et , C 2 ) , C 3
	al.

  a study of carbon Ðbres prepared by the pyrolysis of a mixture on Fe, Oberlin et al.83 have reported that H

	2 ÈC 6 H 6 the Ðlaments have various external shapes and contain a
	hollow tube with a diameter ranging from 2 to more than 50
	nm. They identiÐed that the core regions are primarily formed
	by a catalytic e †ect, whereas the external regions correspond
	to a pyrolytic deposit. The thickness of this deposit decreased
	with the decrease in Very small	C 6	H 6	proportion and treatment time.

  Benissad et al.85h88 have studied the decomposition of mixtures on graphite foils impregnated with Fe salts H 2 ÈCH 4 (nitrate, sulfate, . . .). Their results generally support the conclusions of Baker et al.,80,81 Oberlin et al.83 and Tibbetts.84 These authors85h88 propose that the catalytic nanoparticle active for nanotube growth is in the molten state and point

8

  Scanning electron microscopy image showing the weblike net of carbon nanotube bundles covering the grains.

			higher also provokes a decrease in carbon quality.107 Similar MWT supersaturation level in the gas atmosphere, but CH 4
			have also been prepared using Ni)109 and MÈM@ÈMgAl 2 O 4 powders as catalysts. Co and	(M \ Fe, CO or (M, M@ \ Fe, CO or Ni)110 MÈMgAl 2 O 4 nanoparticles give Fe 0.5
	bundles have been traced for 100 lm	FeÈAl 2 O 3	Some

  . Sen et al.116 have also investigated the pyrolysis of metallocenes (ferrocene, cobaltocene and nickelocene) and mixtures metalloceneÈC 6 H 6 in an stream. The obtained MWT are Ðlled with the ArÈH 2 corresponding metal particles and are coated with a pyrolytic carbon deposit. Their results support the yarmulke mechanism.113