This is an old revision of the document!
HAL
To get more information about the Hardware Abstraction Layer and how it works, please have a look into the HAL described on the eeros wiki.
EEROS for the Beagle Bone Blue is using the robotis_cape_library. You'll find the wrapper and its functions in the bbblue-eeros folder.
Configure the motors
If you want to run a motor with EEROS you need to define a Peripheral Output with the respective “signalId” used in the HAL-Configuration file. As you can see in the HAL-Configuration file for the Delta roboter in “subdevice2” the type for the motors is set to “AnalogOut”. In this subdevice section the 4 motors are configured to match the functions of the robotics_cape_library. In the EEROS application for the Delta roboter you can set a motor voltage of -8.0V to 8.0V. The HAL gets this values and wraps it to match the values of the robotics_cape_library which then runs the motors with the desired voltage.
Configure the encoders
HAL-Configuration file for the Delta roboter
{
"device0": {
"library": "libbbblueeeros.so",
"devHandle": "dummy",
"subdevice0": {
"type": "DigOut",
"channel0": {
"signalId": "onBoardGreen"
},
"channel1": {
"signalId": "ledBlue"
},
"channel49": {
"signalId": "ledRed"
},
"channel116": {
"signalId": "onBoardRed"
},
"channel98": {
"signalId": "emag"
}
},
"subdevice1": {
"type": "DigIn",
"channel0": {
"signalId": "buttonMode"
},
"channel1": {
"signalId": "buttonPause"
},
"channel97": {
"signalId": "buttonBlue"
},
"channel57": {
"signalId": "buttonRed"
},
"channel113": {
"signalId": "buttonGreen"
}
},
"subdevice2": {
"type": "AnalogOut",
"channel1": {
"signalId": "motor1",
"scale": [ { "id" : "dac",
"minIn": -1.0, "maxIn": 1.0,
"minOut": -8.0, "maxOut": 8.0 }
],
"range": [ { "id" : "dac",
"minIn": -0.75, "maxIn": 0.75,
"minOut": -6.0, "maxOut": 6.0 }
],
"unit": "V"
},
"channel2": {
"signalId": "motor2",
"scale": [ { "id" : "dac",
"minIn": -1.0, "maxIn": 1.0,
"minOut": -8.0, "maxOut": 8.0 }
],
"range": [ { "id" : "dac",
"minIn": -0.75, "maxIn": 0.75,
"minOut": -6.0, "maxOut": 6.0 }
],
"unit": "V"
},
"channel3": {
"signalId": "motor3",
"scale": [ { "id" : "dac",
"minIn": -1.0, "maxIn": 1.0,
"minOut": -8.0, "maxOut": 8.0 }
],
"range": [ { "id" : "dac",
"minIn": -0.75, "maxIn": 0.75,
"minOut": -6.0, "maxOut": 6.0 }
],
"unit": "V"
},
"channel4": {
"signalId": "motor4",
"scale": [ { "id" : "dac",
"minIn": -1.0, "maxIn": 1.0,
"minOut": -6.0, "maxOut": 6.0 }
],
"range": [ { "id" : "dac",
"minIn": -1, "maxIn": 1,
"minOut": -6.0, "maxOut": 6.0 }
],
"unit": "V"
}
},
"subdevice3": {
"type": "Fqd",
"channel1": {
"signalId": "enc1",
"scale": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 477.522083346 },
{ "id" : "enc",
"minIn": 0, "maxIn": 477.522083346,
"minOut": 0, "maxOut": 311296},
{ "id" : "fqd",
"minIn": 0, "maxIn": 311296,
"minOut": 0, "maxOut": 1245184}
],
"range": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 477.522083346 },
{ "id" : "enc",
"minIn": 0, "maxIn": 477.522083346,
"minOut": 0, "maxOut": 311296},
{ "id" : "fqd",
"minIn": 0, "maxIn": 311296,
"minOut": 0, "maxOut": 1245184}
],
"unit": "rad"
},
"channel2": {
"signalId": "enc2",
"scale": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 477.522083346 },
{ "id" : "enc",
"minIn": 0, "maxIn": 477.522083346,
"minOut": 0, "maxOut": 311296},
{ "id" : "fqd",
"minIn": 0, "maxIn": 311296,
"minOut": 0, "maxOut": 1245184}
],
"range": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 477.522083346 },
{ "id" : "enc",
"minIn": 0, "maxIn": 477.522083346,
"minOut": 0, "maxOut": 311296},
{ "id" : "fqd",
"minIn": 0, "maxIn": 311296,
"minOut": 0, "maxOut": 1245184}
],
"unit": "rad"
},
"channel3": {
"signalId": "enc3",
"scale": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 477.522083346 },
{ "id" : "enc",
"minIn": 0, "maxIn": 477.522083346,
"minOut": 0, "maxOut": 311296},
{ "id" : "fqd",
"minIn": 0, "maxIn": 311296,
"minOut": 0, "maxOut": 1245184}
],
"range": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 477.522083346 },
{ "id" : "enc",
"minIn": 0, "maxIn": 477.522083346,
"minOut": 0, "maxOut": 311296},
{ "id" : "fqd",
"minIn": 0, "maxIn": 311296,
"minOut": 0, "maxOut": 1245184}
],
"unit": "rad"
},
"channel4": {
"signalId": "enc4",
"scale": [ { "id" : "gear",
"minIn": 0, "maxIn": 5.8,
"minOut": 0, "maxOut": 670.206432766 },
{ "id" : "enc",
"minIn": 0, "maxIn": 753.982236862,
"minOut": 0, "maxOut": 30720},
{ "id" : "fqd",
"minIn": 0, "maxIn": 30720,
"minOut": 0, "maxOut": 122880}
],
"range": [ { "id" : "gear",
"minIn": 0, "maxIn": 6.283185307,
"minOut": 0, "maxOut": 753.982236862 },
{ "id" : "enc",
"minIn": 0, "maxIn": 753.982236862,
"minOut": 0, "maxOut": 30720},
{ "id" : "fqd",
"minIn": 0, "maxIn": 30720,
"minOut": 0, "maxOut": 122880}
],
"unit": "rad"
}
}
}
}

