Wouter Van Toll
email: wouter.van-toll@inria.fr

Connecting Global and Local Agent Navigation via Topology

Keywords: Computing methodologies → Motion path planning, Intelligent agents, Real-time simulation intelligent agents, path planning, navigation, crowd simulation

: We define a navigation strategy as a set of decisions to pass obstacles and agents via the left (red) or right (blue). Left image: A global path yields a long-term strategy for obstacles. Middle image: A local velocity yields a short-term strategy for nearby agents and obstacles. For the obstacle marked with '!', the global and local strategies are in conflict. Right image: Our method detects these conflicts, and it allows the agent to plan a new global path that complies with its local strategy.

INTRODUCTION

Simulating the motion of human crowds is a research topic with many real-world and entertainment applications [START_REF] Pelechano | Simulating Heterogeneous Crowds with Interactive Behaviors[END_REF][START_REF] Thalmann | Crowd Simulation[END_REF]. Many crowd-simulation techniques are agent-based: they model each member of the crowd as an intelligent agent with its own properties and goals. Within this paradigm, it is common to split an agent's navigation task into global path planning (finding an overall route to the goal) and local behavior (following this route while avoiding short-term collisions) [START_REF] Wouter Van Toll | Towards believable crowds: A generic multi-level framework for agent navigation[END_REF]. Recently, mid-term planning has been proposed as a step in-between [START_REF] Bruneau | EACS: Effective Avoidance Combination Strategy[END_REF]]. As such, agents combine navigation algorithms for different levels of detail.

This multi-level navigation approach often works well, but it can have problems in scenarios with many agents or obstacles. The algorithms of different levels may give conflicting commands, for example when an agent's global path runs through a passage that turns out to be blocked by other agents (as in Figure 1(b)). The agent is then likely to get stuck, unless the global and local algorithms actively collaborate to plan a detour.

Although solutions (e.g. re-planning or waiting) may seem obvious to the human eye, it is difficult to detect automatically when global and local planning are in conflict. We argue that this is due to a design choice in local algorithms: in each simulation frame, their outcome is simply a velocity that optimizes local criteria, and not an explicit decision to pass agents or obstacles on a certain side.

Goals and Contributions

We present a novel topology-inspired approach to improve navigation in crowds. We model agents' global and local navigation plans as decisions to move around obstacles and other agents via the left or right. With this unified representation, we can systematically detect and resolve conflicts between the navigation decisions of different levels. This can yield more responsive agents and more efficient crowd motion. Figure 1 shows an example.

Planning a new global path (i.e. re-planning) is a relatively costly operation that one would prefer to avoid unless it is necessary. A conflict between global and local planning is an intuitive trigger for re-planning. By detecting these conflicts, we contribute to an efficient simulation where agents re-plan at the right time.

Our main contributions are the following:

• We formulate an agent's navigation behavior as a topological strategy amidst obstacles and other agents (Section 3.2). • We show how to obtain such a strategy from a global path (Section 4.1) and from a local velocity (Section 4.2). This gives a global and a (dynamic) local strategy per agent. • We suggest a simulation framework in which path planning, path following, and collision avoidance collaborate to detect and resolve conflicts between their strategies (Section 5).

• Via experiments (Section 6), we show that this conflict resolution can improve the crowd's behavior in several scenarios, without sacrificing real-time performance. We also show that our concepts can be used to easily guide agents in specific directions, e.g. to simulate the effect of signage in buildings.

We emphasize that we do not propose a new algorithm for midterm planning or collision avoidance. Instead, we offer a fundamentally new way to harmonize agent-navigation algorithms, by assigning a uniform meaning to the choices made at each level. This concept can be applied to many different navigation algorithms. Thus, it can help improve a simulation regardless of its details.

RELATED WORK

In an agent-based crowd simulation, each member of the crowd plans a path to its own goal. While traversing their paths, agents use local algorithms to adjust their motion when needed. This multilevel simulation approach is the current state of the art, and many such systems have been developed in recent years [START_REF] Curtis | Menge: A modular framework for simulating crowd movement[END_REF][START_REF] Peter | MomenTUMv2: A modular, extensible, and generic agent-based pedestrian behavior simulation framework[END_REF][START_REF] Pelechano | Controlling individual agents in high-density crowd simulation[END_REF][START_REF] Wouter Van Toll | Towards believable crowds: A generic multi-level framework for agent navigation[END_REF]].

Global and Local Path Planning

2.1.1 Global Planning. To facilitate path planning in a 2D or 3D environment with obstacles, a navigation mesh subdivides the environment into regions [START_REF] Wouter Van Toll | A comparative study of navigation meshes[END_REF]. Many types of navigation meshes exist that can be computed automatically [START_REF] Geraerts | Planning short paths with clearance using Explicit Corridors[END_REF][START_REF] Kallmann | Dynamic and robust Local Clearance Triangulations[END_REF][START_REF] Oliva | NEOGEN: Near optimal generator of navigation meshes for 3D multi-layered environments[END_REF].

Given a navigation mesh, agents plan a path on the dual graph of the mesh regions, using graph search algorithms such as A* [START_REF] Hart | A formal basis for the heuristic determination of minimum cost paths[END_REF]. This results in a sequence of regions for the agent to move through. Within this sequence, agents can compute a specific geometric curve to follow. We will use the term path for this curve.

Local Planning.

In each frame of the simulation loop, agents choose a point on their path to move to. This induces a preferred velocity v pref per agent [START_REF] Jaklin | Real-time path planning in heterogeneous environments[END_REF][START_REF] Karamouzas | Indicative routes for path planning and crowd simulation[END_REF]]. Then, agents apply collision avoidance to find a velocity v new that is (ideally) close to v pref while avoiding nearby obstacles and agents. Collision avoidance is a popular research topic, and increasingly intelligent solutions have been proposed [START_REF] Teofilo | Gradient-based steering for vision-based crowd simulation algorithms[END_REF][START_REF] Helbing | Social force model for pedestrian dynamics[END_REF][START_REF] Jur | Reciprocal n-body collision avoidance[END_REF][START_REF] Wolinski | WarpDriver: Context-aware probabilistic motion prediction for crowd simulation[END_REF].

Local planning can also entail other tasks, such as modelling social groups [START_REF] Kremyzas | Towards social behavior in virtual-agent navigation[END_REF] and adapting an agent's motion to the local density [START_REF] Best | DenseSense: Interactive crowd simulation using density-dependent filters[END_REF] or flow [START_REF] Arthur Van Goethem | On streams and incentives: A synthesis of individual and collective crowd motion[END_REF].

The term 'crowd simulation' is sometimes used for collision avoidance alone. However, path following and global planning are equally important, especially in environments with many obstacles. Small obstacles could be handled purely locally, but this only works up to a certain point that is hard to define. Therefore, we propose a solution where local and global planning can coordinate.

Other Navigation Techniques

2.2.1 Adding Levels or Information. Sometimes, a crowd is shaped in such a way that 'regular' global and local planning cannot bring an agent to its goal. There have been several attempts to improve the behavior in such cases. Examples are 'long-range collision avoidance' [START_REF] Golas | Hybrid long-range collision avoidance for crowd simulation[END_REF] where an agent prepares a rough plan to avoid agents that are far ahead, and 'mid-term planning' [START_REF] Bruneau | EACS: Effective Avoidance Combination Strategy[END_REF] where an agent refines its path to include the upcoming avoidance manoeuvres. The behavior of agents can also be improved by adding local information to global planning, such as the crowd density [START_REF] Höcker | Graph-based approaches for simulating pedestrian dynamics in building models[END_REF][START_REF] Pettré | Crowds of moving objects: Navigation planning and simulation[END_REF][START_REF] Wouter | Real-time densitybased crowd simulation[END_REF] or the motion of dynamic objects [START_REF] Kapadia | Multi-domain real-time planning in dynamic environments[END_REF]. While this adds intelligence, the different planning algorithms are still isolated processes that can produce conflicting strategies.

Hybrid

Methods. Another option is to remove the globallocal distinction by adding the agents as 'obstacles' to the navigation graph [START_REF] Sybren | Torso crowds[END_REF][START_REF] Sud | Real-time navigation of independent agents using adaptive roadmaps[END_REF]]. This is ideal for dense and (nearly) stationary crowds, where an agent should actively look for gaps between other agents. However, for other use cases, a combination of global and local planning generally works better.

Alternatively to agent-based methods, flow-based simulations model the crowd as a whole that moves along a flow field [START_REF] Patil | Directing crowd simulations using navigation fields[END_REF][START_REF] Treuille | Continuum crowds[END_REF]]. These methods do not suffer from conflicts as much, but they cannot efficiently model crowds in which all agents have individual properties and goals. In this paper, we therefore focus on agent-based simulations.

2.2.3

Topology-Driven Navigation. All agent navigation methods, at every level of detail, have one common trait: they compute how an agent should move around objects (which can be agents or obstacles). In this paper, we propose the concept of a navigation strategy to formalize exactly this. It allows us to compare the navigation plans of different levels, and to resolve conflicts between them.

