Les deux rovers sont identiques avec une hauteur de 1,5m, une largeur de 2,3 m, une longueur de 1,6 m et une masse de 185 kg. Le cœur du rover est constitué d'un boitier central de forme triangulaire réalisé en matériau composite en nid d'abeille qui abrite les composants devant être mis à l'abri des variations importantes de températures qui règnent à la surface de Mars. Le dessus du boitier est tapissé de cellules solaires et sert de support aux trois antennes de télécommunications. Un mat, qui culmine à 1,5 mètres de hauteur, porte la caméra panoramique à son extrémité supérieure, deux caméras de navigation et un spectromètre infrarouge. Trois panneaux solaires, situés de chaque côté du boitier central sont repliés durant le voyage et se déploient après l'atterrissage. Un bras robotisé (IDD) est fixé à l'avant du boitier au bout duquel se trouvent deux spectromètres (Mössbauer et APXR), une caméra microscope ainsi qu'une meuleuse. Le boitier repose sur un train de 6 roues, motorisées de manière indépendantes qui permet au rover de se déplacer sur le sol inégal de Mars.
Les composants qui ne peuvent pas supporter les températures extrêmes de Mars (jusqu'à -105°C) sont placées dans le boitier central : on y trouve ainsi le cerveau du rover (l'ordinateur), la centrale à inertie, la partie électronique du spectromètre infrarouge du système de commande des moteurs des roues ainsi que les batteries qui doivent être maintenues à une température supérieure à -20°C en utilisation et 0°C en charge, etc... La température est régulée grâce à plusieurs dispositifs : radiateurs pour évacuer la chaleur, isolant constitué d'un aérogel de silice et d'une mince feuille d'or. Pour lutter contre le froid, huit pastilles contenant chacune 2,7 grammes de dioxyde de plutonium (Radio-isotope Heater Units ou RHU) produisent en permanence de la chaleur générée par la radioactivité. De la chaleur additionnelle est fournie à la demande par des résistances électriques. La chaleur dégagée par l'électronique embarquée contribue également à maintenir la température dans des limites tolérables.
Le rover utilise une suspension, baptisée rocker-bogie, mise au point par la NASA : celle-ci permet de franchir des obstacles d'une hauteur supérieure au diamètre des roues (26 cm). Le centre de masse abaissé du véhicule permet à celui-ci de rester stable sur une pente de 45° mais le programme de navigation embarqué est paramétré de manière à éviter les pentes supérieures à 30°. Les 6 roues sont équipées chacune d’un moteur individuel. Chacune des 4 roues d'extrémité comporte un moteur agissant sur la direction ce qui permet au rover de pivoter sur lui-même. Le véhicule peut progresser à une vitesse théorique de 5 cm/seconde (180 mètres/heure) mais en pratique ne peut dépasser 133 m/h quand sont pris en compte les changements de direction. Dans les cas les plus favorables le rover dispose d'énergie pour rouler durant quatre heures par jour martien.
Les panneaux solaires d'une superficie de 1,3 m2 sont constitués de cellules photovoltaïques à triple jonctions, sélectionnées pour leur bon ratio rendement (28,3%) sur masse (2,06 kg.m-2). Ces panneaux peuvent fournir une puissance de 200 watts lorsque le Soleil culmine avec un ciel en grande partie dégagé de la poussière martienne. Dans ces conditions les panneaux solaires peuvent fournir jusqu'à 1 kW·h au cours d'une journée martienne, mais cette quantité peut chuter à moins de 200 W·h lors d'une tempête de poussière ou durant l'hiver martien. La poussière martienne qui s'accumule au cours du temps contribue également à réduire le rendement des panneaux solaires. Deux batteries lithium-ion constituées chacune de 8 cellules qui permettent de stocker 16 A·h à la tension de 32 volts permettent de restituer l'énergie produite lorsque la demande excède ce que peuvent fournir les panneaux solaires. La technologie lithium-ion a été retenue pour son excellent rapport énergie stockée/masse et sa capacité à supporter un grand nombre de cycles de charge/décharge; par ailleurs des développements effectués par la NASA ont permis la mise au point d'un électrolyte capable de supporter des températures de -30 °C.
Contrairement au petit robot Sojourner de la mission Mars Pathfinder qui restait dépendant de son module d’atterrissage pour ses communications avec la Terre, les rovers MER disposent de leur propre système de communication. Les télécommunications jouent un rôle essentiel dans la mission MER. Comme toutes les sondes spatiales, la raison d'être des rovers est le recueil de données scientifiques qui doivent être ensuite acheminées vers la Terre. D'autre part des échanges fréquents de photos et d'instructions sont nécessaires pour guider le rover sur le terrain, même si celui-ci dispose d'une capacité à identifier et éviter les obstacles en toute autonomie. Le rover peut utiliser deux méthodes pour transmettre des données : la transmission directe vers la Terre lorsque le rover peut pointer ses antennes vers celle-ci ou l'émission vers les sondes en orbite qui servent de relais. Ce dernier moyen permet un débit plus important et est privilégié. Il était prévu initialement que les rovers utilisent un réseau de satellites de télécommunications placés en orbite autour de Mars pour communiquer avec la Terre (Mars Network). Mais le déploiement de ces satellites ne s'est pas réalisé et les rovers utilisent les orbiteurs existants : Mars Global Surveyor jusqu'à sa fin de vie en 2006, Mars Odyssey ainsi que Mars Reconnaissance Orbiter depuis son arrivée en orbite martienne en 2006. La sonde européenne Mars Express a également servi de relai à titre expérimental.
Le transfert des données entre le rover et la Terre fait face à plusieurs contraintes. Le rover a un équipement de communication de puissance limitée. Il dispose d'une quantité d'énergie réduite par la surface de ses panneaux solaires et l'équipement de télécommunications a dû être allégé au maximum. Les orbiteurs ont par contre dans ce domaine plus de capacité grâce à la taille de leur panneaux solaires et de leur équipement de télécommunications. Le débit de la transmission est donc généralement faible : il est compris entre quelques bits par secondes avec l'antenne faible gain du rover et 32 ko/secondes en utilisant l'antenne UHF et le relais des sondes qui orbitent autour de Mars. Pour que la transmission puisse avoir lieu il faut que l'émetteur et le récepteur soient visibles l'un par l'autre : l'orbiteur Mars Odyssey qui a été utilisé pour le transfert de la majeure partie des données n'est visible que durant 10 minutes à chacun de ses passages au-dessus du rover. La communication avec MRO qui orbite à plus basse altitude n'est possible que durant 5 minutes. Si le rover veut communiquer directement avec la Terre, il doit prendre en compte la rotation de la planète Mars et doit attendre si nécessaire de faire face à la Terre. Les communications directes vers la Terre sont par ailleurs limitées à 3 heures par jour martien pour limiter la consommation d'énergie et l'échauffement de l'électronique. Les rares antennes suffisamment puissantes sur Terre pour recevoir les émissions des sondes, dont le Deep Space Network de le NASA, doivent suivre un grand nombre de missions planétaires simultanées. Des créneaux horaires d'une heure sont alloués à chaque rover pour chaque jour martien pour les communications montantes (envoi d'instructions aux rovers, programme du jour) et descendantes (transfert de données scientifiques et de navigation). Une fois tous les deux ans la Terre et Mars se trouvent en opposition par rapport au Soleil. Il en résulte un black-out total des communications avec le rover qui dure 2 semaines : durant cette période, le rover ne se déplace plus et exécute un programme d'observation au voisinage de sa position.
Le rover dispose pour communiquer avec le contrôle au sol de 3 antennes :
Les deux robots Spirit et Opportunity utilisent des fréquences différentes, de manière à éviter toute confusion à la réception de leurs signaux sur Terre.
Pour remplir sa mission le rover doit se déplacer sur le sol martien en évitant les obstacles, rechercher et identifier des échantillons de sol intéressants puis positionner avec précision ses instruments chargés de recueillir les données scientifiques : certains doivent être plaqués contre la roche à analyser (spectromètre Mössbauer et APXS), d'autres doivent être simplement pointés avec précision vers leur cible (caméras et spectromètre infrarouge). Le pilotage du rover à la surface de Mars comporte de nombreuses contraintes. L'échange de données par radio entre la Terre et Mars nécessite de 8 à 42 minutes en fonction de la position respective des deux planètes. Il n'y a généralement qu'une seule vacation radio par jour martien entre le rover et les contrôleurs à Terre pour plusieurs raisons : le rover dispose d'une quantité d'énergie limitée à consacrer aux télécommunications, ces échanges utilisent comme relais un des orbiteurs martiens qui doit survoler le site du rover et le réseau d'antennes de réception sur Terre est peu disponible. De plus la navigation du rover doit être très prudente, car aucune réparation du matériel n'est possible or le terrain martien est irrégulier (la garde au sol du rover est de 30 cm) et les zones géologiques intéressantes sont souvent situées dans des zones escarpées. Le rover dispose d'une quantité d'énergie limitée qui lui permet de rouler au plus 4 heures durant une journée martienne.
Compte tenu de la durée de vie limitée du rover et de la complexité des recherches géologiques entreprises, les concepteurs du rover ont voulu que celui-ci puisse franchir 100 mètres au cours d'une journée martienne. Avec les contraintes énoncées plus haut cet objectif ne peut être atteint si un téléopérateur humain doit superviser chaque avancée du rover. Le recours à une série de commandes préparées à l'avance par le contrôle à Terre sur la base de photos prises par le rover et les orbiteurs martiens a ses limites : au-delà d'une certaine distance les informations disponibles sur les photos ne sont pas suffisamment précises, le rover peut circuler sur un terrain glissant qui fausse l'estimation de sa trajectoire réelle. Les concepteurs des rovers MER ont donc inclus dans le logiciel embarqué des fonctionnalités lui permettant de se déplacer de manière autonome vers son objectif.
Le logiciel de navigation utilise, pour déterminer la trajectoire, des données fournies par plusieurs capteurs. Une centrale à inertie comportant 3 accéléromètres et trois gyromètres donne la direction (il n'y a pas de champ magnétique ni de système de navigation par satellites sur Mars). Au bout de quelques heures un écart de plusieurs degrés peut apparaitre entre l'orientation réelle et l'orientation déterminée à l'aide de la centrale à inertie. Pour pallier cette dérive, une caméra est pointée vers le Soleil pour fournir le relèvement de celui-ci. L'orientation réelle est alors calculée en utilisant cette information, combinée avec l'heure solaire locale et la direction de la verticale locale (fournie par l'accéléromètre). Un odomètre utilise le nombre de tours de roue pour fournir la distance parcourue. Des détecteurs placés sur le châssis permettent de déterminer si le véhicule se trouve dans une position dangereuse (inclinaison importante, suspension fortement sollicitée). Un ensemble de 8 caméras fournit des informations sur le terrain environnant :
Lorsque la trajectoire est définie par le contrôle à Terre (mode Direct Driving), une série d'instructions décrivant le parcours à suivre décomposé en segments (distance+ direction) est téléchargée en début de journée puis exécutée de manière séquentielle. Le déplacement peut être interrompu si le rover détecte à l'aide de ses capteurs une situation à risques (inclinaison trop importante, ...) ou si le temps alloué au déplacement est dépassé ou si l'engin a une défaillance mécanique.
Lorsque le rover circule de manière autonome, le logiciel de navigation du rover comporte trois fonctions qui optimisent le déroulement et limitent le risque associé à ce mode :
La combinaison de ces fonctions permet d'obtenir plusieurs modes de navigation autonome. Le mode est choisi en fonction de la nature du terrain et de la distance à la cible. Au cours des 18 premiers mois de la mission les deux rovers ont utilisé essentiellement les modes de navigation suivants :
Le recours au mode Visodom et AutoNav est limité par la faible puissance du microprocesseur cadencé à 20 MHz qui doit exécuter en parallèle jusqu'à 90 taches même si, en général, 75 % du temps machine peut être consacré aux fonctions de navigation. Le traitement d'une photo pour les besoins de la navigation dure de 2 à 3 minutes et nécessite un arrêt complet de la progression du rover pour que le résultat des calculs puisse être exploité avant d'être périmé.
La planification d'une journée de navigation est effectuée par les équipes au sol du JPL qui regroupent des scientifiques qui identifient les cibles intéressantes et dépouillent les résultats et des ingénieurs chargés de préparer les instructions à exécuter par les rovers et de surveiller le déroulement des opérations. Le rover opère lorsque le Soleil est au plus haut. À l'issue de sa journée de travail, il transmet à l'équipe sur Terre des photos qui vont servir à identifier des objectifs scientifiques et à préparer la route du lendemain. Au cours du processus de préparation des arbitrages sont effectués pour prendre en compte les besoins en énergie, échanges radio et les capacités du rover (pente,...).
Durant la première phase de la mission MER, l'ensemble de l'équipe au sol travaillait à l'heure martienne 7 jours sur 7 avec un décalage de 40 minutes chaque jour par rapport à l'heure terrestre. Ce rythme épuisant a été abandonné dès la première extension de la mission 90 jours après l'atterrissage : le temps de préparation qui nécessitait chaque jour 18 heures a été fortement réduit par la création de séquences de commandes et grâce à l'expérience acquise. Par la suite une optimisation plus poussée du processus avec un système de distribution automatisé des taches et une dématérialisation quasi complète des supports de communication a permis aux scientifiques de réintégrer leur entité d'origine tout en maintenant leur participation au projet.
Chaque robot transporte également trois spectromètres :
L’équipement informatique du rover est utilisé durant toutes les phases de la mission à partir du lancement de la sonde. Il gère en particulier la navigation astronomique et les corrections de trajectoire durant le voyage Terre-Mars, les opérations de séparation de l'étage de croisière et du module de rentrée, les différentes tâches qui s'enchainent durant la phase de rentrée et d'atterrissage et le déploiement du rover après l'atterrissage. Sur le sol martien, compte tenu de l'éloignement de la Terre qui nécessite une grande autonomie du rover, l'ordinateur est fortement sollicité : il doit collecter les données télémétriques sur l'état du rover, gérer les communications en jonglant avec les 3 modes existants et les fenêtres s'ouvrant au passage des orbiteurs, exécuter les instructions du sol touchant aux déplacements et à la mise en œuvre des instruments scientifiques, compresser les données recueillies pour optimiser le volume de données à transférer et lorsque le rover progresse en mode autonome effectuer les calculs déterminant la meilleure route à suivre.
Le système informatique repose sur un unique microprocesseur RAD 6000 de type RISC 32 bits : cette version du processeur PowerPCest durcie pour résister à l'effet néfaste des radiations et peut traiter 20 millions d’instructions par seconde. Il utilise 128 Mo de mémoire vive de type DRAM, 256 Mo de mémoire flash et 3 Mo de mémoire morte de type EEPROM (mémoire non volatile). Le système d'exploitation est VxWorks, un OS temps réel de la firme Wind River, déjà employé pour les missions Mars Pathfinder et Stardust.
Le logiciel est en partie hérité de la mission Mars Pathfinder et de manière marginale de Deep Space 1, Mars 98 et Mars Odyssey. Il est écrit essentiellement en langage C avec quelques modules en C++ et représente 305 000 lignes de code occupant avec le système d'exploitation un volume de mémoire de 11 Mégaoctets. Le logiciel est décomposé en modules indépendants se répartissant en 5 couches : interfaces avec les composants physiques du rover (moteur, antenne,...), pilotage de ces composants, application, gestion de la sonde, de la charge utile et de la mission, gestionnaire d'événements. Les taches communiquent entre elles à l'aide de messages point à point transportant l'ensemble du contexte sauf cas particulier (traitement des images).