You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
... logging to /home/jan/.ros/log/47ea4884-04eb-11ec-af62-21885efed5f2/roslaunch-hydrogen-47043.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://hydrogen:33651/
SUMMARY
========
PARAMETERS
* /delta/dynamixel_info: /home/jan/Workspa...
* /delta/motor_controller/dxl_read_period: 0.01
* /delta/motor_controller/dxl_write_period: 0.01
* /delta/motor_controller/mobile_robot_config/radius_of_wheel: 0.033
* /delta/motor_controller/mobile_robot_config/seperation_between_wheels: 0.16
* /delta/motor_controller/publish_period: 0.01
* /delta/motor_controller/use_cmd_vel_topic: True
* /delta/motor_controller/use_joint_states_topic: True
* /delta/motor_controller/use_moveit: False
* /rosdistro: noetic
* /rosversion: 1.15.11
NODES
/delta/
delta_node (delta/delta_node)
motor_controller (dynamixel_workbench_controllers/dynamixel_workbench_controllers)
auto-starting new master
process[master]: started with pid [47063]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 47ea4884-04eb-11ec-af62-21885efed5f2
process[rosout-1]: started with pid [47092]
started core service [/rosout]
process[delta/motor_controller-2]: started with pid [47099]
process[delta/delta_node-3]: started with pid [47100]
[ INFO] [1629816912.059510138]: d >>> 0.010000
[ INFO] [1629816912.110783496]: Name : m1, ID : 1, Model Number : 1020
[ INFO] [1629816912.158769896]: Name : m2, ID : 2, Model Number : 1020
[ INFO] [1629816912.206745141]: Name : m3, ID : 3, Model Number : 1020
[ INFO] [1629816912.446796574]: [DynamixelDriver] Succeeded to add sync write handler
[ INFO] [1629816912.446849119]: [DynamixelDriver] Succeeded to add sync write handler
[ INFO] [1629816916.063225760]: time: 0.833
[ INFO] [1629816916.094555205]: 'm1' is ready to move
[ INFO] [1629816916.094607410]: 'm2' is ready to move
[ INFO] [1629816916.094628901]: 'm3' is ready to move
[ INFO] [1629816916.094679545]: >>> move_time 0.83
[ INFO] [1629816916.094711269]: >>> pre_goal_size_ 0.26 0.26 0.26
[ INFO] [1629816916.096232888]: Succeeded to get joint trajectory!
[ INFO] [1629816918.589085388]: Complete Execution
[ INFO] [1629816924.062125303]: time: 0.833
[ INFO] [1629816924.094146208]: 'm1' is ready to move
[ INFO] [1629816924.094199545]: 'm2' is ready to move
[ INFO] [1629816924.094222045]: 'm3' is ready to move
[ INFO] [1629816924.094255540]: >>> move_time 0.83
[ INFO] [1629816924.094279778]: >>> pre_goal_size_ 0.25 0.25 0.26
[ INFO] [1629816924.095765310]: Succeeded to get joint trajectory!
[delta/delta_node-3] process has finished cleanly
log file: /home/jan/.ros/log/47ea4884-04eb-11ec-af62-21885efed5f2/delta-delta_node-3*.log
[ INFO] [1629816926.596306717]: Complete Execution
^C[delta/motor_controller-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Please, describe detailedly what difficulty you are in
Hello, I have a delta arm with three Dynamixels. I have broken my code down to the minimum in order to track down this issue, and this is what it looks like:
I use this code to move to two different positions, and this works fine. So the kinematics are correct. The issue is that when I set e.g. the time_from_start to 2.5, 5, 10 seconds (it doesn't really matter) it always takes time_from_start * n (where n is the amount of motors that are being commanded) to actually execute the trajectory. I have tested this by adding a fourth motor and then it would multiply the time by before. I could fix this by simply dividing the time by the amount of motors but that seems hacky, and I am not sure what is going wrong.
In the sample output I set the time to 2.5/3 to test my theory, and it took 2.5s to move the arm in total.
The text was updated successfully, but these errors were encountered:
jan-krueger
changed the title
start_time
start_time - amount of motors mulitplites the amount of time it takes to execute a joint_trajectory
Aug 24, 2021
jan-krueger
changed the title
start_time - amount of motors mulitplites the amount of time it takes to execute a joint_trajectory
start_time - amount of motors multiplies the amount of time it takes to execute a joint_trajectory
Aug 24, 2021
Hi @jan-krueger
In case of reading from multiple DYNAMIXEL modules, this could happen within several milliseconds.
If you are updating variables with the values read from DYNAMIXEL, check how long does it take to acquire those data.
Simply using "Read" instruction multiple times may work, but causes a proportional delay to the number of DYNAMIXEL.
Therefore, using Sync Read or Bulk Read instructions are strongly recommended. https://emanual.robotis.com/docs/en/dxl/protocol2/#instruction
This is still happening for me as well, and seems to be related to #306 from 2020, and appears to have actually been fixed in PR #238 from 2019.
@ROBOTIS-Will When can we expect to see a resolution here? This is a particularly critical bug to fix because it fundamentally breaks JointTrajectory commands with multiple motors.
Before you open issue, please refer to ROBOTIS e-Manual
How to setup? N/A - I think
Which Dynamixel have you used? and how many? (Please describe below format to all connected Dynamixels)
Write down the commands you used in order
I launch a custom launch file that looks like this:
Please, describe detailedly what difficulty you are in
I use this code to move to two different positions, and this works fine. So the kinematics are correct. The issue is that when I set e.g. the time_from_start to 2.5, 5, 10 seconds (it doesn't really matter) it always takes time_from_start * n (where n is the amount of motors that are being commanded) to actually execute the trajectory. I have tested this by adding a fourth motor and then it would multiply the time by before. I could fix this by simply dividing the time by the amount of motors but that seems hacky, and I am not sure what is going wrong.
In the sample output I set the time to 2.5/3 to test my theory, and it took 2.5s to move the arm in total.
The text was updated successfully, but these errors were encountered: