
| Table 1. Constant values for the rover model   |                              |           |
|------------------------------------------------|------------------------------|-----------|
| N                                              | Air density                  | 0.1 YG/KZ |
| G                                              | Gravitational acceleration   | 3.8 K/	 "           |
| K                                              | Vehicle mass                 | 71.73 YG  |
| R                                              | Kinetic friction coefficient | 0.8       |
| SC1D                                           | Initial battery charge       | 18,000    |
| SC'&                                           | Min final battery charge     | 17,000    |
| HC1D                                           | Max speed                    | 1.0 SK/   |
| C1D                                                | Max acceleration             | 5 SK/	 "           |
| G/                                             | CPU energy requirements      | 25 ^/     |
| EF                                             | Cooling duration             | 6 s       |
| @C1D                                           | Distance between coolings    | 1.30 K    |
| GF                                             | Cooling energy requirements  | 10 ^/     |
| @A'&1B                                         | Final distance               | 2 K       |
| EC1D                                           | Max plan duration            | 60        |

International Journal of Artificial Intelligence & Applications (IJAIA), Vol.1, No.3, July 2010 Finally, according to Definition 3, we evaluate the cost of the generated plan through the function 	'
, '
 **defined as follows:** 

$$C(s_{i},a_{i})=$$
$$=\left\{\begin{array}{l l}{{\frac{g_{s}{}^{2}}{t_{m a x}-i}+C_{a}(a_{i})}}\\ {{\frac{(g_{s}+g_{c})^{2}}{t_{m a x}-i}+C_{a}(a_{i})}}\\ {0}\\ {{\frac{(g_{s}+f(v_{i},\dot{v}_{i}))^{2}}{t_{m a x}-i}+C_{a}(a_{i})}}\end{array}\right.$$
"
O 1'
 )J U'  	**Edee@**
O 1'
 )J U'  **Sddf)gG**
EC1D , )O 1'
 **dEmPk)**	 
$$\begin{array}{l}{{i f\ \ q_{i}=s t o p e d}}\\ {{}}\\ {{i f\ \ q_{i}=c o o l i n g}}\\ {{}}\\ {{i f\ \ q_{i}\in\left\{\begin{matrix}{n o\ \ e n e r g y,}\\ {e n g i n e\ \ b l o w n}\end{matrix}\right\}}}\\ {{}}\end{array}$$ $$\begin{array}{l}{{o t h e r w i s e}}\\ {{o t h e r w i s e}}\end{array}$$

where 	  ,   . Here, 1  0 **since all the actions are instantaneous and do not require** 
energy. This definition of  **allows one to perform optimisation on both energy and time, as** 
required, still giving more importance to the energy component. Indeed, usually the mission could be accomplished even if it requires some seconds more than the planned limits, whereas running out of battery charge could lead to dangerous failures. 

## 4.3. **Upmurphi Model**

The resulting model has been translated to a FSS, encoded in the UPMurphi description language, with the same state variables and transition function of the hybrid automaton in Figure 1. In this phase, the continuous state variables have been suitably discretised. It is worth noting that this discretisation is indeed *realistic***, since also the real rover instruments, being built on a** 
limited hardware (e.g., sensors, actuators), would implicitly work on approximations of the real continuous values. However, we must be aware of approximations that may lead to unexpected violations of safety constraints. 

Indeed, in the UPMurphi rover model, we applied an approximation of 0.1 to all the variables, and introduced the H/1AoC1D ? HC1D **constant as the actual maximum speed. This gives us a** 
chance to set a further safety threshold on the speed, to prevent an engine blow (see Section 4.2) 
due to approximation errors. On the other hand, the journey time will be measured in seconds, since it is a reasonable update interval for the rover engine status. It is worth noting that, with the given discretisation, the total number of different states of the FSS is 2.2 p 10!Z**. Figure 2** 
shows the resulting UPMurphi code, where for sake of simplicity we omit the declaration of constants and state variables. 