/MDDS30-ROS-Controller

Cytron MDDS30 SmartDriveDuo-30 Motor Controller ROS Node

Primary LanguagePython

MDDS30 ROS Controller

Github top language Github language count Repository size License


About   |   Features   |   Wiring   |   Setup   |   Run Node   |   License   |   Author

b4z01d

🎯 About

This is a ROS node to allow easy integration with the Cytron MDDS30 SmartDriveDuo-30 motor controller. This node utilizes the Serial Simplified mode of the MDDS30. Each channel has a topic that accepts -100 (full speed reverse) to 100 (full speed forward).

✨ Features

✔️ UART control;
✔️ Forward and Reverse;
✔️ 2 wire connection;

⚡ Wiring

The MDDS30 only needs two wires connected to the host device. One is the ground and the other is the TX of the host should connect to the IN1 of the MDDS30 This is the example for a Jetson Nano.

Screenshot from 2022-09-29 21-30-04

The dips switches on the MDDS30 should match the following for connecting with a baudrate of 9600bps.

dipswitch

If you want to use another baudrate use the following to determin what switches to flip:

other options

✅ Setup

# CD to workspace src folder
$ cd $/catkin_ws/src 

# Clone this project
$ git clone https://github.com/r1b4z01d/MDDS30-ROS-Controller

# Drop back down
$ cd ..

# Install dependencies
$ catkin build
#or
$ catkin_make

🏁 Run Node

# Source the workspace bash file
$ source ~/catkin_ws/devel/setup.bash

# Run the node
$ roslaunch mdds30_controller node.launch port:=/dev/ttyUSB0
 
# publish -100 to 100 to one of the two topics:
/MDDS30_controller/motor_left
/MDDS30_controller/motor_Right

📝 License

This project is released under CC BY-SA 4.0 license. For more details read this: CC BY-SA 4.0.

Made with ❤️ by R1B4Z01D

 

Back to top