0
$\begingroup$

I'm currently working on a project with an oculomotor robot head interfaced with ROS and Arbotix-M (https://github.com/combra-lab/spiking-oculomotor-head-control/tree/main). The robot head comprises two eyes, each controlled by two motors (one for horizontal and the other for lateral movement). Additionally, there are two motors for the vertical movement of the neck and one for its horizontal movement, making a total of seven AX-12A motors(https://emanual.robotis.com/docs/en/dxl/ax/ax-12a/). All motors are servo motors.

Recently, two of the AX-12A motors got damaged and I had to replace them with AX-18A motors(https://emanual.robotis.com/docs/en/dxl/ax/ax-12a/). However, after the replacement, the robot head does not move at all and no motors move.

I believe the issue isn't related to the neural network code, as no changes were made there. Rather, I suspect it might be with the ROS Arbotix configuration or the uploaded Arduino code. The ros package I uploaded to the Arduino uses the ax12.h library (https://github.com/Interbotix/arbotix/tree/master/libraries/Bioloid) along with four other files (https://github.com/vanadiumlabs/arbotix_ros/tree/noetic-devel/arbotix_firmware/src). These four files are Arbotix sketches that need to be uploaded to Arduino.

Has anyone else faced a similar issue when replacing AX-12A with AX-18A motors? Could this be a compatibility issue between AX-18A motors and the ax12.h library? Or could there be some specific ROS Arbotix configurations needed for AX-18A motors? I couldn't find any ax18.h file.

I would appreciate any insights or advice on how to solve this problem. Thanks in advance!

$\endgroup$
1
  • $\begingroup$ Welcome to Robotics, Atin Srivastava. Do you have links to datasheets for the AX-12A and AX-18A motors? Do you have a link to the ROS package you're using for the ax12.h library? Is there an ax18.h library? It's not clear to me if these are servo motors, stepper motors, or something else. You're also saying that the robot head does not function as expected - what does this mean? $\endgroup$
    – Chuck
    Commented Jun 1, 2023 at 8:34

1 Answer 1

1
$\begingroup$

Thanks for the update! Things I'd look at for troubleshooting:

If I can take some excerpts from your problem statement, you say:

a total of seven AX-12A motors [...] Recently, two of the AX-12A motors got damaged and I had to replace them with AX-18A motors. However, after the replacement, the robot head does not move at all and no motors move.

If I'm understanding this correctly, you had 7 motors, replaced two of them, and now nothing works. If this is correct then it's almost certainly unrelated to the new motors. To be sure, I would unplug the new motors and see if you can get the original motors to respond. Whatever damaged the two motors that got replaced could have caused some other failure, and the new replacement motors are a red herring and not actually related.

In looking at the datasheet for the AX-12A and AX-18A (thanks for that!) it looks like the communication specs are basically the same, so I would expect the new motors to be a drop-in replacement for the old motors. The only item I'd caution you about here are the addresses. If you unplug the new motors and the originals work, then everything stops working when you plug in the new motors, then you may have address conflicts. From the datasheet:

2.4 Control Table Description

2.4.3 ID (3)

The ID is a unique value in the network to identify each DYNAMIXEL with an Instruction Packet. 0~253 (0xFD) values can be used as an ID, and 254(0xFE) is occupied as a broadcast ID. The Broadcast ID(254, 0xFE) can send an Instruction Packet to all connected DYNAMIXEL simultaneously.

NOTE : Please avoid using an identical ID for multiple DYNAMIXEL. You may face communication failure or may not be able to detect DYNAMIXEL with an identical ID.

(emphasis added)

If you put the new motors in without first setting their addresses then I would expect some conflicts. Probably the two new motors have the same default addresses and they're conflicting with each other, so I'd expect the other five/original motors to work fine and the new motors to conflict if this is the case, but if one of the five original motors also has the same default address then they might all be conflicting. In any event, I would expect some of the original motors to function as expected if it's a device ID issue.

If you unplug the new motors and the old ones still don't work then it's probably not the new motors. Did a ribbon cable get pulled out? Is the battery low? Inrush current from trying to start a motor can cause a circuit to brown out if the battery is low, but I would expect jitter, resets, etc. if this is the case and not just a failure to respond.

I think you'll discover something if you work through these steps, but if you do and you're still stuck then please edit your question again with the steps you took and what you saw!

$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.