-
Notifications
You must be signed in to change notification settings - Fork 185
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
Delay in Velocity Commands Using ROS2_control #551
Comments
I can't imagine that the reason is the ros2_control stack. |
@christophfroehlich thanks for your reply, the motor drivers use the CANopen protocol, so I have created a custom hardware interface. Since this is my first attempt, I don't have a benchmark to compare against. Is this level of delay typical for an industrial-grade robot, or is there room for improvement? If so, where could the improvements be made? I am currently using a standard Ubuntu kernel. I have not tried the real-time kernel—will it significantly improve performance, or will the improvement be minor, suggesting I should look for other solutions? |
Hello! Can you compile your code with the Release flag and then try it again. The default compilation of the Thank you! |
For communication only, this "delay" is too large. Why are you so sure that this lies on the communication? This just can be the closed-loop dynamics of your motor controller + motor + inertia of the wheel (you haven't disclosed the type of motor + sensor + motor control strategy), or even the result of the velocity estimation from your sensor. |
@christophfroehlich here is the Key Specifications: Control and Feedback: |
Looks promising, but this is still mostly marketing speech 😀 |
@christophfroehlich, thank you for your help. To close this issue, could you please suggest where I should look for improvements in general? |
@osama-z-salah can you try the compilation with Release and let us know the stats? Other thing that would help is the period you are receiving in the HW interface, this way you can check if something is taking longer or not. Thank you. |
System Setup:
Framework: ROS2_control
Motors: Industrial-grade wheel motors
Update Rate: 100 Hz
Relevant Topics:
Commanded velocities: /Nanos100_3/cmd_vel_nav/linear/x
Actual velocities: /Nanos100_3/diffbot_base_controller/odom/twist/twist/linear/x
Observed Delay:
The attached plot shows the commanded and actual velocities over time.
average delay of 1 seconds
Expected Performance:
Given the industrial-grade motors and high update rate, the delay is expected to be minimal.
Is the observed delay within acceptable limits for similar systems?
Are there any suggestions for improving the performance?
The text was updated successfully, but these errors were encountered: