This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR6843ISK: Cannot open COM port to connect to MMWAVEICBOOST + IWR6843ISK boards using ROS driver

Part Number: IWR6843ISK
Other Parts Discussed in Thread: UNIFLASH, MMWAVEICBOOST

Hi there, 

I am having trouble connecting to with my mmwave board via ROS. I am running ROS noetic on Ubuntu 20.04 VM. I have tried Melodic on Ubuntu 18.04 VM  and it also gave the same error.

I have/am:

  • Checked all the jumpers are in the correct positions including the SOP jumpers for functional mode
  • Ensured the switches are correct for standalone operation
  • Using the XDS port and not the FTDI port. 
  • Successfully flashed the board with mmwave SDK v3.5 with uniflash which is the correct demo for mmwave ROS driver v2.2 according to the release notes
  • Power cycled the board and hit the reset switch
  • Enabled the TI xds usb device in my virtual machine.
  • Checked the ports are showing up using the ll /dev/serial/by-id. I get both ttyACM0 and ttyACM1
  • Sourced ros and the mmwave work space in terminal
  • added $user to dialout

But I get the following error:

[ INFO] [1660559469.989904514]: mmWaveCommSrv: Failed to open User serial port with error: IO Exception (2): No such file or directory, file /home/nic/mmwave_ti_ros/ros_driver/src/serial/src/impl/unix.cc, line 151.
[ INFO] [1660559469.989994981]: mmWaveCommSrv: Waiting 20 seconds before trying again...

The ros program fails and I have to kill the thread in terminal. Please advise on what could be causing the issue and possible solutions to fix it.

I hope you are well.

Best regards

Nic

  • Hello Nic,

    To start off, let us try something to eliminate some hardware factors: Could you try running this lab WITHOUT the ICBOOST carrier board? The setup might have some differences, but I would also check this link for the symbolic link setup and you can skip any portion focusing on the Turtlebot: https://dev.ti.com/tirex/explore/node?a=VLyFKFf__4.12.0&node=AFb4FPjEEzryPswZ9ILeFQ__VLyFKFf__4.12.0

    One thing I will mention is to confirm that your .launch file matches what your computer sees when you type ll /dev/serial/by-id. When you use the ISK standalone, the ports will now be ttyUSB0 and ttyUSB1 and you will need to update the .launch appropriately.

    Best Regards,

    Pedrhom Nafisi

  • Hello Pedrhom ,

    Thank you so much, that makes a lot more sense. The launch file I was using from the demo used ttyACM2 and 3. I changed it accordingly and the launch went a little bit further this time.  However, now I am getting the following error:

    [ INFO] [1660633464.201620893]: mmWaveCommSrv: Sending command to sensor: 'sensorStop'
    [ INFO] [1660633464.215335381]: mmWaveCommSrv: Received response from sensor: 'sensorStop
    '?`????`????`???~' is not recognized as a CLI command
    mmwDemo:/>'
    [ERROR] [1660633464.280232746]: mmWaveQuickConfig: Command failed (mmWave sensor did not respond with 'Done')
    [ERROR] [1660633464.280363357]: mmWaveQuickConfig: Response: 'sensorStop
    '?`????`????`???~' is not recognized as a CLI command
    mmwDemo:/>'

    This is still using the mmwaveICBoost board, I will try it with the isk standalone in the meantime. 

    Best regards

    Nicholas Bowden

  • Hello Nicholas,

    Glad I could help with your first issue, so what seems to be going on in your new error is for whatever reason the sensor is regurgitating the input being given with some garbage being added on at the end. What should be happening is the communication should go like "Sending command to sensor: 'sensorStop'" followed by either "Received response from sensor: 'Done'" or "Received response from sensor: 'Sensor is already stopped'".

    The first thing I would try is switching your command port and data port. It is possible that in the launch file your /dev/ttyACM0 and /dev/ttyACM1 are backwards. When you do this make sure you switch the command and data rates as well. If this is not the issue, I would take a step back and attempt to see what response you get when using TeraTerm. We have a guide on our Industrial Toolbox for mmWave Sensors that show you how to use TeraTerm in order to give your sensor commands such as "sensorStop" in real time and get a response from it. If your hardware and software is setup correctly as mentioned earlier the response should be Done for all commands except sensorStop which should say Sensor is already stopped. Follow the first half of this guide here:in order to setup TeraTerm and then send parameters found in whatever cfg file you are using in ROS (hint, it will be 6843_3d.cfg in the cfg folder).

    https://dev.ti.com/tirex/explore/node?a=VLyFKFf__4.12.0&node=ACeLNnq-7-B.6PnmfPHO0Q__VLyFKFf__4.12.0

    Also note that you do not need to flash a different binary, I just want you to use the TeraTerm application in general to test this.

    Best Regards,

    Pedrhom Nafisi