-
Notifications
You must be signed in to change notification settings - Fork 170
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
[4-wheel Drive with Workbench_Controller/Wheel_Operator (Linear/Angular)] #288
Comments
@Ash-S |
@ROBOTIS-Will Yes, I updated and ran it accordingly but failed to detect all 4 dynamixels. Any other way to check that? Thanks! |
Hi @ROBOTIS-Will , I tested it multiple times but result is same. is there anything i am missing to configure. Even though i have connected 4 dynamixels xl430w250 in daisy-chain manner (IDs: 1,2,3,4) with set baudrate 57600, but 'roslaunch' only detects 2 dynamixels with IDs 1 and 2. process**[dynamixel_workbench-1]:** started with pid [13442] Is that the issue, as i can see "dynamixel_workbench-2" in your test result while its showing "dynamixel_workbench-1" in my case. Please check and suggest. Thanks. |
Hi @ROBOTIS-Will ; Fortunately, I found my mistake and resolved it to detect all 4 dynamixels. |
Hi, |
Hi @ROBOTIS-Will , Thanks for your kind reply. I do understand. So i wish to know where the dynamixel configuration is defined for the connected dynamixels when I launch the 'wheel operator'. Is it defined in 'dynamixel_workbench_toolbox' ?. please suggest. Thanks! |
@Ash-S |
Hi @ROBOTIS-Will , Thanks. 👍 since i need to verify 'wheel_operator' for 4 dynamixels, Is that you mean to modify' wheel_operator.launch' OR 'wheel_operator.cpp' . Thank you! |
Hi @ROBOTIS-Will , I am sorry but I rechecked it. I didn't find where else to define the all the connected dynamixels except in wheel_2_0.yaml, which i already defined. also i can see all connected dynamixels while running dynamixel_workbench_controllers launch. Please suggest! |
@Ash-S |
@ROBOTIS-Will Hi, Thanks! I do understand this well. Since i am new to ROS handling, could you please help me to tell where is this 2 wheels information defined and this identical calculation. is it 'dynamixel_workbench_controller.cpp' or its somewhere 'wheel_operator.cpp". Just need your guidelines to proceed on this. Thanks! |
Since this issue is still open I'll try and answer your question. dynamixel_workbench_controllers.cpp is the file you will need to modify. If you go to Line 506 as of this version, you will find the Now, you will need to add two more variables say, Here is the tricky bit:
This piece is the calculation is what you might want to change, since my 4 wheel config can be controlled by 2 velocities on each side I just copied the value from
Next, the tedious bit, is you'll have to replicate every line of code within the function that have the If you have done that right, compile with One more thing:
|
@ajsampathk Thank you for providing details! Your code is what I intended to explain. |
Hi Abhijith @ajsampathk & @ROBOTIS-Will Please suggest me. Thanks. |
@Ash-S Hi, have you lowered the rate in wheel_operator.cpp ? Change the OR, this is untested but you can try and increase the baud rate of your Dynamixels, to 1M maybe? |
Hi @ajsampathk & @ROBOTIS-Will , thanks for your suggestions. I tried this and it works well some times. May I please know, Is it the 'rate' at which the 'loop' gets called or any other? please brief. Also, may i please understand, where are the msgs 'linear velocity' and 'angular velocity' defined. since i went through geometry_msgs..../Twist.h, but didn't understand it well. I mean, where I can define to run the particular servo on 'linear vel' and on 'angular vel'? please suggest. Thanks. |
The rate referes to the publish rate of the /cmd_vel topic from the wheel operator node. And I'm not sure what you're asking with the velocities? |
Hi @ajsampathk , thanks for make me understand about it.. I checked it using
when I tested it, based on wheel operator roslaunch, in case of linear motion as in 'rostopic /cmd_vel', it moves angularly while in case of angular motion, it moves linearly. Is it the '/config/wheel_2_0.yaml', where the rotation direction should be defined (like Drive_Mode : 0 or 1 or any other, please suggest. Thanks. |
Yes, the angular and linear velocities seem to have been swapped, I had just swapped it back in the source myself so I didn't remember, the wheel configs have nothing to do with it as far as I know (unless the calculation makes it so that it gets swapped at a certain wheel separation value). You can just swap the values for PS: Please change the name of the issue from [dynamixel_workbench_controller ROSlaunch with xl430w250] |
@ajsampathk Thanks you for your valuable suggestions. well, since i tried to manage the twist msg, but it shows me the radial rotation, but i wish to manage it axial rotation. I mean, i wish to twist it on x axis, so i tried it like....
In the wheel operator, I tried it with like After this when i tested, i found that it rotate circularly not axially on x-axis (like a screw rotation) while keeping y and z coordinates zero. Please suggest. Thanks. : PS: Sure, I do the suggested changes in the post title. 👍 |
Hi @Ash-S , Thanks for changing the title. Do you mean to say the bot does'nt pivot in x-axis? To rotate or pivot in place, you have to only supply the angular values while the linear values are zero. if there are constant linear and angular values the bot will move in a circular trajectory. |
Hi @ajsampathk, Yes it doesn't pivot on X-axis. since i changed the msg value in wheel operator like.... |
Hi @ajsampathk, any suggestions on this, please? |
Hi, as far as I know you can only move linearly in linear.x axis and angularly on angular.z axis. I'm not sure if it is even possible to change that with normal 4-wheeled drives because it's only physically possible to move in those axes. |
Hi @ajsampathk , Thanks for your comment and suggestions so far. I'd dig more to this search. Still looking for some help to move on~ |
ISSUE TEMPLATE ver. 1.0.0
Before you open issue, please refer to ROBOTIS e-Manual
How to setup? (ex, U2D2, OpenCR,...)
4 dynamixel servos connected in daisychain manner to RaspberryPi via U2D2+powersupply
Which Dynamixel have you used? and how many? (Please describe below format to all connected Dynamixels)
Model Name 1060
ID 1, 2, 3, 4
Baud Rate of Dynamixels 57600
Protocol Version 2.0
Write down the commands you used in order
$roslaunch dynamixel_workbench_controllers dynamixel_controllers.launch
The text was updated successfully, but these errors were encountered: