ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The driver you link is for Player (player driver documentation), that is a different -- but with comparable goals I'd say -- framework, so you cannot directly use that code. Neither for ROS, nor "for Ubuntu / Linux". At the very least you'll have to write / find a ROS driver node that can interface with your MotionMind controller. A quick google didn't turn up anything, neither did a search on ROS Index.

Creating a ROS compatible driver for this kind of controller shouldn't be too difficult though, and the fact that you've found something for Player helps, as you can use that to see how to use the serial protocol. The protocol section (chapter 5) in the MotionMind v3 documentation doesn't seem too complicated either.

One thing to keep in mind I think, is the difference between a driver for the MotionMind itself, and for your platform (your four-wheeled robot) as a whole. The former would probably just take in some message that commands the MotionMind to drive the attached motor at a certain velocity / torque. The latter typically takes in a geometry_msgs/Twist and converts that into appropriate commands for the individual actuators to make the platform as a whole perform the desired motion (so turn with a certain velocity fi). The same goes for position controlled motors, there you typically use an additional pkg to perform the IK for you, then forward those commands to the individual joint controllers.

Some packages that could provide reuse opportunities are serial and the diff_drive_controller from ros_control.


PS: if you really want to make use of the Player driver, you can probably use the Erratic robot support packages as a guide. They do the same thing, but for a different platform. It would probably require some knowledge about Player as well though, so might not be worth the additional learning curve.