Our idea of enriching navigation with topology is not new. Robotics researchers have added topological constraints to global [START_REF] Bhattacharya | Topological constraints in search-based robot path planning[END_REF]] and local planning [START_REF] Knepper | Toward a deeper understanding of motion alternatives via an equivalence relation on local paths[END_REF]], and they have formulated multi-robot coordination in terms of topological decisions [START_REF] Mavrogiannis | Multi-agent path topology in support of socially competent navigation planning[END_REF]. Our work uses similar ideas, but focuses on the synchronization between levels of planning, and on the integration into real-time crowd simulations.

DEFINITIONS

As in most crowd-simulation research, we approximate agents by disks. Let AG = {A j } m-1 j=0 be the set of m agents being simulated. All agents A j are moving towards their individual goal positions g j , using any combination of navigation algorithms.

Environment and Navigation Mesh

We assume that the simulation takes place in a two-dimensional environment E with polygonal obstacles and a polygonal outer boundary, for which we will use the term 'obstacle' as well. Let OBS = {O i } n-1 i=0 be the set of n obstacles in E, and let N be the total number of vertices for all obstacles. We assume that each obstacle O i is a simple polygon, the inner obstacles do not overlap, and the outer boundary contains all inner obstacles. (If necessary, this obstacle representation can be obtained from a navigation mesh.)

To represent the environment for navigation purposes, we require a navigation mesh M that subdivides the obstacle-free space of E into non-overlapping polygonal regions REG = {R i } r -1 i=0 . For any region R i , all vertices should be on the boundary of an obstacle. Consequently, each boundary segment of R i either lies on an obstacle boundary or is shared with another region R j . We will use the term passage for a boundary segment shared by two regions. Each passage is a line segment that starts and ends at an obstacle.

Figure 2 shows two possible navigation meshes for an example environment. Many types of navigation meshes exist, including ones where the combined complexity of all regions is O(N ).

Decisions and Strategies

We now formalize the concept of a navigation strategy: a set of decisions to pass obstacles and agents on a certain side. Later, we will use this definition to assign a common topological meaning to the results of global and local planning.

Decision.

During the simulation, any agent A j that has not yet reached its goal should navigate around obstacles and other agents, to which we will collectively refer as objects. A j can decide to pass any object via the left or via the right. Formally, let D(A j , B) ∈ {L, R, X} be the decision of A j with respect to an object B: Undecided or irrelevant objects are outlined in gray.

• D(A j , B) = L if A j intends to
In the figures of this paper, we will use the color red to denote the decision L, blue to denote the decision R, and gray to denote X. Decisions of X do not have to be stored explicitly.

Strategy.

A navigation strategy for A j is a set of decisions with respect to all objects, according to a decision function D X :

S(D X , A j ) = {D X (A j , B)} B ∈ OBS ∪AG-{A j }
In terms of coloring, a strategy is an assignment of the colors red and blue to the objects between which the agent wants to pass, while leaving any irrelevant (or undecided) objects in gray. Figure 3 shows an example of a strategy. Here, note that the decision regarding a neighboring agent A k also depends on the velocity of A k . For instance, the agent A 4 is blue because it will have moved to the left before A 0 passes it. We will explain this further in Section 4.2.

In this paper, we will abbreviate S(D X , A j ) to S X (for any subscript X ). Thus, a strategy S X always has a corresponding decision function D X , and it will implicitly always concern A j .

In a typical crowd simulation, each agent A j tries to follow a global path. This path has a corresponding global strategy S G . It usually does not yet describe how to avoid agents, i.e. D G (A j , A k ) = X for all other agents A k . Over time, local navigation algorithms should determine how to move around agents. This results in one or more local strategies (one for each algorithm) that change over time. These local strategies and S G might be in conflict, as they also impose their own decisions for nearby obstacles.

Comparing Strategies.

To solve navigation problems, it is useful to define consistency between strategies. First, we say that two decisions D 1 (A j , B) and D 2 (A j , B) for a given object B are inconsistent if one decision is L and the other is R. Otherwise (i.e. if they are equal or if either decision is X), the decisions are consistent. We will use = c to denote consistency and c for inconsistency. Now, let S 1 and S 2 be two full strategies. For any object B where D 1 (A j , B) c D 2 (A j , B), we say that S 1 and S 2 have a conflict. The two strategies are consistent if and only if they have no conflicts, i.e. S 1 = c S 2 iff D 1 (A j , B) = c D 2 (A j , B) for all objects B. Otherwise, the strategies are inconsistent. We also introduce the notation S 1 = OBS S 2 and S 1 = AG S 2 for when two strategies have no conflicts regarding obstacles and agents, respectively.

The problem from Figure 1 occurs when the strategies of collision avoidance and path following (say, S C and S F ) have an obstaclerelated conflict. Our goal is to detect and resolve these situations.

OBTAINING NAVIGATION STRATEGIES

This section explains how to obtain navigation strategies from a path and from a velocity. Section 5 will use this to handle conflicts between path planning, path following, and collision avoidance.

Converting a Path to a Strategy

A global planning algorithm computes a path from a start position s to a goal position g. This path is a curve π : [0, 1] → R 2 through the environment, where π (0) = s and π (1) = g. The curve does not intersect any obstacles in OBS, but it may intersect the agents in AG because agents are ( usually) not yet considered in this phase.

We now describe how to obtain a navigation strategy S from a path π . In other words, we show how π leads to a red/blue coloring of obstacles. Figure 4 shows an example of a path and its strategy. Note that the path keeps blue obstacles to its left and red obstacles to its right, while irrelevant obstacles remain gray.

Overview.

To convert π to a strategy S, the first step is to find the sequence of passages that π traverses in the navigation mesh M. In this paper, we assume that M was already used to compute π in the first place. The sequence of passages for π can then easily be constructed during the path-planning algorithm itself. (If π is an arbitrary curve that was not computed using M, one could compute the passages that π intersects, and remove any duplicate entries caused by backtracking or loops in the path.)

Let P = {p i } k -1 i=0 be the sequence of k passages that π traverses. The example path in Figure 4 visits nine passages. Recall that each passage p i is a line segment with an obstacle at its left and right endpoint; let us denote these obstacles by O i,l and O i,r respectively. By traversing p i , the agent will pass O i,l via the right (blue) and O i,r via the left (red). To compute all relevant navigation decisions (i.e. to define a decision function D), we check the traversed passages one by one, and we perform the following steps for each p i :

(1) Try to set D(A j , O i,l ) to R; that is, try to give O i,l the color blue. (We will explain below what 'trying to set' means.) (2) Try to set D(A j , O i,r ) to L; that is, try to make O i,r red. (3) If p i is not the last passage of P, let R i be the region to which p i leads. In the clockwise ordering of passages bounding R i , visit all passages between p i and p i+1 . The light-blue passage in Figure 4 is an example of this case. For each such passage p ′ , get its left obstacle O ′ l and try to set D(A j , O ′ l ) to R. (4) Symmetrically, visit all passages in the counter-clockwise ordering between p i and p i+1 . Examples are the pink passages in Figure 4. For each such passage p ′ , get its right obstacle O ′ r and try to set D(A j , O ′ r ) to L. This results in a strategy S, implicitly augmented with D(A j , B) = X for any undecided object B. If the boundaries of regions can be traversed via pointers (next/prev/twin), we can compute S in O(N ′ ) time, where N ′ is the total complexity of the regions that π visits. 4.1.2 Handling Ambiguities. We use the term 'try to set' instead of 'set' because an obstacle O might occur as both a left and right obstacle at different points along the path. The outer boundary of Figure 4 is an example of this. In such cases, we want to set D(A j , O) to X, as we cannot use either L or R along the whole path. So, in the discussion above, 'try to set D(A j , O) to R' is defined as follows:

• If D(A j , O)
has not yet been set before, set it to R. • If D(A j , O) was already set to L, set it to X.

• If D(A j , O) was already set to R or X, then it stays that way.

The definition for the decision L is symmetric.

Converting a Velocity to a Strategy

In each simulation frame, every agent A j performs path following and collision avoidance to compute (respectively) a preferred velocity v pref and a new velocity v new . To detect conflicts, we need to convert these velocities to strategies as well.

We now explain how to obtain a navigation strategy S for an arbitrary velocity v. That is, we show how to compute a red/blue coloring of nearby objects assuming that agent A j uses the velocity v for a certain amount of time. We focus on non-zero velocities. If ||v|| = 0, the agent A j does not really 'navigate', and we can (implicitly) use D(A j , B) = X for all objects B.

In the following discussion, ab denotes the line segment between two points a and b. Let p be the current position of agent A j , and let τ be the time window, a parameter that we will set in Section 5. In τ seconds, the velocity v will send A j to position p ′ = p + v • τ . 4.2.1 Neighboring Objects. The short-term use of a velocity only affects objects that are nearby. Similarly to collision-avoidance algorithms, we consider nearby agents and nearby obstacle segments. Thus, we treat the boundary segments of obstacles as separate entities. Appendix A specifies how we find these neighboring objects in our implementation. For each neighboring object, we determine a navigation decision. The final strategy S consists of all these decisions, (again) implicitly augmented with X for unhandled objects.

4.2.2

Decision for an Agent. Figure 5(a) shows how the segment pp ′ divides the vicinity of A j into four areas: back (a B ), front (a F ), left (a L ), and right (a R ). For a neighboring agent A k with position p k and velocity v k , let p ′ k = p k + v k • τ be the predicted position of A k after τ seconds. We define the decision D(A j , A k ) as follows:

• If p k lies in a B , then A k starts behind A j , so A j does not actively pass it (anymore). Thus,

D(A j , A k ) = X. • If p ′
k lies in a F , then A k ends up in front of A j , so A j does not pass it (yet). Thus, D(A j , A k ) = X.

• Otherwise, if pp ′ and p k p ′ k intersect at some point x, let t be the time after which A j will reach x. The decision depends on the position of A k at that time, i.e. on p ′′ -

k = p k + v k • t: -If p ′′ k lies exactly on pp ′ , then D(A j , A k ) = X. p v p a B a F a L a R (a) Agent-Agent O a b o L o R o B o M (b) Agent-Obstacle
If p ′′ k lies in a L , then D(A j , A k ) = R. -If p ′′ k lies in a R , then D(A j , A k ) = L. • Otherwise, p k p ′ k lies fully or partly in either a L or a R . -If p k p ′ k overlaps with a L , then D(A j , A k ) = R. -If p k p ′ k overlaps with a R , then D(A j , A k ) = L.
Our definition ignores whether A j and A k are on collision course. Even if v would lead to a collision, it is useful to know which navigation decision A j is most likely to have in mind.

Decision for an Obstacle Segment.

For obstacle segments, different segments of the same obstacle O may give conflicting decisions. When this happens, we would like to set D(A j , O) to X, as we cannot decide uniformly for the entire obstacle. Therefore, just like in Section 4.1, we treat each obstacle segment either by ignoring it or by trying to set the decision for the corresponding object O, where 'trying to set' is defined as before.

For a segment ab belonging to an obstacle O, assume (w.l.o.g.) that a and b appear on O's boundary in counterclockwise order. ab divides the space into four areas, as shown in Figure 5 • If p lies in o B , ignore this segment: it is currently not visible to the agent A j . • If pp ′ stays entirely inside o L or o R , ignore this segment: A j does not make an active decision yet. • If pp ′ and ab intersect, A j will collide with ab. The decision depends on the angle θ between v and ba:

-If θ < 90 • , try to set D(A j , O) to R. -If θ > 90 • , try to set D(A j , O) to L. -If θ = 90 • , ignore this segment. • Otherwise, if pp ′ moves into o B , let
x be the first point where this happens.

-If x is closer to a than to b, try to set D(A j , O) to L.

-Otherwise, try to set D(A j , O) to R. • Otherwise, A j moves along the segment without fully passing it. The decision then depends on θ as described earlier.

STRATEGY-DRIVEN SIMULATION

We now extend a generic crowd-simulation framework [START_REF] Wouter Van Toll | Towards believable crowds: A generic multi-level framework for agent navigation[END_REF] with navigation strategies to detect and resolve conflicts.

In the existing framework, each agent A j has three navigation tasks:

• Path planning (performed once): Compute a global path π to the agent's goal position g j .

• Path following (performed in each frame): First compute a reference point p ref that denotes the agent's progress along π .

Then compute an attraction point p att on π , and a preferred velocity v pref that sends A j to p att at its preferred speed s pref . • Collision avoidance (performed in each frame): Compute a velocity v new close to v pref that avoids nearby collisions.

This framework is not restricted to specific algorithms for path planning, path following, or collision avoidance. Our implementation uses the data structures and algorithms listed in Appendix A.2.

It is common to let an agent re-plan its path whenever the agent cannot compute an attraction point p att , i.e. when it no longer knows how to follow its current path [START_REF] Jaklin | Real-time path planning in heterogeneous environments[END_REF]]. We will do this in our implementation as well.

Overview of the Strategic Level

In the standard framework with three tasks, agents always accept the choices made by each algorithm. We propose to add a fourth task -the strategic levelin which the agent analyzes the strategies of each task and responds to conflicts.

In this paper, we focus on obstacle-related conflicts between path following and collision avoidance. In future work, we intend to add a form of mid-term planning, which will be another navigation level with its own strategy S M . It will then make sense to also consider agent-related conflicts between S M and the other strategies.

The strategic level first converts the agent's preferred velocity v pref to a strategy S F , and v new to a strategy S C , using the method from Section 4.2. We use a time window τ of

| |p att -p | |
s pref ; this is the time required to reach the attraction point at the preferred speed.

Next, we check if S C OBS S F . When this happens, collision avoidance and path following disagree on how to pass one or more obstacles. The agent is about to move around these obstacles differently than prescribed by v pref . We compute two ways to resolve the conflict: an alternative path π ′ that satisfies S C (instead of S F ), and an alternative velocity v ′ new that satisfies S F (instead of S C ). Section 5.2 will describe how to compute π ′ and v ′ new . When π ′ and v ′ new have been computed, the agent can choose one of the two, or it can decide to ignore the conflict and use the velocity v new that it already had in mind. There are many ways to let an agent choose between these three options. We employ a simple choice model with two parameters: a maximum detour factor W , and a Boolean flag Strict. The agent decides as follows:

(1) Use π ′ if it exists and if it is ≤ W times longer than the remainder of π . We define this remainder as the line segment from p to p att , plus the subpath of π from p att to the goal

g j . (2) Otherwise, if Strict = True, use v ′ new . (3) Otherwise, use v new .

Finding an Alternative Path and Velocity

We now explain how to compute a path or a velocity under the topological constraints of another strategy. Let the constraint strategy S T be a strategy that contains all constraints of our interest.

Path Planning with Constraints.

To plan a global path whose strategy S G ′ is consistent with S T , we plan a path on the navigation mesh M in the usual way, but with the additional rule that we cannot traverse any passages that would lead to a conflict between S G ′ and S T . For any passage p i that we encounter during the search,

traversing p i would imply D G ′ (A j , O i,l ) = R and D G ′ (A j , O i,r ) = L. Thus, if D T (A j , O i,l ) = L or D T (A j , O i,r ) = R,
we do not search further in this direction, as traversing p i would imply S G ′ c S T . (Technically, D G ′ (A j , O i,l ) could be cancelled out to X elsewhere on the path, but in this case, we assume that it is undesirable to pass an obstacle on the wrong side at least once.)

Collision

Avoidance with Constraints. To perform collision avoidance such that the resulting strategy S C ′ is consistent with S T , we should disallow the selection of any velocity that would lead to conflicts. If the collision-avoidance algorithm uses sampling (i.e. choosing the best velocity out of several candidates), then S T is easy to incorporate. For each candidate velocity v ′′ , we compute the navigation strategy S C ′′ and we discard v ′′ if S C ′′ c S T . We expect that a similar adaptation can be made for other types of collision-avoidance algorithms, such as those based on velocity obstacles [START_REF] Jur | Reciprocal n-body collision avoidance[END_REF].

Application.

In the strategic level of our simulation framework (Section 5.1), we apply these adapted algorithms as follows:

• To compute the alternative velocity v ′ new , we perform collision avoidance constrained by S F .

• To compute the alternative path π ′ , we perform path planning constrained by S C . To prevent an agent from backtracking, we augment S C with the navigation decisions from the last 3 passages that the agent has traversed.

As mentioned in Section 1, global (re-)planning is a relatively costly operation. By planning an alternative path only in case of a conflict, we avoid re-planning when the current path is still attractive. Still, conflicts may occur often, and it is useful to let agents re-plan at most once every few seconds. Therefore, we introduce the re-planning time T R : an agent only looks for an alternative path π ′ when its last path update was at least T R seconds ago. In any frame where this is not the case, we consider π ′ to be non-existent.

EXPERIMENTS AND RESULTS

We have implemented our strategy-driven simulation framework in C++. All relevant settings and implementation details can be found in Appendix A. We perform all experiments on a Windows 10 device with an Intel Core i7-7920HQ CPU. Throughout this section, we compare the following variants of the simulation framework:

• CA-Only: agents perform no path planning or path following, and their v pref always points straight to the goal. • Standard: agents perform the three standard navigation tasks, but they do not compare any topological strategies. • Strategic: the full strategy-driven framework from Section 5.

We will test different values of the parameters T R and W . (Note that Strategic can reproduce the behavior of Standard by using T R = ∞, W = 0, and Strict = False.)

Our main purpose is to show how the strategic level can improve the behavior of agents compared to a standard simulation. We will show this via several scenarios, and we will discuss the results per scenario. Section 7 will discuss the advantages and limitations of our method in general. To see all scenarios in motion, we encourage the reader to watch this paper's supplementary video.

Single-Agent Demonstration

6.1.1 Experiment. To demonstrate the advantages of the strategic level, we show an agent navigating through an environment with obstacles and other agents. Figure 6(a) shows our example scenario. The red agent needs to move from the top left to the top right, and its initial path (computed by our path-planning method) runs through several problematic areas. Some passages are blocked by stationary agents (in purple and green), and the lower part contains agents that are flowing to the left (in blue) and to the right (in orange). These 'other' agents all use the CA-Only simulation variant. The red trajectory is the result for Strategic with T R = 2, W = ∞, and Strict = False. That is, the agent re-plans at most every second, it accepts detours of any length, and it is not forced to follow its path locally. With these settings, the agent reaches the goal. Figure 6(c) shows where the agent changes its global plan. In cases 1 and 4, the agent chooses a detour because collision avoidance recognizes that an area is blocked. In cases 2 and 3, the agent switches between different openings and eventually chooses the lowest one, to join the orange agents who are moving in the same direction.

Note that this is merely meant as a demonstration of how the strategy-based simulation could be used. Many variations are possible. For example, if we used W = 1 instead, the agent would consider the last detour to be too large, and it would (deliberately) keep trying to use the passage with the green agents. This may be the desired behavior in certain scenarios.

Crowd Flows amidst Small Obstacles

Experiment.

To show what happens when many agents use a certain simulation variant, we simulate unidirectional crowd flows in a U-turn corridor with small obstacles (UTurn, 40 × 24 m). We compute start and goal positions via uniform random sampling at the corridor's far ends. We insert 3 agents per second, and we remove an agent when it lies within 0.5m of its goal. To make the crowd more diverse, we give each agent a (uniformly sampled) random preferred speed s pref between 1.2 and 1.4m/s. Figure 7 shows still images of this scenario with different simulation variants.

We measure the total number of agents (NrAgents) that are added after t = 50s and that reach their goal before t = 300s. For each such agent, we measure the distance travelled, the total travel time, the average speed, and the time spent walking more slowly than 0.5m/s. Of these metrics, we report the average and standard deviation over all agents (Dist, Time, AvgSpeed, SlowTime). These are indicators of how efficiently the crowd moves. We exclude the first 50s to prevent distorting the results with a quiet 'warm-up' period.

Discussion of Results

. Table 1 provides quantitative results. As can be seen in Figure 7 as well, the CA-Only simulation variant clearly fails in this corridor because global planning is required. The Standard variant lets some agents pile up around an obstacle. This is reflected by high averages and standard deviations for Time and SlowTime. Also, parts of the corridor are under-utilized because they are not chosen by global planning. When using the Strategic variant, agents make better use of alternative paths. Consequently, they spread out over the corridor, they walk faster on average, and they spend less time walking slowly. This shows that it can be useful to let agents take global detours based on their local velocities.

We have tested both a 'coarse' version of Strategic (with T R = 2, W = 1.2, and Strict = False) and a 'fine' version (with T R = 0.5, W = 1.2, and Strict = True). Both versions improve upon the Standard simulation, with only little differences between them. This suggests that very frequent re-planning is not strictly necessary, which is good news for the simulation's computation time.

Density-based global path planning [START_REF] Wouter | Real-time densitybased crowd simulation[END_REF]] has a similar purpose, but such a method does not recognize small congestions in large areas of the navigation mesh, and it does not consider the directions in which agents move. The method could be combined with ours to further improve the crowd's behavior.

6.3 Crowd Flows with Environmental Guidance 6.3.1 Experiment. In the same environment, we also simulate bidirectional flows by sending every other agent in the opposite direction. We observe deadlocks in all simulations, both for the Standard and Strategic variants (Figures 8(a) and 8(b)). Thus, the strategic level does not compensate for poor coordination between agents.

However, an interesting 'bonus' application of topological strategies is that we can now guide agents around specific obstacles in specific ways, by enforcing certain navigation decisions for these obstacles. Whenever an agent (re-)plans a global path, we include these obstacle decisions in the constraint strategy. As another example, Figure 9 shows a scenario in which 80 agents need to move to the opposite end of a circle with an inner diameter of 15m, while avoiding four 2 × 2m obstacles in the middle. In simulations without environmental guidance, some agents get stuck between the obstacles. However, when we instruct agents to pass these obstacles along the right, the problem is easily resolved.

Thus, navigation strategies provide an intuitive way to enforce decisions in the crowd. This type of environmental guidance is comparable to placing signage in a real-world environment to improve pedestrian flows. The decisions could also be made agentdependent, e.g. to simulate how pedestrians respond to a sign when they see it. We plan to further investigate this in future work.

Performance Measurements

6.4.1 Experiment. We measure the performance of our system in the UTurn scenarios, for both the unidirectional flow and the bidirectional flow with guidance. Between t = 50s and t = 300s, we measure the average running time (over all frames) of each simulation substep (as described in Appendix A.1). We test both the 'coarse' and the 'fine' variant of Strategic, as defined earlier.

6.4.2 Discussion of Results. Figure 10 plots our results. In all simulations, computing visibility polygons (substep 2) is the most expensive substep, followed by collision avoidance (substep 5). Computing the local strategies S C and S F (substep 6) is about as costly as finding neighboring objects (substep 3). The strategic level (substep 7) is cheap in the coarse simulations. In the fine simulations, agents re-plan more often and they occasionally re-run collision avoidance with additional constraints. Generally, the performance of substep 7 depends on how often we allow agents to re-plan (which can be controlled by T R ), how often they actually re-plan in a certain scenario, and how long each re-planning query takes (which depends on the complexity of the environment).

Overall, the bidirectional fine simulation requires the most computation time, with an average of 4.8ms per frame. (Note: each frame simulates 100ms, so the simulation easily runs in real time.) This scenario contains 194 agents on average throughout our time window. These results suggest that our implementation can simulate over 4,000 agents in real time on 4 threads, although the exact limit depends on the scenario at hand. Most of the computation time is spent on visibility queries and collision avoidance.

For this paper, the most important observation is that the strategyrelated substeps are not expensive, unless we let agents re-plan very often. Coincidentally, frequent re-planning does not necessarily improve the behavior of agents, as shown earlier.

DISCUSSION

Our method offers a way to coordinate between the different levels of agent navigation. Still, the overall 'intelligence' of agents depends largely on the quality of the navigation algorithms themselves, and on the parameters within each algorithm. It can even be desirable to vary these settings per agent, to obtain a more varied crowd. Thus, it is difficult to draw general conclusions from any experiment. Our results at least indicate that topological strategies can improve a simulation. However, as is usual in this research area, each scenario may require careful visual inspection and parameter tuning.

On a related note, we can now detect strategic conflicts and find possible solutions, but choosing the right solution at the right time is difficult and highly scenario-dependent. Our suggested choice model is only one of many possibilities. Even within this model, each situation may impose its own optimal values of T R and W .

Also, global and local planning are still two separate steps that use different information to determine a strategy. In theory, agents could end up switching back and forth between paths, because global planning 'forgets' any previous local constraints that have moved out of sight. Preventing such problems requires more advanced rules and memory models for the individual agents.

Agents can still get stuck in cases that are not detected by the strategic level. So far, we only handle obstacle-related conflicts between path following and collision avoidance. As an example of a problem that we cannot solve yet, imagine an agent that passes an obstacle and then notices a congestion too late (because it was out of sight for the collision-avoidance algorithm). Our strategic level does not yet recognize this, nor does it explicitly offer the agent the option to turn around. To solve problems such as this one, we need to add more navigation algorithms to the framework, and enrich these with the concept of topological decisions.

