当前位置:   article > 正文

ROS2使用鱼香ROS串口例程_鱼香ros 的ros2串口通信

鱼香ros 的ros2串口通信


前言

ROS2中ros-dashing-driver不太会用,而且跟serial.h库中的api有些出入,因此找了鱼香ros的第三方库以及例程学习,特此记录期间遇到的问题以及解决办法。

一、安装编译FishProtocol

sudo apt install libboost-dev
git clone https://github.com/fishros/fish_protocol.git 
cd fish_protocol && mkdir build  && cd build
cmake .. && sudo make install # 将安装到系统库
  • 1
  • 2
  • 3
  • 4

二、ROS2串口例程

1.编译运行功能包

cd fish_protocol/examples/example_ros2/example_fish_protocol
colcon build
source install/setup.bash
ros2 run example_fish_protocol example_fish_protocol
  • 1
  • 2
  • 3
  • 4

2.问题描述

报错1
编译例程功能包时,出现报错

undefined reference to symbol '_ZN5boost6system15system_categoryEv
....
  • 1
  • 2

解决办法
新开一个终端,如下出想路径

lin@pc:~/fish_protocol/examples/example_ros2/example_fish_protocol$ locate  boost_system
/usr/lib/x86_64-linux-gnu/libboost_system.a
/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1
  • 1
  • 2
  • 3
  • 4

打开例程功能包下的CMakeLists.txt

target_link_libraries(example_fish_protocol
  "fish_protocol"
  //在此添加上述路径
  /usr/lib/x86_64-linux-gnu/libboost_system.a
  /usr/lib/x86_64-linux-gnu/libboost_system.so
  /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1

)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

报错2

can't open shared object file: No such file or direction
  • 1

解决办法

sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf"
sudo ldconfig
  • 1
  • 2

重新编译运行即可

运行结果

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/982463
推荐阅读
相关标签
  

闽ICP备14008679号