ROBOTIS-GIT / turtlebot3

ROS packages for Turtlebot3
http://turtlebot3.robotis.com
Apache License 2.0
1.5k stars 1.03k forks source link

Can't configure motors with noetic adapted firmware (#define NOETIC_SUPPORT) #795

Open royito55 opened 3 years ago

royito55 commented 3 years ago

ISSUE TEMPLATE ver. 0.4.0

  1. Which TurtleBot3 platform do you use?

    • [x] Burger
    • [ ] Waffle
    • [ ] Waffle Pi
  2. Which ROS is working with TurtleBot3?

    • [ ] ROS 1 Kinetic Kame
    • [ ] ROS 1 Melodic Morenia
    • [x] ROS 1 Noetic Ninjemys
    • [ ] ROS 2 Dashing Diademata
    • [ ] ROS 2 Eloquent Elusor
    • [ ] ROS 2 Foxy Fitzroy
    • [ ] etc (Please specify your ROS Version here)
  3. Which SBC(Single Board Computer) is working on TurtleBot3?

    • [ ] Intel Joule 570x
    • [ ] Raspberry Pi 3B+
    • [x] Raspberry Pi 4
    • [ ] etc (Please specify your SBC here)
  4. Which OS you installed on SBC?

    • [ ] Raspbian distributed by ROBOTIS
    • [ ] Ubuntu MATE (16.04/18.04/20.04)
    • [x] Ubuntu preinstalled server (18.04/20.04)
    • [ ] etc (Please specify your OS here)
  5. Which OS you installed on Remote PC?

    • [ ] Ubuntu 16.04 LTS (Xenial Xerus)
    • [ ] Ubuntu 18.04 LTS (Bionic Beaver)
    • [x] Ubuntu 20.04 LTS (Focal Fossa)
    • [ ] Windows 10
    • [ ] MAC OS X (Specify version)
    • [ ] etc (Please specify your OS here)
  6. Specify the software and firmware version(Can be found from Bringup messages)

    • Software version: [1.15.13]
    • Firmware version: [1.4.18]
  7. Specify the commands or instructions to reproduce the issue.

  8. Copy and Paste the error messages on terminal.

    • Sketch uses 117784 bytes (14%) of program storage space. Maximum is 786432 bytes. Global variables use 40192 bytes of dynamic memory. opencr_ld ver 1.0.2 opencr_ld_main

      file name : /tmp/arduino_build_380048/turtlebot3_setup_motor.ino.bin file size : 116 KB Open port OK Clear Buffer Start Clear Buffer End

      Board Name : OpenCR R1.0 Board Ver : 0x17020800 Board Rev : 0x00000000

      flash_erase : 0 : 0.994000 sec flash_write : 0 : 1.323000 sec CRC OK B785A8 B785A8 0.004000 sec [OK] Download jump_to_fw processing.app.SerialException: Error opening serial port '/dev/ttyACM0'. at processing.app.Serial.(Serial.java:152) at processing.app.Serial.(Serial.java:82) at processing.app.SerialMonitor$2.(SerialMonitor.java:132) at processing.app.SerialMonitor.open(SerialMonitor.java:132) at processing.app.AbstractMonitor.resume(AbstractMonitor.java:132) at processing.app.Editor.resumeOrCloseSerialMonitor(Editor.java:2126) at processing.app.Editor.access$1300(Editor.java:116) at processing.app.Editor$UploadHandler.run(Editor.java:2095) at java.lang.Thread.run(Thread.java:748) Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Port not found. at jssc.SerialPort.openPort(SerialPort.java:167) at processing.app.Serial.(Serial.java:141) ... 8 more Error opening serial port '/dev/ttyACM0'.

  9. Please describe the issue in detail.

    • I know that the issue is not the port ttyACM0, since I can see it in my PC, but maybe some of the port rules I updated from step 7. I did this step 7 because the communication between the rpi4 and the opencr was not working properly, and now it works but only one motor moves, even though I configured them correctly and in the test it works.
    • However, it has never worked by pushing the SW1 and SW2, only one motor works.
    • Now, with the new method to update the firmware from step 7, I can't even configure them again to try to make both motors move.
    • Again, it's not a motor or port issue, I've switched the motors to make sure, and not being able to configure the motors only happened after step seven.
    • I know it's a complicated setup and explanation, but what do you recommend? Should I start from scratch again? How can I configure the motors to work with noetic?
ROBOTIS-Will commented 3 years ago

Hi @royito55

During the motor setup process, only one DYNAMIXEL should be connected to the OpenCR or else both DYNAMIXEL could be configured with the same ID which may cause communication conflict. If you have setup the DYNAMIXEL correctly, pressing SW1 or SW2 for about 2~3 seconds will work.

I'm not sure why you are getting an error with the processing app as you should be running the motor setup example from your Arduino IDE on your PC or laptop.

royito55 commented 3 years ago

Thank you for taking the time to answer.

I don't know what you mean by an "error with the processing app."

I am indeed running the motor setup example from the Arduino IDE on my PC. The error described happens when I attempt to upload the motor setup to the OpenCR board from my PC. It seems like after updating the firmware for noetic as instructed in the manual, I am not able to upload the motor setup example.

Are you able to reproduce this error?

royito55 commented 3 years ago

Ok, so I managed to setup the motors, but I get this message:

[RxPacketError] Hardware error occurred. Check the error at Control Table (Hardware Error Status)!

When I set them up and when I test them.

They move correctly when I do the test with Arduino, but as soon as I upload turtlebot_core to the opencr, and check with the SW1 button, only one motor (the one I configured as the left motor) moves.

In the attached gif, I'm testing both motors (and they move fine) but the error appears and then only one moves once I upload turtlebot_core and test with the buttons and with the rpi sending velocity commands through the ROS node

t3motors

ROBOTIS-Will commented 3 years ago

@royito55

Please check both DYNAMIXEL if the LED blinks once when powered. You might also have a bad cable so please try switching cables when testing DYNAMIXEL.