We have been working on our independent Reachy build and have run into some problems with the Luos system.
First issue, after re-routing some power our head gate is completely unresponsive. It doesn't show up in our pyluos-usb-gate discover command at all. I've ensured I am using the correct Luos USB micro port and several different USB cords. It was previously responsive and was driving the DXL board for the antennas just fine.
Second issue is we are adding the Left arm to our Reachy and we are trying to set up that from scratch. I uploaded the latest firmware to the new boards (what I thought was successfully receiving only this error but a successful file download msg:
$bash luos-flash.sh ./GateArm.bin dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to [<http://sourceforge.net/p/dfu-util/tickets/>](<http://sourceforge.net/p/dfu-util/tickets/>) dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 0483:df11 Run-time device DFU version 011a Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuERROR, status = 10 dfuERROR, clearing status Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 011a Device returned transfer size 2048 DfuSe interface name: "Internal Flash " Downloading to address = 0x08000000, size = 88054 Download [=========================] 100% 88054 bytes Download done. File downloaded successfully Transitioning to dfuMANIFEST state
The gate is discoverable using our pyluos-usb-gate discover command. However python hangs and never never returns a new >>>> prompt after the command:
python3 from pyluos import Device device = Device('/dev/ttyUSB1')
When I Cntrl-C: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/device.py", line 96, in __init__ self._setup() File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/device.py", line 150, in _setup state = self._poll_once() File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/device.py", line 206, in _poll_once self._state = self._io.read() File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/io/__init__.py", line 18, in read data = self.recv() File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/io/serial_io.py", line 60, in recv return self._msg.get() File "/usr/lib/python3.7/queue.py", line 170, in get self.not_empty.wait() File "/usr/lib/python3.7/threading.py", line 296, in wait waiter.acquire()
Any troubleshooting advice would be greatly appreciated.
Posted on Forum 12/30
Wrong firmware version. See Setting up Luos + Dynamixels
<aside> ⚠️ Also we fried a gate and a DXL board. Be sure never to Loop the power!
One Dynamixel motor in the arm chain does not appear when instantiating the arm in PYLUOS. PyLuos only returns "void_dxl" when just this motor is connected. This motor was previously configured successfully, but disappeared for unknown reasons. All other motors in the chain still identify and can be controlled successfully.
Where is the problem seen?