The framework from Section 5 can be augmented with many other navigation techniques, such as mid-term planning [START_REF] Bruneau | EACS: Effective Avoidance Combination Strategy[END_REF], detailed navigation in high-density crowds [Stüvel [START_REF] Best | DenseSense: Interactive crowd simulation using density-dependent filters[END_REF]. It would not be meaningful to directly compare our work against such techniques because they all have different purposes. In fact, these algorithms can be combined with our work, so that each algorithm suggests its own navigation strategy for an agent. The strategic level can then be used to detect and resolve conflicts between these strategies.

We have not yet considered scenarios where agents can choose between multiple goals, such as an evacuation with multiple ways to leave a building. This can cause situations where an agent may not only update its path, but also change its goal. This is compatible with our method if we extend global path planning to use multiple possible goals. An agent will then automatically choose another goal when nearby obstacle constraints make it more attractive.

Finally, a largely open research question is how to measure the realism of a crowd simulation. Our method can solve navigation problems that are easy to see in a top-down view, and it results in trajectories that are objectively more efficient. However, in complex scenarios with obstacles, it is unclear how real humans behave, how to translate this to simulation settings, and how to properly compare a simulation to reality. Overall, the research area is not yet ready to make any general claims about how 'human-like' a simulation is.

CONCLUSIONS AND FUTURE WORK

We have presented a method for improving the navigation behavior of autonomous agents in virtual environments. We have defined a navigation strategy as a set of decisions to pass obstacles and agents on certain sides. Such a strategy can be obtained from the result of global navigation (path planning) and of local navigation (path following and collision avoidance). With this uniform definition, we can detect conflicts between the strategies produced by different algorithms. For example, when path following and collision avoidance disagree on how to pass an obstacle, an agent can attempt to re-plan its global path, using its local strategy as guidance.

This concept can be implemented as an additional 'strategic level' in existing crowd-simulation frameworks. Our experiments show that this can improve the behavior of agents in real time. The strategy concept is also suitable for explicitly sending agents in certain directions, e.g. to simulate the effect of directional signs.

As mentioned earlier, our simulation framework can be enhanced with many more navigation algorithms. In future work, we first intend to add mid-term planning and handle the agent-related conflicts between that and collision avoidance. Eventually, we envision a simulation in which agents can use many navigation algorithms for different occasions. The generic concept of a strategy makes it easier to detect when two algorithms behave inconsistently, or when certain algorithms are not sufficient for solving a problem.

To plan an alternative path, we currently run the A* search from scratch. We can improve efficiency by re-using parts of the old path, or perhaps by using a hierarchical approach in which the agent starts with a coarse path and refines it during the simulation.

Our experiment with environmental guidance (Section 6.3) suggests another promising direction for future work. We could extend the simulation so that agents update their global strategy over time, based on the directional hints that they observe. This could be used to study the effectiveness of signage in urban environments.

We consider this work to be a first step towards looking at agentbased crowd simulation in a fundamentally different way. By modelling agent navigation via topological decisions, we can bridge conceptual gaps between algorithms. On the long term, we hope that this insight will lead to a fully hybrid simulation technique, in which all aspects of agent navigation are merged into one process.

Figure 2 :

 2 Figure 2: An environment with two possible navigation meshes. Passages are shown in green. Left: triangulation. Right: local minima of the medial axis, used in this paper.

  pass B via the left (thus keeping B on their right-hand side); • D(A j , B) = R if A j intends to pass B via the right (thus keeping B on their left-hand side); • D(A j , B) = X if A j has not (yet) made a decision for B.

Figure 3 :

 3 Figure3: A navigation strategy. The agent A 0 will move to its goal (green) by passing obstacles and other agents, either via the right (outlined in blue) or via the left (outlined in red). Undecided or irrelevant objects are outlined in gray.

Figure 4 :

 4 Figure4: A global path (the dashed curve) and its navigation strategy, obtained from the relevant passages (in green) and their neighboring passages (in light blue and pink).

Figure 5 :

 5 Figure 5: A velocity v and its navigation strategy, with respect to (a) other agents, and (b) an obstacle segment.

  (b): back (o B ), left (o L ), middle (o M ), and right (o R ). We treat ab as follows:

6. 1 . 2

 12 Discussion of Results. Figure 6(b) shows the trajectories for the red agent when using different simulation variants. When the agent uses CA-Only (shown in pink), it gets trapped behind the first wall on the straight path to the goal. When it uses Standard (shown in brown), it gets stuck at the opening blocked by purple agents.

6. 3 . 2

 32 Discussion of Results. Figure 8(c) shows what happens in UTurn if we instruct agents to pass the blue-colored obstacles on the right during global path planning. Directing the crowd in this way prevents deadlocks in all simulation variants (except CA-Only).

Figure 6 :

 6 Figure 6: Single-agent demonstration. (a) An agent is instructed to move from the top left to the top right. The curve is its initial global path. (b) The agent's trajectory using CA-Only (pink), Standard (brown), and Strategic (red, with T R = 2, W = ∞, and Strict = False). (c) The Strategic agent changes its global path on several occasions, indicated by the black circles.

Figure 7 :

 7 Figure 7: Screenshots of unidirectional crowd flows in the UTurn environment, with different simulation variants. Agents are instructed to move from the top-left to the bottom-left.

  Figure 8: Screenshots of bidirectional crowd flows in the UTurn environment, with and without environmental guidance. The orange agents move from the top-left to the bottom-left; the purple agents move in the opposite direction.

Figure 9 :

 9 Figure 9: Results of a circle scenario using CA-Only (left), Standard (middle), and Standard with guidance (right).

Figure 10 :

 10 Figure 10: Performance of the UTurn simulations. Labels 1-9 refer to the simulation substeps described in Appendix A.

Table 1 :

 1

Quantitative results of the UTurn experiment from Section 6.2. Standard deviations are shown in square brackets.

A IMPLEMENTATION DETAILS

In our implementation of the framework, we model agents as disks with a radius of 0.25m, a mass of 80kg, and a preferred speed s pref of 1.2m/s, unless specified otherwise for a specific experiment.

A.1 Simulation Loop

Our simulation loop uses fixed timesteps (frames) of ∆t = 0.1s. In every frame, the program performs the following substeps:

(1) Build a kd-tree of the agents' positions.

(2) Compute a visibility polygon for each agent's position, using the navigation mesh described in Section A.2.1. (3) Compute the neighboring objects of all agents. For an agent A j , the neighboring agents are those that currently collide with A j , plus the 10 nearest agents that are in the visibility polygon of A j and in a 180 • cone centered at A j 's viewing direction d. The neighboring obstacles are all (partial) obstacle segments within 5m of A j that bound the visibility polygon. (4) Perform path following for all agents (see Section A.2.2).

(5) Perform collision avoidance for all agents (see Section A.2.3). (6) For each agent, convert the preferred velocity v pref to a strategy S F and the new velocity v new to a strategy S C . (7) For each agent, re-plan if v pref could not be computed. Otherwise, perform the strategic level described in Section 5.1 (i.e. check for strategic conflicts and respond to them).

(8) Compute contact forces [START_REF] Helbing | Social force model for pedestrian dynamics[END_REF] for any collisions that are currently happening. This yields a force vector F for each agent. (9) Update the positions of all agents as follows:

where t r = 0.5s is a relaxation time. The viewing direction d is updated similarly to v, but without the factor F/m, so that agents do not rotate when they are pushed aside. All substeps except the first contain an independent process per agent, and their work can be distributed over parallel threads. We use 4 threads for our performance experiments in Section 6.4.

A.2 Navigation Algorithms

A.2.1 Path Planning. As our navigation mesh, we use the Explicit Corridor Map (ECM) [START_REF] Geraerts | Planning short paths with clearance using Explicit Corridors[END_REF]]: the medial axis (MA) of the environment annotated with nearest-obstacle information. We construct it using the Voronoi library of Boost [2019]. To obtain a set of passages from the ECM, we compute its local minima: the points on the MA where the distance to obstacles is locally smallest. For each local minimum p, we define a corresponding passage as the line segment between the two nearest obstacle points of p. There is at most one local minimum per MA edge, so there are O(N ) passages in total, and they subdivide the environment into O(N ) regions.

To plan a path using the ECM, we first use A* search [START_REF] Hart | A formal basis for the heuristic determination of minimum cost paths[END_REF]] to find a shortest path on the medial axis. We then apply the funnel algorithm [START_REF] Hershberger | Computing minimum length paths of a given homotopy class[END_REF] to compute a shortest path (that keeps some distance to obstacles) in the same homotopy class. The sequence of passages traversed by this path can be obtained trivially during the A* search.

A.2.2 Path Following. We use the following path-following algorithm. Let p - ref and p - att be an agent's last used reference point and attraction point on its path π . First, we compute the new reference point p ref as the point on π between p - ref and p - att that is closest to the agent [START_REF] Jaklin | Real-time path planning in heterogeneous environments[END_REF]. Then, we compute the new attraction point p att as the first point on π from the following options:

• the last point of π (i.e. the agent's goal);

• the point that lies 5m ahead of p ref along π ;

• the first point on π that the agent cannot see, starting at p ref .

If p att = p ref , then the agent does not know how to follow its path, and it will re-plan in substep 7. Otherwise, we compute the preferred velocity v pref and the strategy S F as described in Section 5.

A.2.3 Collision Avoidance.

We use a custom collision-avoidance routine that yielded better behavior than existing methods. To compute a new velocity v new for an agent A j , we sample 15 candidate angles in a 180 • range around v pref , and 2 candidate speeds (s pref and 0.5 • s pref ). Each combination leads to a candidate velocity.

For a candidate velocity v ′′ , let δ (v ′′ ) be the distance to the first collision with nearby objects if A j would use v ′′ , clamped to a maximum distance d max = 5m. We choose the optimal velocity as:

where ∠ denotes the angle between two vectors (in radians), and v is the agent's last used velocity.


Wen-Fan Chen
email: w.chen@unsw.edu.au

Sajjad S Mofarah

Dorian Amir

Henry Hanaor

Pramod Koshy

Hsin-Kai Chen

Yue Jiang

Charles Christopher Sorrell

Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO 2 Nanoparticles through Sol-Gel versus Pechini Syntheses

Keywords: TiO2, Anatase, Rutile, Codoping, Sol-Gel, Pechini

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Synopsis

The Pechini method was more effective in fabricating Ce/Cr codoped TiO2 nanoparticles of superior photocatalytic properties in comparison with the sol-gel method. The improved efficiency was attributed to: a) formation of mixed-phase anatase + rutile with greater homogeneity of dopant incorporation, b) development of open agglomerated morphologies with significantly higher surface areas, and c) favourable valence changes (increased Ti 3+ concentrations) owing to electron exchange in inter valence and/or multi valence charge transfer reactions.

Introduction

The use of sol-gel methods to obtain pure and doped oxide systems has become common practice because they offer precise compositional and microstructural control and versatility in homogeneity relative to more conventional solidstate syntheses. Sol-gel chemistry is an umbrella term encompassing a broad range of approaches.

Most commonly, sol-gel syntheses of oxides involve the steps of hydrolysis and condensation of solutions derived from organometallic compounds and metal salts. However, there are some disadvantages to these processes, including the unavailability of suitable commercial precursors, moisture sensitivity, and differential hydrolysis kinetics, the latter two of which can result in inconsistent hydrolysis, chemical segregation, inhomogeneous precipitation, and agglomeration prior to heat treatment. [START_REF] Cui | Nanoparticle Synthesis of Willemite Doped with Cobalt Ions (Co0.05Zn1.95SiO4) by an Epoxide-Assisted Sol-Gel Method[END_REF] An alternative approach that can overcome these potential shortcomings involves polymer complexation by the Pechini route. [START_REF] Pechini | Method of Preparing Lead and Alkaline Earth Titanates and Niobates and Coating Method using the Same to Form a Capacitor[END_REF][START_REF] He | 2SrSiO4: Eu 2+ Phosphor Prepared by the Pechini Method and its Application in White Light Emitting Diode[END_REF] This methodology relies on the polyesterification of chelated cation species to produce homogenous polymeric precursors in which the precipitation of secondary phases is inhibited through steric entrapment, thereby maintaining molecular-level mixing at all stages of processing. This method generally employs carboxylate chelating agents and glycol groups, with the most common combination involving citrate-acid-driven chelation with ethylene-glycol-driven polyesterification.

Bonding in conventional sol-gel methods involves interconnected metal-oxygen M-O polymer 3 networks formed by hydrolysis and condensation of metal alkoxides or salts. [START_REF] Hanaor | Single and Mixed Phase TiO2 Powders prepared by Excess Hydrolysis of Titanium Alkoxide[END_REF] In the formation of these metal-oxo networks, segregation of cationic species and formation of nanocrystals of binary compounds can occur owing to moisture sensitivity and/or preferential hydrolysis kinetics of individual metal precursors. In contrast, bonding in the Pechini method occurs through a polymer interconnected by covalent and coordinate bonding established during polyesterification between metal cations chelated with carboxylate groups and polyhydroxy alcohols. [START_REF] Danks | Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses[END_REF] This method traps cations in a polymer gel that retains a uniform cation distribution during mixing, calcination, pyrolysis, and crystallization. Figure 1 shows the schematic of Pechini process. Table 1 summarizes the differences between these two methods. A few studies into the effects of codoping with both transition and rare earth metals in TiO2, have been reported using sol-gel methods. [START_REF] Yang | Titanium Dioxide Nanoparticles Co-Doped with Fe 3+ and Eu 3+ Ions for Photocatalysis[END_REF][START_REF] Chen | Effects of Precipitation, Liquid Formation, and Intervalence Charge Transfer on the Properties and Photocatalytic Performance of Cobalt-or Vanadium-Doped TiO2 Thin Films[END_REF][START_REF] Chen | Effect of Intervalence Charge Transfer on Photocatalytic Performance of Cobalt-and Vanadium-Codoped TiO2 Thin Films[END_REF][START_REF] Ren | Multivalence Charge Transfer in Doped and Codoped Photocatalytic TiO2[END_REF] Fe/Eu codoped anatase of crystallite size ~4.5-7.5 nm and surface area ~160-196 m 2 /g showed that Fe (as hole trap) and Eu (as electron trap) acted synergistically to improve the photocatalytic performance through enhanced charge separation and interfacial charge transfer. [START_REF] Yang | Titanium Dioxide Nanoparticles Co-Doped with Fe 3+ and Eu 3+ Ions for Photocatalysis[END_REF] Although not stated, this mechanism involves intervalence charge transfer [START_REF] Chen | Effects of Precipitation, Liquid Formation, and Intervalence Charge Transfer on the Properties and Photocatalytic Performance of Cobalt-or Vanadium-Doped TiO2 Thin Films[END_REF][START_REF] Chen | Effect of Intervalence Charge Transfer on Photocatalytic Performance of Cobalt-and Vanadium-Codoped TiO2 Thin Films[END_REF][START_REF] Ren | Multivalence Charge Transfer in Doped and Codoped Photocatalytic TiO2[END_REF] since the proposed respective redox reactions are Fe 3+ → Fe 4+ and Eu 3+ → Eu 2+ . Fe/Ho codoped anatase of crystallite size ~12.5-18.5 nm suggested that the Fe ions enhanced optical absorbance and the Ho ions retarded electron-hole recombination. [START_REF] Shi | Influence of Fe 3+ and Ho 3+ Co-Doping on the Photocatalytic Activity of TiO2[END_REF] Fe/La codoped anatase-rutile mixtures of crystallite size ~10-30 nm and surface area ~25-84 m 2 /g also acted synergistically to enhance radiation absorption and the corresponding photocatalytic performance. [START_REF] Wang | Preparation and Characterization of TiO2 Photocatalysts Co-Doped with Iron (III) and Lanthanum for the Degradation of Organic Pollutants[END_REF] V/La codoped anatase-rutile mixtures of crystallite size ~7-34 nm and surface area ~42-217 m 2 /g enhanced optical absorbance, retarded electron-hole recombination, and improved the photocatalytic performance. [START_REF] Ilkhechi | Enhanced Optical and Photo Catalytic Properties of V and La Codoped TiO2 Nanoparticles[END_REF] In the present work, Ce (rare earth metal) and Cr (transition metal) were used as dopants owing to their unfilled f and d shells, respectively, which have the potential to facilitate intervalence charge transfer between dopants and/or between matrix and dopant(s), which may improve photocatalytic performance. [START_REF] Chen | Effects of Precipitation, Liquid Formation, and Intervalence Charge Transfer on the Properties and Photocatalytic Performance of Cobalt-or Vanadium-Doped TiO2 Thin Films[END_REF][START_REF] Chen | Effect of Intervalence Charge Transfer on Photocatalytic Performance of Cobalt-and Vanadium-Codoped TiO2 Thin Films[END_REF][START_REF] Ren | Multivalence Charge Transfer in Doped and Codoped Photocatalytic TiO2[END_REF] Ce/Cr codoped nanoparticles were prepared at codopant concentrations up to 10.00 mol% each via (1) sol-gel and (2) Pechini methods, followed by thermal treatment at 400°C for 4 h. The mineralogical, morphological, surface, structural, chemical properties, optical, and photocatalytic characteristics were investigated in order to differentiate the effects of the synthesis method on these parameters.

Experimental Procedure

Characterization

The resultant nanoparticles were characterized using the following techniques shown in Table 3.

Results and Discussion

Figure 3 shows XRD patterns of codoped TiO2 powders following heat treatment at 400°C for 4 h.

While the sol-gel powders crystallized solely as anatase, which is consistent with other reports, [START_REF] Chen | Effects of Precipitation, Liquid Formation, and Intervalence Charge Transfer on the Properties and Photocatalytic Performance of Cobalt-or Vanadium-Doped TiO2 Thin Films[END_REF][START_REF] Chen | Effect of Intervalence Charge Transfer on Photocatalytic Performance of Cobalt-and Vanadium-Codoped TiO2 Thin Films[END_REF][START_REF] Lin | Effect of Fe Doping on TiO2 Films Prepared by Spin Coating[END_REF] the Pechini powders consisted of mixed anatase and rutile, which, as shown in C Calculated by the Scherrer method [START_REF] Klug | Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses[END_REF] It is notable that the XRD peak positions for the Pechini powders indicated lattice contraction, which would appear to be unlikely owing to the large size of the lanthanide Ce. The relevant sixfold Shannon crystal radii [START_REF] Shannon | Effective Ionic Radii in Oxides and Fluorides[END_REF] are given in Table 5. According to Hume-Rothery's rules [START_REF] Hume-Rothery | Structure of Metals and Alloys[END_REF][START_REF] Chen | Effect of Doping on the Properties and Photocatalytic Performance of Titania Thin Films on Glass Substrates: Single-Ion Doping with Cobalt or Molybdenum[END_REF] , substantial solid solubility requires the dopant ion to be of radius ≤15% different from that of the matrix ion.

Accordingly, Ce should not be soluble and only Cr 3+

and Cr 4+ should (Cr 2+ is not considered owing to its thermodynamic instability [START_REF] Ren | Multivalence Charge Transfer in Doped and Codoped Photocatalytic TiO2[END_REF] ).

If Ce exhibits interstitial solubility, then it would have to be accommodated in one or both of the interstices located above and below the central Ti ion in the elongated TiO6 octahedron [START_REF] Chen | Effects of Precipitation, Liquid Formation, and Intervalence Charge Transfer on the Properties and Photocatalytic Performance of Cobalt-or Vanadium-Doped TiO2 Thin Films[END_REF] . Since Table 4 shows that this interstice has a radius of 0.0782 nm, it is too small to accommodate a Ce ion. However, if solubility integrates both substitutional and interstitial mechanisms to occupy both types of sites, then the lengths available would be 0.0782 + 0.0745 = 0.1527 nm (interstice + Ti site) or 0.0782 + 0.0745 + 0.0782 nm = 0.2309 nm (two interstices + Ti site).

