Aller au contenu


Photo
- - - - -

hack de mon RobotSapien ( seb03000 )


7 réponses à ce sujet

#1 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 29 mai 2013 - 07:19

Je c'est pas si je suis dans le bon poste ( si ce n'est pas le cas faite en sorte de le déplacé , merci ).





Image IPB

Depuis près de 2 ans j'avais acheté un RobotSapien

d'occasion , mais je n'avais pas la télécommande qui aller avec.

Donc je me suis dis , il devrais avoir un système de hacke qui me permettrai de lui faire des

mouvements a partir d'une carte Arduino , j'ai parcouru pas mal de page sur le net , j'ai récolté

pas mal d'information.

Il s'avère que mon hackage fonctionne , de plus je viens de finir sa programmation

( un début très concret, je dois dire ).

Donc je vous mes des photos ( pour vous donnez la preuve que c'est bien mon robot )

est un petit tuto qui vas avec , est bien sur la programmation que j'ai réalisé.


Matériel acheté pour se hacke:

Carte Arduino Uno Rev 3 ICI

Log shield pour Arduino sur carte SD avec horloge RTC et zone de prototypage à pastilles carrées ICI
Le shield pour Arduino sur carte SD n'est pas obligatoire, vous pouvais faire le hack sans ce shield

Une pile carré de 9V ICI

Est des file pour la soudure ou la connexion



Voila la photo:

Image IPB





Alors commençons.

Image IPB

Image IPB

Image IPB

Image IPB

  • Dévisser les 4 vis à l'arrière du Robosapien (2 au niveau des épaules, 2 au niveau des hanches) pour accéder au PCB
  • Repérer le connecteur de la tête situé en haut du PCB (photo ci-dessus)
  • Retirer les différentes nappes de fils du PCB afin de pouvoir démonter ce dernier
  • Repérer le fils noir et blanc sur le « head connector ». Le noir correspond au GND, et le blanc au signal infrarouge (IR-OUT)
  • Retourner le PCB et souder un fil noir au point de soudure
    correspondant au GND puis un fil blanc à celui correspondant au signal
    infrarouge , ( ou dénudé le file noir et le blanc , puis réunissé lé comme je les fait )
  • Souder le « nouveau » fil blanc a la patte centrale d'un petit toggle switch 3-Pin
    puis ajouter un autre fil blanc à l'une des deux autres pattes. Cette
    manipulation permettra de switcher le Robosapien en mode télécommande ou
    Arduino.
  • Percer un trou quelque part sur le robot pour y placer le switch comme sur la photo si dessous.
    J'ai personnellement choisi l'arrière à côté du transducteur (voir photo
    ci-dessous)
  • Remonter le tout !
Image IPB
Image IPB
Image IPB

Image IPB

Le petit code sur lequel nous allons nous baser pour simuler les
données normalement envoyées par la télécommande.
Arduino permet donc de simuler la télécommande et communiquer en série
avec le robot. Avant de mettre le tout sous tension, il est important de
positionner le switch en mode manuel avant d'allumer le robot. Une fois ce dernier allumé, il convient alors de mettre le switch sur la position Arduino. Puis, branchez le fil blanc sur le PIN 3 de la carte, le fil noir sur le GND
puis optionnellement une LED sur le pin 13 ou une autre pin que vous voulez. Il faut ensuite uploader le
code ci-dessous sur la carte.

/*
 * écrire des codes IR Robosapien
 * écrire des données codées comme décrit ici:
 */
int led = 9; //LED bleu De la carte RTC sur pin 9
int LedControl = 13; 	// Afficher lorsque le contrôle est sur on
const int irPin = 3;
const int tsDelay = 833; // selon les l'estimations

enum roboCommand {
  // un très petit sous-ensemble de commandes
  turnRight = 0x80,
  rightArmUp = 0x81,
  rightArmOut = 0x82,
  tiltBodyRight = 0x83,
  rightArmDown = 0x84,
  rightArmIn = 0x85,
  walkForward = 0x86,
  walkBackward = 0x87,
  turnLeft = 0x88,
  leftArmUp = 0x89,
  leftArmOut = 0x8A,
  tiltBodyLeft = 0x8B,
  leftArmDown = 0x8C,
  leftArmIn = 0x8D,
  stopMoving = 0x8E,
  RSWakeUp = 0xB1,

  
  // Bruitage
  whistle = 0xCA,
  roar = 0xCE,
  RSRightHandStrike = 0xC0,
  RSRightHandSweep = 0xC1,
  burp = 0xC2,
  RSRightHandStrike2 = 0xC3,
  RSHigh5 = 0xC4, 
  RSFart = 0xC7,
  RSLeftHandStrike = 0xC8,
  RSLeftHandSweep = 0xC9,
};


void setup()
{
   pinMode(irPin, OUTPUT);
   digitalWrite(irPin, HIGH);
   pinMode(LedControl,OUTPUT);
   pinMode(led,OUTPUT);
  Serial.begin(9600);
  Serial.println("RobSapien Start");   
}

void delayTs(unsigned int slices) {
  delayMicroseconds(tsDelay * slices); 
}

void writeCommand(int cmd) //  type 'int' non 'robo Command' d'un environnement Arduino
{
  
  digitalWrite(irPin, LOW);
  delayTs(8);
    
  for(char b = 7; b>=0; b--) {
    digitalWrite(irPin, HIGH);
    delayTs( (cmd & 1<<<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />/>/>/>/>/>/> ? 4 : 1 );
    digitalWrite(irPin, LOW);
    delayTs(1);        
  } 
  
  digitalWrite(irPin, HIGH);
  digitalWrite(LedControl,HIGH);
  digitalWrite(led,HIGH);
}


void loop()
{

   //Fonction du bras gauche 

   writeCommand(leftArmUp); // Lève le bras gauche
   delay(5000);
   
   writeCommand(rightArmUp);//Lève le bras droit
   delay(5000);

   writeCommand(leftArmOut); // Tourne l'avants bras gauche
   delay(2000);
   
   writeCommand(rightArmOut);//Tourne l'avants bras droit
   delay(2000);

   writeCommand(leftArmDown);//tir son bras gauche verre le bas 
   delay(5000);
   
   writeCommand(rightArmDown);//tir son bras droit verre le bas
   delay(5000);

   writeCommand(leftArmIn);//Ramène son bras gauche verre les hanche 
   delay(2000);
   
   writeCommand(rightArmIn);//Ramène son bras droit verre les hanche
   delay(2000);

   writeCommand(tiltBodyLeft);//Le corp du robot ce balance sur la gauche 
   delay(5000);

  writeCommand(turnLeft);//Le robot bouge en cercle pour aller sur sa gauche
  delay(5000);
 
   writeCommand(turnRight);//Le robot bouge en cercle pour aller sur sa droite
   delay(5000); 

   writeCommand(RSLeftHandStrike);//mouvement du bras gauche posture qui fait montré une chose
   delay(5000);

   writeCommand(RSLeftHandSweep);//mouvement du bras gauche posture qui ramase une chose
   delay(5000);

   writeCommand(tiltBodyRight);//Le corp du robot ce balance sur la droite
   delay(5000);

   writeCommand(RSRightHandSweep);//mouvement du bras droit se balance et se penche
   delay(5000);

   writeCommand(RSHigh5);//mouvement des du bras droit qui salut
   delay(5000);



   //Fonction stop

   writeCommand(stopMoving);//RoboSapiens en mode stop ou repos 
   delay(3000);




   // fonction du corp

   writeCommand(walkBackward);//Le robot bouge est recule est fait divers mouvement 
   delay(6000);

   writeCommand(walkForward);//Le robot bouge est avance est fait divers mouvement 
   delay(6000);


   //Fonction aléatoire 

   writeCommand(whistle);//RoboSapiens movement des bras aléatoire plus bruitage 
   delay(5000);


   writeCommand(roar);//RoboSapiens movement des bras aléatoire plus bruitage ( même    chose )
   delay(5000);

   writeCommand(burp);//RoboSapiens movement des genoux plus bruitage ( même chose )
   delay(5000);

   writeCommand(RSWakeUp);//RoboSapiens movement des deux bras plus bruitage ( même    chose )
   delay(5000);

   writeCommand(RSRightHandStrike);//RoboSapiens movement du bras droit plus hanche ( même chose )
   delay(5000);

   writeCommand(RSRightHandStrike2);//mouvement des deux bras 
   delay(5000);

   writeCommand(RSFart);//mouvement des de bras mode posture qui attend
   delay(5000);
  
}

Voila le code complet ^^
Moi
perso j'ai couper le son de la voix du robot , car sa me prenais la
tête , du coup je vais voir si cela est possible a lui rajouté une voix différente
pour chaque mouvement.
Voila les amies fin du tuto.


  • Tuc aime ceci

#2 Dub K95

Dub K95

    Membre

  • Membres
  • 51 messages
  • Gender:Male
  • Location:À 30 minutes de Paris

Posté 30 mai 2013 - 04:52

Salut & bravo !

Super réalisation du hack et du tuto, dommage que je n'es pas de Robot Sapien j'aurais bien essayé ^^

Bonne continuation ;)
FAILURE IS NOT AN OPTION ~ NASA

#3 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 30 mai 2013 - 04:54

Merci bien Dub K95

#4 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 08 juin 2013 - 09:52

Re les amies , comme promis voici la vidéo de mon RoboSapiens hacké

http://www.youtube.com/watch?feature=player_detailpage&v=ZxXc7zMfwUg#t=62s

Je rappelle que je ne commande pas le RoboSapiens, il et autonome , comme je le disais sur le posté que je décri, le Hacke du RoboSapiens,

l'Arduino que je lui et implanté permet de simuler la télécommande.

Le faite que vous entendiez craquer dans la vidéo , viens du bras droit du RoboSapiens qui lui et un peut endommagé.



#5 Tuc

Tuc

    Membre occasionnel

  • Membres
  • Pip
  • 85 messages
  • Gender:Male
  • Location:Languedoc-Roussillon

Posté 09 juin 2013 - 11:55

Si j'ai bien compris, dès que tu l'allumes, il effectue une suite de mouvements coordonnés puis le programme s'effectue en boucle ?
C'est dommage, tu devrais plutôt essayer de lui ajouter quelque capteurs et un programme par exemple de mod "danse" et d'évitements d'obstacles; parce que une suite de mouvements en continues, c'est bien mais un peu moyen.

Étudiant GEII - 1A


#6 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 09 juin 2013 - 12:05

Si j'ai bien compris, dès que tu l'allumes, il effectue une suite de mouvements coordonnés puis le programme s'effectue en boucle ?


oui c'est bien ça ^^


Déjà je rappelle que je n'avais pas la télécommande du robot , donc du coup je ne pouvais rien faire avec , a par le mettre sur une étagère.

Donc en cherchant bien sur le net j'ai trouvais le moyen de pouvoir me servir du robot avec une Arduino en programment le robot tout tant simulent une télécommande, ( donc c'est déjà très bien je pense )

Ce si dis, la présentation en vidéo est pour vous montrais de quoi on est capable de faire avec se robot , la suite pour les rajout d'autre module se ferra plus tard.



#7 olivthill

olivthill

    Membre occasionnel

  • Membres
  • Pip
  • 143 messages
  • Gender:Male
  • Location:Normandie

Posté 09 juin 2013 - 12:33

C'est un bon hacking. Très bien !

#8 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 09 juin 2013 - 12:55

Merci bien olivthill



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users