ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
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 image Wine  ( 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 image AlexKolb  ( 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 image Wine  ( 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 image CarolineQ  ( 2013-06-18 22:42:14 -0500 )edit

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

davinci gravatar image davinci  ( 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 image CarolineQ  ( 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 image Abdu  ( 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

Question Tools

2 followers

Stats

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

Seen: 3,683 times

Last updated: Apr 01 '15