-
Notifications
You must be signed in to change notification settings - Fork 349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Very Weird] Suddenly Can't Load All Dynamixel Motors Anymore #86
Comments
I have few questions,
|
One day, however, all motors can't be loaded. And I even didn't modify any codes after the last successful run. When I run roslaunch locobot_control main.launch use_arm:=true teleop:=true, the arm motors errors is this: Do you mean that you did not change any code and did not pull any changes from the remote and even then it failed (however, it worked the day before)? |
Hey Kalyan, thank you for quick reply! Yep. It worked the day before, sometimes the error in the first image will occur. But once I reconnected the Dyanmixel U2D2 for several times, The current repository is the same as PyRobot Develop branch, (I git clone it today) except I deleted everything about RealSense in Did you mean run |
Oh I meant Using just Also, How are you running the Azure Kinect? Precisely, what is the associated launch file? |
Hey Kalyan, thank you for helping me out! I partially solved this issues tonight. It turns out a weird motor-level hardware problem. I firstly made LoCoBotController::loadDynamixels function's for loop sleep 2 seconds after loading every Dynamixel motor. This made motors can be loaded without errors. Then the reason why To protect the motors from hardware damage, this hardware error status is designed to trigger the However, from Then I can control my arm, although the arm command wouldn't work if misreport happened at the same time. After several minutes motors "warmup", now my arm motors can run fluently without misreport hardware error status. I'll also follow Issue 32's solutions to replace all arm's cables. I hope this solution can help others who run similar issues with Dynamixel motors. ROBOTIS products are actually not robust. |
Thank you very much for the detailed analysis! This will definitely help others who would probably run into the similar issue. However, it is still very weird that the Dynamixel motors are misreporting the errors. Let me look into this.
|
Also, there is an unrelated different bug in your Overwrites, the LoCoBot's URDF rosparam. This would break things like IK FK, TF etc. IMO, just create a sperate launch similar to |
Thank you for suggestion. I created a launch file |
I take it that this issue is resolved for now? Closing this issue. Please feel free to re-open if you have further questions. |
Yep. |
Steps to reproduce
When I run PyRobot with Azure Kinect camera (with my own minor modified codes about camera and LoCoBot) on Ubuntu 16.04, sometimes there would be some issues about loading Dynamixel Motors, which caused Rivz and the whole ROS master failed to launch.
![arm_error](https://user-images.githubusercontent.com/32179387/82506775-50526280-9ac6-11ea-98be-d7db36946c35.png)
But once I disconnected the DYNAMIXEL U2D2 and reconnected it, then the whole PyRobot can work fluently.
One day, however, all motors can't be loaded. And I even didn't modify any codes after the last successful run. When I run
![motor_error](https://user-images.githubusercontent.com/32179387/82507380-ae337a00-9ac7-11ea-8144-979705261dbd.png)
![motor errors](https://user-images.githubusercontent.com/32179387/82507584-4e899e80-9ac8-11ea-8055-8381304db15c.png)
roslaunch locobot_control main.launch use_arm:=true teleop:=true
, the arm motors errors is this:The same errors would occur on active camera motors when I run
roslaunch locobot_control main.launch use_camera:=true
:This error happened on
pyrobot/robots/LoCoBot/locobot_control/src/locobot_controller.cpp
Line 1408 when launchdynamixel_controllers.launch
if I run anything aboutmain.launch
More Info
I'm inclined that it may not a hardware issue. Since I tried a new DYNAMIXEL U2D2, DYNAMIXEL Hub and cables, the exact errors would occur.
I also don't think it has something to do with Azure Kinect. I didn't install RealSense library and SDK when I followed
locobot_install_all.sh
, but it shouldn't cause the arm's motors failure.Then I reinstalled the whole PyRobot (Develop branch) on a fresh Ubuntu 18.04 with Python 3, there would be the same errors when lauch
main.launch
.I can also connect all 9 motors (active camera's and arm's) via DYNAMIXEL Wizard 2.0 and control them fluently. Here is all motors info showed in GUI:
![motor_configuration](https://user-images.githubusercontent.com/32179387/82508607-336c5e00-9acb-11ea-8ec8-29baf0bff3a1.png)
They have correct motor IDs, the same protocol (2.0) and firmware version (43) and the same baud rate (1Mbps).
I got stuck on this issue for several weeks, and already tried all solutions to my best knowledge. So I really need PyRobot teams help. Do you have any clues about the issue and how to debug it?
The text was updated successfully, but these errors were encountered: