Let $f(x)$ be an odd function on $\mathbb{R}$, such that $f(x)=x^2$ when $x\ge 0$. Knowing that for all $x\in [a,a+2]$, the inequality $f(x+a)\ge 2f(x)$ holds, find the range of real number $a$.
1. **First Case: \(a + 2 \leq 0\)**

   If \(a + 2 \leq 0\), then \(a \leq -2\). For \(x \in [a, a+2]\), we have \(x \leq 0\). Since \(f(x)\) is an odd function and \(f(x) = x^2\) for \(x \geq 0\), it follows that \(f(x) = -x^2\) for \(x < 0\).

   Substituting \(x = a\) into the inequality \(f(x + a) \geq 2f(x)\):
   \[
   f(a + a) \geq 2f(a) \implies f(2a) \geq 2f(a)
   \]
   Since \(a \leq -2\), \(2a \leq -4\), and thus \(f(2a) = -(2a)^2 = -4a^2\) and \(f(a) = -a^2\). Therefore:
   \[
   -4a^2 \geq 2(-a^2) \implies -4a^2 \geq -2a^2 \implies -4a^2 + 2a^2 \geq 0 \implies -2a^2 \geq 0
   \]
   This is clearly false since \(a^2 \geq 0\). Hence, \(a + 2 \leq 0\) is not possible.

2. **Second Case: \(a < 0\) and \(a + 2 \geq 0\)**

   Here, \(a \in [-2, 0)\). Since \(0 \in [a, a+2]\), we can substitute \(x = 0\) into the inequality:
   \[
   f(0 + a) \geq 2f(0) \implies f(a) \geq 0
   \]
   But \(f(a) = -a^2\) for \(a < 0\), so:
   \[
   -a^2 \geq 0
   \]
   This is also false since \(a^2 > 0\) for \(a \neq 0\). Hence, \(a < 0\) and \(a + 2 \geq 0\) is not possible.

3. **Third Case: \(a \geq 0\)**

   For \(a \geq 0\), we need to check the inequality \(f(x + a) \geq 2f(x)\) for \(x \in [a, a+2]\). Since \(f(x) = x^2\) for \(x \geq 0\), we have:
   \[
   f(x + a) = (x + a)^2 \quad \text{and} \quad f(x) = x^2
   \]
   The inequality becomes:
   \[
   (x + a)^2 \geq 2x^2
   \]
   Expanding and rearranging:
   \[
   x^2 + 2ax + a^2 \geq 2x^2 \implies a^2 + 2ax \geq x^2 \implies a^2 + 2ax - x^2 \geq 0 \implies (a - x)^2 \geq 0
   \]
   This inequality holds for all \(x \in [a, a+2]\) if and only if:
   \[
   a - x \geq 0 \implies x \leq a
   \]
   However, since \(x \in [a, a+2]\), the inequality must hold for all \(x\) in this interval. Therefore, we need to ensure that the interval \([a, a+2]\) is within the interval \([a - a\sqrt{2}, a + a\sqrt{2}]\):
   \[
   a + 2 \leq a + a\sqrt{2} \implies 2 \leq a\sqrt{2} \implies a \geq \sqrt{2}
   \]
   Thus, the range of \(a\) is:
   \[
   a \in [\sqrt{2}, +\infty)
   \]

The final answer is \(\boxed{a \in [\sqrt{2}, +\infty)}\).