Both of these are sufficiently large to accommodate a Ce ion. This integrated solubility would be likely to result in expansion of the a-b plane and contraction of the c axis. Assuming a hard sphere model, integrated interstice + Ti site, and Ce 4+ solubility, the lattice distortion would be expansion of the a or b axis of 0.0375 nm and a contraction of the c axis of 0.1034 nm. These represent unit cell [START_REF] Hanaor | Review of the Anatase to Rutile Phase Transformation[END_REF] alterations of ~10% a or b axis expansion and ~11% c axis contraction. Thus, the XRD data suggest that Cr 3+ and Cr 6+ (~580 eV [START_REF] Naumkin | NIST X-Ray Photoelectron Spectroscopy Database[END_REF] ). Figures

indicate that the Ce 3+ and Ce 4+ contents are not consistent. The FTIR spectra in Figure 10 show that both powders contain carbon-bonded groups but that the contents of these in the sol-gel powders are significantly lower than those in the Pechini powders. This is consistent with a lower extent of pyrolysis of the latter, as mentioned in conjunction with the data for the microstructures in Figure 5 * Vo •• is an oxygen vacancy However, since there are simultaneously variable valences for the matrix and two dopants, then multivalence charge transfer (MVCT) [START_REF] Li | WO3 and Ag Nanoparticle Co-Sensitized TiO2 Nanowires: Preparation and the Enhancement of Photocatalytic Activity[END_REF] , which involves matrix and multiple dopants, also must be considered. Since the number of permutations for the electron exchanges between these three cations is large, only a simplified expression for the principle is given:

(Ti 3+ ↔ Ti 4+ ) ↔ (Ce 3+ ↔ Ce 4+ ) ↔ (Cr 3+ ↔ Cr 4+ ↔ Cr 5+ ↔ Cr 6+ ) (1)
Table 7 shows the IVCT and MVCT mechanisms suggested by the XPS data. In the solgel powders, since Ti 3+/4+ , Ce 3+/4+ , Cr 3+/4+ were present in the codoped samples, then charge balance could be achieved only through the presence of multiple numbers of individual ions rather than just single numbers. If this is the case, then electron exchange occurs over multiple lattice sites and so is, as such, localized over more than two point defects.

In the Pechini powders, since Ti 3+/4+ , Ce 3+/4+ , Cr 3+/6+

were present in the codoped samples, then there are two possibilities for charge balance through IVCT/MVCT: (1) Cr 4+ and/or Cr 5+ must have existed transiently or permanently below the level of detection (BLD) and/or (2) multiple numbers of individual ions were involved. Both of these would serve to decrease the photocatalytic performance. Figure 3 supports these suppositions in that peak intensity decreases can be observed in this range.

Conclusions

Ce/Cr codoped TiO2 nanoparticles were synthesized using sol-gel and Pechini methods and heat treated at 400°C for 4 h.

Figure 1 .

 1 Figure 1. Schematic of the Pechini method 5

6 Figure 2 .

 62 Figure 2. Flow chart for codoped TiO2 powders fabricated by sol-gel and Pechini methods

  photobleaching of methylene blue (MB, M9140, dye content ≥82 wt%, Sigma-Aldrich) solutions of 10 -5 M concentration.Suspensions of the sol-gel powders, Pechini powders, and Degussa P25 powder

Figure 3 .

 3 Figure 3. XRD patterns of codoped TiO2 powders fabricated by heat treatment at 400°C for 4 h: (a) sol-gel, (b) Pechini

Figures 4

 4 Figures 4 and 5 show SEM images of codoped TiO2 powders comprising the sol-gel and Pechini powders, respectively. The sol-gel powders were comprised largely of a consistent distribution of irregularly shaped and dense agglomerates, which exhibited a limited distribution density of small particles decorating the surfaces.Figure 4(d) shows a large amorphous particle in the background while Figures 4(e) and (f) show these more clearly.

Figure 3 ( 11 Figure 4 .Figure 5 .

 31145 Figure 3(a) indicates that Figures 4(e) and (f) should consist solely of amorphous grains but this does not appear to be the case in Figure 4(e) owing to the presence of agglomerates.Reasons for this contradiction are that the amount of crystalline TiO2 could be below the level of detection (BLD), which

Figure 6

 6 Figure 6 shows the BET surface areas of codoped TiO2 powders comprising the sol-gel and Pechini powders. The sol-gel powders were of very low surface areas, which appeared to decrease with increasing codopant levels. At the point of structural collapse and resultant amorphization at ~5.00% Ce / 5.00% Cr, the surface area decreased to

Figure 6 .

 6 Figure 6. BET surface areas of codoped TiO2 powders synthesized by sol-gel and Pechini methods

14 Figure 7 . 15 Figure 8 . 16 Figure 9 .

 147158169 Figure 7. FETEM and SAED images of codoped TiO2 powders synthesized by sol-gel method: (a-c) undoped, (d-f) 0.10 mol% Ce/0.10 mol% Cr, (g-i) 0.50 mol% Ce/0.50 mol% Cr

Figure 9

 9 Figure9shows the XPS spectra of codoped TiO2 powders comprising the sol-gel and Pechini powders. These measurements were calibrated using the C 1s (284.5 eV) spectrum of adventitious carbon, which is present in all samples.Comparison of Figures9(a) and (b) reveal that the undoped sol-gel powder had a lower binding energy than that of the Pechini powder, which typically would be considered to be indicative of the former's greater Ti 3+ (~457.0 eV 25 ]) content relative to that of Ti 4+ (~458.6 eV 25 ). This is attributed to the reduction effect from pyrolysis of the sol-gel precursor, as discussed subsequently. Increasing codopant level was consistent for both powders, for which the XRD data in Figures 3(a) and (b) revealed that codoping destabilized the lattice, resulting in gradual reduction of the binding energy. where the Ti 3+ content increased and/or the lattice was destabilized. The peak shifts were slightly larger in the Pechini powders, again supporting the conclusion that the mechanism of solubility of the Pechini method is superior to that of the sol-gel method.

Figures 9 (

 9 Figures 9 (e) and (f) indicate that the sol-gel powders contained Cr 3+ (~576.6 eV 25 ) and Cr 4+ (~575.4 eV 25 ) while the Pechini powders contained

18 Figure 10 .

 1810 Figure 10. FTIR spectra of codoped TiO2 powders synthesized by heat treatment at 400°C for 4 h: (a) solgel and (b) Pechini method (peak identifications: C-H, O-H 26 , C-O 27 )

20 Figure 11 .

 2011 Figure 11 reveals that the sol-gel and Pechini powders exhibit two regimes of effectiveness in MB degradation.

Figure 3 Figure 10 .

 310 Figure 10. The reduction effect from the pyrolysis of the carbon components was reflected in the XPS data in Figure9, which indicated that the Ti 3+ concentration was greater in the sol-gel powders.Codoping caused a general reduction in the binding energies, which is consistent with destabilization of the lattice. The generation of Cr 4+ in the sol-gel powders and Cr 6+ in the Pechini powders from a precursor of Cr 3+ provides strong evidence for the origin of these valence changes deriving from the synergistic electron exchange involved in the possible IVCT and/or MVCT reactions shown in Tables6 and 7. These effects, in combination with the increase in Ti 3+ concentration from codoping (and associated mobile oxygen vacancy concentration) as well as the heat generated from pyrolysis of the polyester resin of the Pechini precursor, may have promoted the anatase → rutile transformation. Since Ce is too large to allow the assumption of either substitutional or interstitial solid solubility, the concept of integrated solubility is introduced, whereby by the Ti site and an adjacent interstice are occupied by the large Ce ion and associated contraction of the c axis, as suggested in Table 4. The photocatalytic performance data in Figure 11 show that codoping was not beneficial, which is attributed largely to the effects of crystallinity (i.e., lattice destabilization) and surface area. These data exhibit two regimes of mechanistic behavior, which are attributed the unsaturated solid solutions at the three lower codopant levels and supersaturated solid solutions at the three higher codopant levels. However, a full interpretation is clouded by the concurrent effects of five variables (three valences, carbon content, and

  Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926

Table

: Summary of differences between solid-state, sol-gel, and Pechini methods Method Process Homogeneity Particles

	Solid-State	Salt Decomposition or Oxide Reaction	 Inhomogeneous Mechanical Mixture  Variable Diffusivities -Chemical Gradients	 Agglomeration and Variable Grain Sizes  Low Surface Areas
	Sol-Gel	Hydrolysis & Condensation	 Homogeneous Sol Precursor  Risk of Segregation and Precipitation	 Agglomeration and Uniform Large Grains  Low Surface Areas
		Polyesterification of	 Homogenous Polymeric Precursor	 Agglomeration &
	Pechini	Chelated Cation	 Inhibition of Segregation and	Uniform Small Grains
		Species	Precipitation	 High Surface Areas

Table 2

 2

provides a comprehensive summary of previous work reporting syntheses of doped TiO2 by the Pechini method; there appear to be no reports of the synthesis of codoped TiO2 powders by this method.

Table 2 : Comprehensive summary of literature on the synthesis of doped TiO2 powders by the Pechini method

 2

	Dopant	Dopant Levels (mol%)	TiO2 Polymorphs Observed	Crystallite Size (nm)	BET (m 2 /g)	Pyrolysis Conditions	Recrystallization Conditions	Reference

  Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926

	Ag			9-11	54-83
	Al Ce	0-10	Anatase	10-12 6-12	70-100 58-108	400°C for 2 h	--	6
	Nb			10-11	63-104
	Al Fe	0-0.3 0-0.2	Anatase	3.5-9.7 3.5-4.2	----	350°C for 30 h	450°C for 15 h 550°C for 15 h	7
	Fe	0 0.3-3.0	Anatase + Brookite Anatase + Rutile	20-27 5-88	--	450°C for 2 h	--	8
	Zr	0.25	Anatase	4.8-14.6	25-149	400°C for 1 h	500°-900°C for 1 h	9
					4

Table 3 :

 3 Details of analytical instrumentation

	Analytical Instruments	Acronym Parameters
	X-Ray Diffraction	XRD	PANalytical Xpert Multipurpose X-ray
			Diffractometer, CuKα, step size 0.026°
			2θ, step speed 29.07° 2θ/min
	Scanning Electron Microscopy	SEM	FEI Nova SEM 230/450, 5 kV
	Brunauer-Emmett-Teller Analysis	BET	TriStar II Plus 2.02
	Field Emission Transmission Electron	FETEM Philips CM200, 200 kV
	Microscopy
	X-Ray Photoelectron Spectroscopy	XPS	Thermo Scientific ESCALAB 250Xi,
			500 μm beam diameter
	Fourier Transform Infrared Spectrometry	FTIR	PerkinElmer Spotlight 400

Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926 7 spectrophotometry (UV-Vis, PerkinElmer Lambda 35 UV-Visible Spectrometer, aperture 20 mm × 10 mm) at 664 nm, which is the maximal absorption wavelength of MB.

Table 2

 2

		the Pechini powder upon initial doping decreased but
		increasing dopant levels appeared to increase
		slightly the peak intensities. Consequently, Ce
		solubility destabilized both anatase and rutile and
		does not serve as a source of nucleation sites. Since
		this effect was more significant in the Pechini
		powders, this suggests that the Pechini method
	, is the case only	provides better chemical homogeneity and hence a
	for Fe-doped TiO2. It is notable that 0-10 mol%	superior mechanism of solubility. This conclusion
	Ce-doped TiO2 annealed at 400°C for 2 h consisted	is supported by the observation of rutile in the
	of anatase only. 6 No secondary oxide phases were	Pechini powders annealed at a relatively low
	detected. The anatase peak intensities of both	temperature, which is indicative powders of greater
	powders appeared to decrease with increasing	reactivity.
	dopant levels. However, the rutile peak intensity of

Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926 8

Table 4

 4

	shows details of the principal anatase
	(101) and rutile (110) peaks for both methods of
	synthesis. Although no internal standard was used,
	the peak positions appeared not to shift with
	increasing codopant concentration for the sol-gel
	powders while peaks were shifted to significantly
	higher angles for the Pechini powders at codopant
	levels between 0.50% Ce / 0.50% Cr and 1.00% Ce
	/ 1.00% Cr.	Again, these data support the
	conclusion that the Pechini method provides a
	superior mechanism of solubility. Further support
	for this conclusion is present in the irregular and
	regular variations in crystallite size for the sol-gel
	and Pechini powders, respectively.

Table 4 .

 4 Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926 9 Details of codoped TiO2 powders fabricated by sol-gel and Pechini methods

		Codopant Level	XRD Peak Position A	Volume Fraction B	Crystallite Size (nm) B
		Ce (mol%) Cr (mol%)	(101)Anatase (°2θ)*	(110)Rutile (°2θ)*	VAnatase (Vol%)	VRutile (Vol%)	Anatase	Rutile
		0	0	25.27	0	100	0	49.0	--
		0.10	0.10	25.29	0	100	0	53.5	--
	Sol-Gel	0.50 1.00	0.50 1.00	25.28 25.28	0 0	100 100	0 0	53.5 39.0	----
		5.00	5.00	0	0	0	0	--	--
		10.00	10.00	0	0	0	0	--	--
		0	0	25.26	27.39	69	31	14.5	30.0
		0.10	0.10	25.25	27.39	97	3	9.5	(2.0)
	Pechini	0.50 1.00	0.50 1.00	25.25 25.33	27.30 27.36	82 78	18 22	8.5 8.0	18.0 15.5
		5.00	5.00	25.45	27.40	49	51	7.5	8.5
		10.00	10.00	0	--	0	--	--	--

A No internal standard used B Calculated by the Spurr and Myers method

[START_REF] Uekawa | Low Temperature Synthesis and Characterization of Porous Anatase TiO2 Nanoparticles[END_REF]

Table 5 .

 5 Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57(12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926 10 c axis contraction provides the dominant distortional effect, which has been suggested previously[START_REF] Chen | Effects of Precipitation, Liquid Formation, and Intervalence Charge Transfer on the Properties and Photocatalytic Performance of Cobalt-or Vanadium-Doped TiO2 Thin Films[END_REF] . Relevant sixfold Shannon crystal radii[START_REF] Shannon | Effective Ionic Radii in Oxides and Fluorides[END_REF]

	Cation Valence	Spin	Crystal Radius (nm)	Radius Difference with Ti 4+ (%)	Radius Difference with Interstice (%)
		4+	--	0.0745		-4.73
	Ti	3+	--	0.081	--	+ 3.58
		2+	--	0.100		+ 27.90
	Ce	4+ 3+	----	0.101 0.115	+ 35.57 + 54.36	+ 29.16 + 47.06
		6+	--	0.058	-22.15	-25.83
		5+	--	0.063	-15.44	-19.44
	Cr	4+ 3+	----	0.069 0.0755	-7.38 + 1.34	-11.76 -3.45
		2+	Low High	0.087 0.094	+ 16.78 + 26.17	+ 11.25

  Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926

	12

  Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926

	FETEM and selected area electron diffraction
	(SAED) patterns for the codoped TiO2 nanoparticles
	(undoped, 0.10% Ce / 0.10% Cr, 0.50% Ce / 0.50%
	Cr) comprising the sol-gel and Pechini powders are
	shown in Figures 7 and 8
	13

  Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926

	17

Table 6

 6

	summarizes the four

Table 6 :

 6 Potential IVCT mechanisms from doping and codoping of TiO2

	IVCT Mechanisms	Potential IVCT Reactions
	Matrix Only	Ti 4+ + Ti 4+ ↔ 2Ti 3+ + Vo ••
		Ti 4+ + Ce 3+ ↔ Ti 3+ + Ce 4+
	Matrix and Dopant	Ti 4+ + Cr 3+ ↔ Ti 3+ + Cr 4+ Ti 4+ + Cr 4+ ↔ Ti 3+ + Cr 5+
		Ti 4+ + Cr 5+ ↔ Ti 3+ + Cr 6+
		Ce 3+ + Ce 4+ ↔ Ce 4+ + Ce 3+
		Cr 3+ + Cr 4+ ↔ Cr 4+ + Cr 3+
	Dopant Only	Cr 3+ + Cr 5+ ↔ Cr 4+ + Cr 4+ Cr 3+ + Cr 6+ ↔ Cr 4+ + Cr 5+
		Cr 4+ + Cr 6+ ↔ Cr 5+ + Cr 5+
		Cr 5+ + Cr 6+ ↔ Cr 6+ + Cr 5
		Ce 3+ + Cr 4+ ↔ Ce 4+ + Cr 3+
	Between Dopants	Ce 3+ + Cr 4+ ↔ Ce 4+ + Cr 3+
		Ce 3+ + Cr 5+ ↔ Ce 4+ + Cr 4+

  Chen, Wen-Fan, et al. "Enhancement of Ce/Cr Codopant Solubility and Chemical Homogeneity in TiO2 Nanoparticles through Sol-Gel versus Pechini Syntheses." Inorganic chemistry (2018) 57 (12), 7279-7289 DOI: 10.1021/acs.inorgchem.8b00926

	Ce 3+ + Cr 6+ ↔ Ce 4+ + Cr 5+
	19

Table 7 :

 7 IVCT and MVCT mechanisms suggested by XPS data

	Sol-Gel	IVCT	Ti 4+ + 2Ce 3+ + Ce 4+ ↔ Ti 3+ + Ce 3+ + 2Ce 4+ Ti 4+ + Cr 3+ ↔ Ti 3+ + Cr 4+
		MVCT	2Ti 4+ + 2Ce 3+ + Ce 4+ + Cr 3+ ↔ 2Ti 3+ + Ce 3+ + 2Ce 4+ + Cr 4+
	Pechini	IVCT	Ti 4+ + Ce 3+ ↔ Ti 3+ + Ce 4+ 3Ti 4+ + Cr 3+ ↔ 3Ti 3+ + Cr 6+
		MVCT	4Ti 4+ + Ce 3+ + Cr 3+ ↔ 4Ti 3+ + Ce 4+ + Cr 6+

Acknowledgments

The authors wish to acknowledge the financial support from the Australian Research Council (ARC) and the characterization facilities provided by the Mark Wainwright Analytical Centre at UNSW Sydney.