ROS API for PWM/Voltage Motor Control of Kobuki Turtlebot base
I'm trying to do some system identification on my Kobuki platform, and I wish to input a PRBS (pseudorandom binary sequence) signal and plot that versus the obtained linear and angular velocities of the robot. Is that possible in ROS? If so, what topic should I publish to?
In other words, I'm not looking to input linear and angular velocities directly, but rather a control signal and see how that translates into linear/angular velocities.
Thank you!
Edit: I'm basically trying to control the Kobuki's motors through a PWM signal, and I was wondering if there's any ROS package for that (I did a somewhat quick search with no luck, but maybe I missed something).
Can you clarify what "a control signal" means to you?
Because for the system you refer to (ie: a Kobuki Turtlebot platform), "linear and angular velocities" are actually its main control input.
The other main level of control abstraction would be the navigation goal I guess. That would be picked up by
move_base
and then used to plan a global path to the destination. That global path would then be handed over to the local planner which will essentially run a 2.5D position PID loop outputting linear and angular velocity to the base driver.But I doubt you could send a PRBS to an action server. Or at least, not just any PRBS. It would have to be an actual nav goal.
Additionally: I would suggest to be much more specific in your question. "input [..] control signal in ROS" doesn't really make sense. "ROS" in itself is nothing. It's like asking "Can I do flight performance tests on this bucket of bolts and nuts?". No, you can't. Only after using them to create an airplane that would be possible.
Only a set of nodes (from specific packages) form an application. And applications you can interact with.
In your question text you refer to a very specific set of ROS nodes (namely: the set of nodes which have been configured to control a Kobuki Turtlebot). It would be good to make the question title reflect this.
Thank you for the quick reply!
Sorry for not phrasing my question correctly. Basically what I'm trying to know is if it's possible for me to control the Kobuki motors directly (send a PWM/voltage signal) rather than input known velocity messages (values). Maybe the Testsuite would help, I'll look into that.
Also, I saw that Dynamixel (the motor manufacturers) have an SDK. Is that compatible with the Kobuki/Turtlebot2 as it is with Turtlebot3?
Thanks again!