Hello, i have a few questions about Dynamixel and MoveIt.
The story: I build a 3d-printed robot arm with dynamixel xl430 and xl 330. I do own description and hardware interface. I write and read sync to Dynamixel servos
My questions are:
- I use standart position trajectory controller for moveing my dynamixel, but for example the " phantomx_reactor_arm_controller" (Robot based on dynamixel) controller list look a little bit different. For each joint, they have motor id and controller type. look like this:
joints: [‘shoulder_yaw_joint’, ‘shoulder_pitch_joint’, ‘elbow_pitch_joint’, ‘wrist_pitch_joint’, ‘wrist_roll_joint’, ‘gripper_revolute_joint’]
shoulder_yaw_joint:
controller:
package: dynamixel_controllers
module: joint_position_controller
type: JointPositionController
joint_name: shoulder_yaw_joint
joint_speed: 1.5
motor:
id: 1
init: 512
min: 0
max: 1023
what ist advantage or disadvantage of using dynamixel controller?
my controller list look like:
controller_list:
- name: panda_arm_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:- panda_joint1
- panda_joint2
- panda_joint3
- panda_joint4
- panda_joint5
- panda_joint6
in additional to that main question:
Do i need to control velocity and acceleration of my joints? because the robot from dynamixel “phantomx_reactor_arm” only use angle as command.
the xl430 can use acceleration profile and velocity profile, so i can publish angle, vel, and accel to servo.
i use only angles and it works well.
last question:
i have this problem in moveit, because position of Dynamixel is not known:
[1458293593.358195718]: Cycle time exceeded error threshold by: 0.0010338, cycle time: 0.101033797, threshold: 0.1
i fixed it, with change of adress(9, return delay time). The default value was 250*2 us.
i try to fix it with latency of usb, to setting it to 4 ms, but stil have warnings.
do i get any problems, if “return delay time” is set to 0?