ROBOTIS-GIT / ROBOTIS-Framework

ROS packages for the ROBOTIS Platform Framework
http://emanual.robotis.com/docs/en/software/robotis_framework_packages/
Apache License 2.0
23 stars 36 forks source link

GroupBulkRead Error while extending code to 7 motors #17

Closed ghost closed 8 years ago

ghost commented 8 years ago

I am extending the code for the Robotis Manipulator from 6 motors to 7 motors. When I roslaunch the manipulator_manager.launch file, the 7 motors are getting detected. But when I try to Set Base Mode in the GUI, it is giving the error message as shown below:

[GroupBulkRead::RxPacket] ID 8 result : -3002 !!!!!!!!!!

My ID numbers are from 3 to 9 (I have changed the MAX_JOINT_ID, etc. from the ManipulatorKinematicsDynamicsDefine.h file). There must be something specific about using the ID greater than 7 which is causing the error according to me. Please can you help me figure out what could be causing the error.

Note: The error statement is in the GroupBulkRead.cpp in this repository.

Update: I changed the ID numbers from 3-9 to 1-7 and now the error message is saying ID 6 Result: -3002. Hope that helps in any way possible. I'll provide whatever files/changes I've made if necessary.

ghost commented 8 years ago

Hey, I figured out the error. The LATENCY_TIMER is defined as 4 in line 20 of PortHandlerLinux.cpp I had initially changed the 4 to 6 because the manipulator_manager was unable to communicate with all the motors (reached only till like the 5th motor). After changing it to 6 it is able to communicate with all 7 motors but since sending messages like SetMode from the GUI to RobotisController.cpp takes time, it was only able to reach motor #6 for me. I further increased the LATENCY_TIMER to 9 (after trial and error) and was finally able to move all the motors without any communication related errors. I hope this helps if anyone gets this sort of an error.