Introduction: Converting From the Kangaroo to the RoboClaw Motor Controller

Dimension Engineering's Kangaroo board adds the ability to use encoder feedback for position and speed control to Sabertooth controllers. RoboClaw motor controllers, another popular option, have this functionality built in. This article covers how to replace a Kangaroo board with a RoboClaw motor controller. The examples detailed below all assume the use of quadrature encoders.

Step 1: Encoder Connections

The images above show the connections for quadrature encoders for both the RoboClaw and the Kangaroo.

Step 2: Motion Studio Settings

The Kangaroo uses a DIP switch to set the configuration for the controller, however the RoboClaw used software call Motion Studio for configuration. Below you will find configuration settings for three common configurations. For each configuration the RoboClaw settings are shown alongside the Kangaroo DIP switch settings.

Step 3: RC With Differential Drive

One of the most popular configurations for the RoboClaw and Kangaroo is using an RC receiver output to control a differential drive robot. Tank style robots and rovers are a common application for this configuration. The image below shows the Kangaroo DIP switch settings for this mode.

To configure a RoboClaw to match the Kangaroo settings follow the instructions below.

Connect the RoboClaw to a computer with a USB cable. Note that the RoboClaw is not powered by the USB connection and need a dedicated power source. Open Motion Studio and click "Connect Selected Device". Now click on "General Settings" on the left-hand side of the application.

In the pane labeled "Setup" set the Control Mode to "RC". Next, in the pane labeled "RC/Analog Options" check the box labeled "Mixing". Finish by saving the settings to the board. In the menu at the top of the application select "Device" then "Save Settings".

Step 4: Analog Control With Differential Drive

Another popular configurations is using an analog input device such as a joystick or potentiometers to control a differential drive robot. The image below shows the Kangaroo DIP switch settings for this mode.

To configure a RoboClaw to match the Kangaroo settings follow the instructions below.

Connect the RoboClaw to a computer with a USB cable. Note that the RoboClaw is not powered by the USB connection and need a dedicated power source. Open Motion Studio and click "Connect Selected Device". Now click on "General Settings" on the left-hand side of the application.

In the pane labeled "Setup" set the Control Mode to "Analog". Next, in the pane labeled "RC/Analog Options" check the box labeled "Mixing". Finish by saving the settings to the board. In the menu at the top of the application select "Device" then "Save Settings".

The RoboClaw is now configured for analog control with differential drive. See the image above for a snapshot of what the settings look like in Motion Studio.

Step 5: Packet Serial

For more complicated control of a motor controller, packet serial mode can be used in conjunction with a micrcontroller to send commands to a motor controller. Both the RoboClaw and the Kangaroo feature a packet serial mode, although there are some implementation differences between the two. The image below shows the DIP switch settings for a Kangaroo is packet serial mode.

To configure a RoboClaw to match the Kangaroo settings follow the instructions below.

Connect the RoboClaw to a computer with a USB cable. Note that the RoboClaw is not powered by the USB connection and need a dedicated power source. Open Motion Studio and click "Connect Selected Device". Now click on "General Settings" on the left-hand side of the application.

In the pane labeled "Setup" set the Control Mode to "Packet Serial". Next, in the pane labeled "Serial", set the Packet Serial Address to 128 and the baudrate to the same baudrate used with the Kangaroo. Finish by saving the settings to the board. In the menu at the top of the application select "Device" then "Save Settings".

The RoboClaw is now configured for packet serial mode. See the image above for a snapshot of what the settings look like in Motion Studio.

There are differences between the packet serial command set of the RoboClaw and Kangaroo. However, the RoboClaw features compatibility commands that mirror those of the Kangaroo so most code should be portable from the Kangaroo to the RoboClaw.

Step 6: Auto Tuning

Both the Kangaroo and the RoboClaw have autotuning features, however with the RoboClaw manual and therefore customized changes can be made to the PID parameters. After setting up the hardware and configuring the RoboClaw in Motion Studio a tuning routine needs to be performed.

The best guide to autotuning for both speed and position control on the RoboClaw can be found on the BasicMicro website: RoboClaw autotuning