ROS 1 Migration (Melodic to Noetic)


 

1.Reference

https://roomedia.tistory.com/entry/20%EC%9D%BC%EC%B0%A8-ROS-Noetic-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98-%EA%B0%80%EC%9D%B4%EB%93%9C

 

2. ROS Error Message

ERROR: cannot launch node of type [map_server/map_server]: map_server
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/sip2/catkin_narobot/src
ROS path [2]=/opt/ros/noetic/share

sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-map-server ros-noetic-amcl


[ERROR] [1663129091.919393109]: PluginlibFactory: The plugin for class 'jsk_rviz_plugin/PolygonArray' failed to load.  

sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-jsk-visualization


/usr/bin/env: ‘python’: No such file or directory

before
#!/usr/bin/env python

after
#!/usr/bin/env python3


ModuleNotFoundError: No module named 'novatel_oem7_msgs'
https://github.com/novatel/novatel_oem7_driver

sip2@sip2-2021:~/catkin_narobot$ sudo apt install ros-noetic-novatel-oem7-driver


ModuleNotFoundError: No module named 'move_base_msgs'
sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-move-base-msgs


ModuleNotFoundError: No module named 'ackermann_msgs'
sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-ackermann-msgs


xacro: in-order processing became default in ROS Melodic. You can drop the option.
before
<param name="robot_description" command="$(find xacro)/xacro --inorder $(arg model)"/>

after
<param name="robot_description" command="$(find xacro)/xacro $(arg model)"/>


[ WARN] [1663129891.873073556]: Invalid argument "/map" passed to canTransform argument source_frame in tf2 frame_ids cannot start with a '/' like:

after
remove '/' from header frame ID of source code 

 

ERROR: cannot launch node of type [move_base/move_base]: move_base
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/sip2/catkin_narobot/src
ROS path [2]=/opt/ros/noetic/share
 

sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-move-base 

sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-global-planner

sip2@sip2-2021:~/catkin_narobot$ sudo apt-get install -y ros-noetic-teb-local-planner
 

3. Kvaser driver and python install

https://pycanlib.readthedocs.io/en/v1.22.565/

sip2@sip2-2021:~/catkin_narobot$ pip install canlib
Collecting canlib
  Downloading canlib-1.22.565-py3-none-any.whl (203 kB)
     |████████████████████████████████| 203 kB 1.9 MB/s
Collecting pydantic>=1.8.1
  Downloading pydantic-1.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB)
     |████████████████████████████████| 13.6 MB 6.6 MB/s
Collecting typing-extensions>=4.1.0
  Downloading typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Installing collected packages: typing-extensions, pydantic, canlib
Successfully installed canlib-1.22.565 pydantic-1.10.2 typing-extensions-4.3.0

On Linux, first install the libcanlib.so by downloading and installing “Kvaser LINUX Driver and SDK” which can be found on the Kvaser Download page (linuxcan.tar.gz).

https://www.kvaser.com/download/

Kvaser Linux Drivers and SDK
sip2@sip2-2021:~/linuxcan$ make
 Done building linuxcan v5.39.94
  User    : sip2
  System  : Linux sip2-2021 5.15.0-46-generic #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  CC      : cc
  CC ver. : 9.4.0
  KDIR    : /lib/modules/5.15.0-46-generic/build
  Kernel  : 5.15.0-46-generic

*****************************************************
WARNING: Secure Boot is enabled on <sip2-2021>!
         When Secure Boot is enabled, driver modules
         need to be signed with a valid private key
         in order to be loaded by the kernel.
*****************************************************

sip2@sip2-2021:~/linuxcan$ sudo make install

sip2@sip2-2021:~/linuxcan/canlib/examples$ ./listChannels
CANlib version 5.39
Found 0 channel(s).


after - secure boot OFF

sip2@sip2-2021:~$ cd linuxcan/
sip2@sip2-2021:~/linuxcan$ make clean && make
sip2@sip2-2021:~/linuxcan$ sudo make install

sip2@sip2-2021:~/linuxcan$ cd canlib/examples/
sip2@sip2-2021:~/linuxcan/canlib/examples$ ./listChannels
CANlib version 5.39
Found 1 channel(s).
ch  0: Kvaser Leaf Light v2                   73-30130-00685-0, s/n 51214, v4.4.391  (leaf v8.39.944)




コメント