Jetson Nano + OpenCR + Dynamixel Motor

Hi all, I am new in ROS. I have Jetson Nano with Ubuntu 18.04. I want to control Dynamixel MX28 motor using OpenCR. Is there have any tutorial or any suggestion let me know how to control the motor?

Hi Jessica,

It might be easier for you to start looking at the TurtleBot3 source code as it is very similar to your hardware configuration.

In order to control DYNAMIXEL with OpenCR from ROS installed SBC(like Raspberry Pi or Jetson Nano), it is recommended to start with the TurtleBot3 burger OpenCR firmware.

As a prerequisite, by default the MX-28 is programmed with Protocol 1.0 firmware, so you should recover it with Protocol 2.0 firmware via DYNAMIXEL Wizard 2.0. This will allow MX-28 to communicate with OpenCR with an identical digital packet that TurtleBot3 uses(DYNAMIXEL XL430 or XM430).

Please note that we recommend to use the U2D2 for the firmware recovery, update, self-diagnosis, packet analyze, etc on DYNAMIXEL Wizard 2.0.
We’ve recently released a DYNAMIXEL Starter Set with a discounted price for easier use and management of DYNAMIXEL.

Once MX-28 is recovered with Protocol 2.0 firmware, you can use Arduino sketch to automatically setup the DYNAMIXEL for left and right wheels.
https://emanual.robotis.com/docs/en/platform/turtlebot3/faq/#setup-dynamixels-for-turtlebot3

After completing the setup, you’ll need to upload the TurtleBot3 firmware(TurtleBot3 Core) on OpenCR.
This eManual instruction shows options you can choose for OpenCR firmware upload

  1. use shell script on an SBC
  2. sketch upload from Arduino IDE on your PC only(Not on Jetson)

Good luck!

alright, thank you for your reply. I will try it. Thanks @ROBOTIS-Will

Hi @ROBOTIS-Will,
I already try and follow the step it works. But I have one problem which is when I close everything(jetson nano, opencr, and motor) and reopen everything the motor cannot move. It needs to do use Arduino to setup again. if not the motor cannot move. Can I know why?

Hi @jessica,
I’m not sure how Jetson Nano controls its USB ports, but please check if you have set proper rules for the USB port that is connected to the OpenCR.
Have you also tried pressing the reset button on the OpenCR for a few seconds?

@ROBOTIS-Will pressing the reset button on the OpenCR for a few seconds before control the motor?

In that way, you can reboot the OpenCR board, but it doesn’t make sense as the firmware does not change once it is written to the OpenCR unless it is somehow corrupted.
Do you get any LED blinking from connected DYNAMIXEL?
Have you set different IDs for each MX-28?
After restart, are the output horns of each MX-28 locked and hard to rotate by hand(which is Torque On status)?

@ROBOTIS-Will thank you for your reply. I will check again. Thanks