added a function allowing the poppy to press each note individually when given the number of the note
This commit is contained in:
parent
9edde290d6
commit
83ee7d0e71
108
main.cpp
108
main.cpp
|
|
@ -1,6 +1,8 @@
|
|||
#include <iostream>
|
||||
#include <chrono>
|
||||
#include <thread>
|
||||
//#include<windows.h>//for windows
|
||||
#include<unistd.h>//for linux
|
||||
#include "DynamixelHandler.h"
|
||||
|
||||
// Global variables
|
||||
|
|
@ -46,11 +48,11 @@ void goToPlayingPosition()
|
|||
{
|
||||
std::vector<uint16_t> l_vTargetJointPosition;
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(90.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-45.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(45.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(38.0f)); //mettre pince à convertAnglesToJointCmd(38.0f) (à revérifier si ça ne change pas avec un poppy différent)
|
||||
_oDxlHandler.sendTargetJointPosition(l_vTargetJointPosition);
|
||||
}
|
||||
|
||||
|
|
@ -61,13 +63,13 @@ void currentPos()
|
|||
_oDxlHandler.readCurrentJointPosition(l_vCurrentJointPosition);
|
||||
|
||||
// display current joint position
|
||||
//std::cout << "vCurrentJointPosition= (";
|
||||
//for (int l_joint=0; l_joint < l_vCurrentJointPosition.size(); l_joint++)
|
||||
// std::cout << l_vCurrentJointPosition[l_joint] << ", ";
|
||||
//std::cout << ")" << std::endl;
|
||||
std::cout << "vCurrentJointPosition= (";
|
||||
for (int l_joint=0; l_joint < l_vCurrentJointPosition.size(); l_joint++)
|
||||
std::cout << l_vCurrentJointPosition[l_joint] << ", ";
|
||||
std::cout << ")" << std::endl;
|
||||
}
|
||||
|
||||
int gripperControl()
|
||||
int closeGripper()
|
||||
{
|
||||
//read current joint 6 torque
|
||||
std::vector<uint16_t> l_vCurrentJointTorque;
|
||||
|
|
@ -135,8 +137,86 @@ int gripperControl()
|
|||
return (int)joint6Torque;
|
||||
}
|
||||
|
||||
//mettre pince à convertAnglesToJointCmd(38.0f) (à revérifier si ça ne change pas avec un poppy différent)
|
||||
|
||||
void playNote(int myNote)
|
||||
{
|
||||
goToPlayingPosition();
|
||||
std::vector<uint16_t> l_vTargetJointPosition;
|
||||
switch(myNote){
|
||||
case 1:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 2:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-35.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 3:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 4:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 5:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 6:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 7:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 8:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
case 9:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
default:
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(25.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(-55.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(0.0f));
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(20.0f));
|
||||
break;
|
||||
}
|
||||
l_vTargetJointPosition.push_back(convertAnglesToJointCmd(38.0f)); //mettre pince à convertAnglesToJointCmd(38.0f) (à revérifier si ça ne change pas avec un poppy différent)
|
||||
_oDxlHandler.sendTargetJointPosition(l_vTargetJointPosition);
|
||||
sleep(1); //time period in seconds
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
|
@ -154,9 +234,13 @@ int main()
|
|||
|
||||
currentPos();
|
||||
|
||||
int gripperTorque = gripperControl();
|
||||
//int gripperTorque = closeGripper();
|
||||
|
||||
goToHomePosition();
|
||||
goToPlayingPosition();
|
||||
goToPlayingPosition();goToPlayingPosition();goToPlayingPosition();goToPlayingPosition();goToPlayingPosition();goToPlayingPosition();
|
||||
currentPos();
|
||||
playNote(1);
|
||||
playNote(2);
|
||||
|
||||
// wait 1s
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||
|
|
|
|||
Loading…
Reference in New Issue