Ask Your Question
1

Dynamixel problem : No motors found

asked 2013-06-18 22:11:00 -0500

CarolineQ gravatar image

Hi !

I just got a new computer on which I installed ros groovy.

I am trying to use Dynamixel motors but I have an error. This error doesn't appear each time I launch the script so it's why I don't understand what's happening.

Below is the error :

[INFO] [WallTime: 1371628756.187555] pan_tilt_port: Pinging motor IDs 1 through 25...
[INFO] [WallTime: 1371628756.271966] pan_tilt_port controller_spawner: waiting for controller_manager dxl_manager to startup in global namespace...
[FATAL] [WallTime: 1371628758.257885] pan_tilt_port: No motors found.
================================================================================
REQUIRED process [dynamixel_manager-2] has died!

Here is my launch file :

<launch>
    <node name="dynamixel_manager" pkg="dynamixel_controllers" type="controller_manager.py" required="true" output="screen">
        <rosparam>
            namespace: dxl_manager
            serial_ports:
                pan_tilt_port:
                    port_name: "/dev/Motors"
                    baud_rate: 1000000
                    min_motor_id: 1
                    max_motor_id: 25
                    update_rate: 20
        </rosparam>
    </node>

    <!-- Start tilt joint controller -->
    <rosparam file="$(find emox_dynamixel)/tilt.yaml" command="load"/>

    <node name="tilt_controller_spawner" pkg="dynamixel_controllers" type="controller_spawner.py"
          args="--manager=dxl_manager
        --port=pan_tilt_port
        base_tilt_controller
        pico_tilt_controller
        pan_controller
        tilt_controller"
          output="screen"/>
</launch>

The strange thing is that I can launch the script several times and got the error, and the second after (without changing anything) I launch it again and it works perfectly well. So the motors are connected and recognized by the computer.

Does someone have an idea about why I have this problem ? Thanks,

Caroline

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
0

answered 2014-10-06 00:50:51 -0500

AlexKolb gravatar image

updated 2015-04-01 12:32:05 -0500

I had the same Problem. I've solved it by downloading the Dynamixel RoboPlus software http://www.robotis.com/xe/download_en . It provides the Dynamixel Wizard which will search for any motor attached. You can then change all of its settings.

In my case the baud rate was way off, like Teja Krishna already guessed.

edit flag offensive delete link more

Comments

I had this problem with my MX-64AR, and I even roboPlus doesn't help. I use usb2dynamixel and a power box to support..... it makes me crazy now....

Wine gravatar imageWine ( 2015-04-01 09:47:02 -0500 )edit

Hi just to make sure: Have you checked if the usb2dynamixel adaper ist set to the right protocol? And if it is, is one of the red led's flashing when you search for motors?

AlexKolb gravatar imageAlexKolb ( 2015-04-01 12:39:59 -0500 )edit

Hi, Alex, I am sure the adaptor is set to RS485 (in the middle position), and red led is flashing.

Wine gravatar imageWine ( 2015-04-01 22:05:06 -0500 )edit
0

answered 2013-06-18 22:35:49 -0500

davinci gravatar image

The order of launching using roslaunch is kinda of random so it could be that the tilt joint controller is started before the dynamixel manager is started (or not ready yet). Do you also have the problem when start the two components separately? /dev/Motors is populated each time?

edit flag offensive delete link more

Comments

Thansk for your answer, but I have the same problem if I launch only the dynamixel manager... So it's not related to the order of launching. What do you mean by /dev/motors is populated each time ??

CarolineQ gravatar imageCarolineQ ( 2013-06-18 22:42:14 -0500 )edit

There should be a device listed there if the Dynamixels are correctly connected.

davinci gravatar imagedavinci ( 2013-06-18 22:45:09 -0500 )edit

Yes I can see that the Dynamixels are correctly connected, for example if I try the command "udeavm info" on the port /dev/motors I can see the connector USB2AX.

CarolineQ gravatar imageCarolineQ ( 2013-06-18 22:53:41 -0500 )edit

I have problem with detecting my servos, I spend many days to solve it, but I failed, please check it out here

Abdu gravatar imageAbdu ( 2017-09-27 08:17:07 -0500 )edit
0

answered 2014-06-26 02:11:00 -0500

First check whether the motor id's are distinct or not. If not, try to set the id's with the help of the dynamixel_driver package. In this package there is a node called change_id to set distinct id's. If at all the baud rate for the motors is not the same set the baud rate to be the same by using set_servo_config node in the same package. This worked for me. Try this!

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2013-06-18 22:11:00 -0500

Seen: 2,775 times

Last updated: Apr 01 '15