Hi everyone !
I make a new humanoid robot made by XL-320’s (I use 1 USB2AX) and I try to sync and configure it with Pypot but i counter some problems, Pypot reconize the controller and the motors but, it’s impossible to make a configuration with the new skeleton.
I follow this tutorial to do it but it won’t works: http://poppy-project.github.io/pypot/controller.html#writing-the-configuration
Finally, I want to power the robot with Pypot like Poppy or Ergo robots.
Thank you in advance !
Did you check this repository ?
It should be very similar.
Also can you show us picture of the actual wiring so we can check if everything is alright ?
I checked this repository, it’s just to run the ErgoJr, not to make another configuration …
yep but it is very similar, you just have to take the ErgoJr configuration and change it for your robot.
Then you can load it as usual with pypot:
import json
import pypot.robot
my_robot = pypot.robot.from_json('my_new_robot.json')
I receive a “ValueError: No JSON object could be decoded” error when i try
can you copy/paste your json file ?
There is a test config file with one motor.
test_robot = {
"controllers": {
"my_dxl_controller": {
"sync_read": true,
"protocol": 2,
"attached_motors": [
"testm",
],
"port": "auto"
},
},
"motorgroups": {
"testm":["
m1,
"],
},
"motors":{
"mtest":{
"m1": {
"offset": -45.0,
"type": "XL-320",
"id": 3,
"angle_limit": [
-135.0,
45.0
],
},
},
There are several syntax errors in yout config file, it is why you get this error.
This one should be better:
{
"controllers": {
"my_dxl_controller": {
"sync_read": true,
"protocol": 2,
"attached_motors": [
"group1"
],
"port": "auto"
}
},
"motorgroups": {
"group1":[
"m1",
],
},
"motors":{
"m1": {
"offset": 0.0,
"type": "XL-320",
"id": 3,
"angle_limit": [
-150.0,
150.0
],
"orientation": "direct"
},
}
}
I receive a “ValueError: No JSON object could be decoded” anyway …
I edit the file like this:
{
"controllers": {
"my_dxl_controller": {
"sync_read": true,
"protocol": 2,
"attached_motors": [
"group1"
],
"port": "/dev/tty.usbmodem1411"
}
},
"motorgroups": {
"group1": [
"m1"
]
},
"motors": {
"m1": {
"offset": 0,
"type": "XL-320",
"id": 3,
"angle_limit": [
-150,
150
],
"orientation": "direct"
}
}
}
And I received a “NotEmplementedError”. Take a look at the screenshot :
can you show us how you have connected your motor ?
The [3] XL-320 motor is connected thru the SMPS2Dynamixel and the USB2AX via USB port
Did you notice that the XL320 need a 7v power supply and not 12V ?
1 Like
I powered the XL-320 with 12v, I try to 7V and it works! ?
physically, the engine runs with 12v circuit board has a protection, but the code does not run with 12v (you can read the voltage on Dynamixel motors) that is the problem .
I never thought that the bug would come by the voltage…
Thank you for fast responses !
cool mystery solved !
I think the motor raises an error above 9v and this error may not be handled by pypot.
http://support.robotis.com/en/product/dynamixel/xl-series/xl-320.htm
Voltage : 6 ~ 8.4V (Recommended Voltage 7.4V)
1 Like
Pierre
April 10, 2015, 8:51am
16
You will also have this “none error” if you use a 5V alimentation btw.