0
$\begingroup$

Rosanswers logo

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).


Originally posted by CarloK on ROS Answers with karma: 3 on 2020-04-17

Post score: 0


Original comments

Comment by gvdhoorn on 2020-04-17:
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.

Comment by gvdhoorn on 2020-04-17:
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.

Comment by CarloK on 2020-04-17:
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!

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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)

That's a completely different question than I had understood from your question text.

I don't believe there are any ROS APIs available to do that.

The lowest part of the stack if kobuki_driver which interfaces with the firmware onboard the Kobuki's embedded controller. Afaik (but I could be wrong) there is no interface for direct control of individual motors.


Originally posted by gvdhoorn with karma: 86574 on 2020-04-17

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by CarloK on 2020-04-18:
Indeed, there's no easy way to do that besides building a robot from scratch and developing the drivers yourself, using SBC such as the Raspberry PI or microcontrollers (Arduino for example). I did however find a simulated version of the Kobuki base which allows PWM inputs into the left and right motors separately. I'm linking it in case someone ever needs something similar.

Comment by gvdhoorn on 2020-04-18:\

Indeed, there's no easy way to do that besides building a robot from scratch and developing the drivers yourself, using SBC such as the Raspberry PI or microcontrollers (Arduino for example)

Or changing the firmware of the Kobuki.

I don't know whether that is possible though.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.