【车机协同slam】miniPC、Nano、T265、UWB linktrack P-B

news/2024/10/30 14:01:33/

目录

  • 0、前言
    • 0.1 软硬件
    • 0.2 实现步骤
  • 一、装系统、换源、装ROS
    • 1.1 装系统、换源
    • 2.1 装ROS
  • 二、T265
    • 2.1 ubuntu 安装 T265 SDK(已测18、20、Nano):
    • 2.2 ubuntu 安装 T265 ROS包(已测18、20、nano):
  • 三、UWB (linktrack pb 模块)
    • 3.1 下载windows上位机、设置uwb模式
    • 3.2 安装串口通信库
    • 3.3 下载uwb ros包
    • 3.4 设置串口号和权限
    • 3.5 运行及订阅
  • 四、ROS主从配置及机车交互
    • 4.1 ROS分布式通信设置
    • 4.2 ROS与车通信
    • 4.3 ROS与无人机通信(Mavros安装)

0、前言

0.1 软硬件

(1)windows 虚拟机 ubuntu20.04 + ROS noetic(测试用)
(2)nano ubuntu18.04 + ROS melodic(从机)
(3)迷你PC ubuntu18.04 + ROS melodic(主机)

0.2 实现步骤

(1)装系统、换源、装ROS
(2)T265
(3)UWB(Linktrack P-B)
(4)ROS主从配置及交互

一、装系统、换源、装ROS

1.1 装系统、换源

  • 虚拟机装ubuntu:
    https://blog.csdn.net/weixin_44029896/article/details/122877171?
  • Nano装ubuntu:

2.1 装ROS

  • ROS Noetic or Melodic:
    http://www.autolabor.com.cn/book/ROSTutorials/chapter1/12-roskai-fa-gong-ju-an-zhuang/124-an-zhuang-ros.html

二、T265

  • 【报错时看本节最后】
  • 英特尔官网(看技术规格用):
    https://www.intelrealsense.com/zh-hans/tracking-camera-t265/
  • IntelRealSense Github官网(总网):
    https://github.com/IntelRealSense/librealsense

2.1 ubuntu 安装 T265 SDK(已测18、20、Nano):

  • 官网教程(我用):
    https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
  • 参考教程:
    https://blog.csdn.net/crp997576280/article/details/109544456?

(1)注册服务器的公钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

(2)将服务器添加到存储库列表

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

(3)安装包-x86架构-miniPC执行如下命令

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg

(3)安装包-ARM架构-Nano执行如下命令

sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev

(4)测试

realsense-viewer

2.2 ubuntu 安装 T265 ROS包(已测18、20、nano):

  • 官网教程:(我用)
    https://github.com/IntelRealSense/realsense-ros
  • 参考教程:
    https://blog.csdn.net/crp997576280/article/details/109544456?
  • 注解:(很有必要,以后都写,再看发现自己都忘了)
    T265包有两种方式下载获取,一种是直接从ros伴生里下载,简单但是不是最新的。另一种是下载最新的包,复杂但是最新。Nano最好用第一种方法,因为用第二种会报错,根本原因是Nano ARM内核,不能直接安装dkms包,应该可以解决,个人没去整了。

————————Nano按如下操作:————————
(0)Nano直接下载ROS伴生包,后直接跳到第五步,去测试。

sudo apt-get install ros-$ROS_DISTRO-realsense2-camera

————————miniPC按如下操作:————————
(1)新建工作空间

mkdir -p ~/T265/src
cd ~/T265/src/

(2)下载源码

git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ..

(3)编译

catkin_init_workspace
cd ..
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install

(4)将该工作空间添加到环境变量(运行完重启终端)

echo "source ~/T265/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

(5)测试

#输出图像
roslaunch realsense2_camera demo_t265.launch
#无图(个人理解)
roslaunch realsense2_camera rs_t265.launch

(6)ROS订阅里程计信息

rostopic echo /camera/odom/sample
  • 【报错解决:】
  • ERROR1:ddynamic_reconfigure 未找到
cd ~/T265/src
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
  • ERROR2:git clone 卡着不动
    运行这个,然后重启终端,再git clone
sudo apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000

三、UWB (linktrack pb 模块)

  • 【报错时看本节最后】
  • 官网:
    https://www.nooploop.com/download/
  • 官方ROS包(github):
    https://github.com/nooploop-dev/nlink_parser
  • 参考教程:
    https://blog.csdn.net/i_robots/article/details/107410771?

3.1 下载windows上位机、设置uwb模式

  • 官网下载官方上位机NAssistant ,根据用户手册设置其参数及模式。

3.2 安装串口通信库

git clone https://github.com/nooploop-dev/serial.git
cd serial
make
make test
sudo make install

3.3 下载uwb ros包

mkdir -p ~/UWB/src
cd ~/UWB/src/
git clone --recursive https://github.com/nooploop-dev/nlink_parser.git 
cd ../
catkin_make
echo "source ~/UWB/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

3.4 设置串口号和权限

  • (1)插拔,找到UWB对应的串口号,到linktrack.launch文件夹里修改(我的是/dev/ttyACM0)
# 安装
sudo apt install cutecom 
# 启动
sudo cutecom
  • (2)给串口添加权限
sudo chmod 777 /dev/xxx

3.5 运行及订阅

  • (1)运行launch文件(确保前面已经把串口号改对)
roslaunch nlink_parser linktrack.launch
  • (2)查看发布的话题名称,然后订阅他
rostopic list
rostopic echo /nlink_linktrack_nodeframexxx
  • 【报错解决:】
  • ERROR1:"ERROR: Cannot load message class for … Are your messages built
    该错误是因为没添加环境变量。前面的代码里是添加了的,是不是没重启命令行?
  • ERROR2:libserial.so文件找不到
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

四、ROS主从配置及机车交互

4.1 ROS分布式通信设置

参考网址:
http://www.autolabor.com.cn/book/ROSTutorials/5/44-rosfen-bu-shi-tong-xin.html
配套视频:
https://www.bilibili.com/video/BV1Ci4y1L7ZZ?

4.2 ROS与车通信

4.3 ROS与无人机通信(Mavros安装)

(0)思路记录

  • 介绍:mavros是ros与mavlink协议两个官方都支持的ROS功能包,所以教程两家都有,其实是一样的。
  • mavlink官网教程(我用的):
    https://github.com/mavlink/mavros
  • ROS官网命令教程:
    http://wiki.ros.org/mavros#Usage
  • 踩坑:说白了就两行代码,但是!!!!!!!哎,整了整整一上午。坑:mavros 需要的 GeographicLib 太难下了,一直下不下来,在网上各种百度,没找到有用的,最后去官网找的,手动复制了进去。(搞不懂,官网里咋那么难找)
  • 注释:mavros和其他包一样,有两种安装方法,一个是源码,另一个是二进制。区别是二进制版的只能用ros命令调用mavros,看不到源代码,优点:好安装。
  • (1)安装mavros
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

- (2)安装GeographicLib(官网方法,报错了就用下一个我用的方法)

官网给的安装方法,给了一个脚本,运行脚本下载:

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
./install_geographiclib_datasets.sh
  • (2)安装GeographicLib -(我用的)
    • 直接去GeographicLib 官网下载对应的三个包,下载得到三个文件夹。
      1.GeographicLib geoids egm96-5 官网下载链接:
      https://sourceforge.net/projects/geographiclib/files/geoids-distrib/egm96-5.tar.bz2/download
      2.GeographicLib gravity egm 96官网下载链接
      https://sourceforge.net/projects/geographiclib/files/gravity-distrib/egm96.zip/download
      3.GeographicLib magnetic emm2015 官网下载链接:
      https://sourceforge.net/projects/geographiclib/files/magnetic-distrib/emm2015.zip/download
    • 下载完后得到三个压缩包,解压后放到一个名为 GeographicLib的文件夹里。(文件名必须这样)
    • 把那个文件夹放到Ubuntu 路径: /usr/share
    • ok
  • (3)测试

USB插上飞控,打开终端,检查是否识别到飞控,输入命令

ll /dev/ttyACM*

检测到后,添加权限,否则无法启动

sudo chmod 777 /dev/ttyACM0

启动节点

roslaunch mavros px4.launch _fcu_url:=/dev/ttyACM0:57600

http://www.ppmy.cn/news/242773.html

相关文章

Android 实现单击鼠标右键返回功能

实现单击鼠标右键返回功能modified: frameworks/native/services/inputflinger/reader/mapper/accumulator/CursorButtonAccumulator.cppdiff --git a/frameworks/native/services/inputflinger/reader/mapper/accumulator/CursorButtonAccumulator.cpp b/frameworks/native/…

python 第三章 基础语句

系列文章目录 第一章 初识python 第二章 变量 文章目录 3.1 输出格式化输出格式化符号格式化字符串扩展f-格式化字符串转义字符结束符 3.2 输入3.3 数据类型转换转换数据类型的函数 3.4 PyCharm交互式开发3.5 运算符运算符的分类算数运算符赋值运算符复合赋值运算符比较运算符逻…

STL(结)

STL&#xff08;结&#xff09; map存储结构基本操作equal_range遍历方式 插入 multimapsetunordered_mapmap和无序map的异同mapunordered_map map 存储结构 map容器的底层存储是一个红黑树&#xff0c;遍历方式都是按照中序遍历的方式进行的。 int main() {std::map<int…

使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码

文章目录 1、DFDiff介绍2、软件架构3、安装教程3.1、编译为jar包运行3.2、编译为原生应用运行 4、运行效果图5、项目源码地址 1、DFDiff介绍 当前已实现的功能比较两个文件夹内的文件差异&#xff0c;已支持文件差异对比。 2、软件架构 软件架构说明 开发环境是在OpenJDK17&…

华为5g鸿蒙麒麟,华为5G手机渲染图曝光,鸿蒙+麒麟985+5G基带,参考价格很良心...

众所周知&#xff0c;曾经偌大的中国手机市场一直以来都呈现着苹果三星两家独大的局面&#xff0c;即便在当时像波导和金立等老牌手机厂商&#xff0c;在市场上也有着一定的地位&#xff0c;但就产品竞争性而言&#xff0c;却往往没有那些海外品牌更具有说服力。时至今日随着国…

鸿蒙os 芯片制程,鸿蒙OS首秀+5nm工艺芯片华为Mate40,华为Mate30处境悲惨价格骤降...

原标题&#xff1a;鸿蒙OS首秀5nm工艺芯片华为Mate40&#xff0c;华为Mate30处境悲惨价格骤降 鸿蒙OS首秀5nm工艺芯片华为Mate40&#xff0c;华为Mate30处境悲惨价格骤降 华为Mate40可谓是亮点多多&#xff0c;其将首发台积电5nm工艺打造的麒麟1020处理器&#xff0c;相比前代麒…

天玑芯片鸿蒙系统,华为P50pro基本确定,鸿蒙系统+1.2亿徕卡+天玑2000,这才是华为...

消费者都比较了解华为&#xff0c;这家厂商如今已经成长为手机行业中一个十分重要的手机厂商&#xff0c;只是还未像苹果那样性能完整的生态&#xff0c;生态是华为目前要解决的燃眉之急。不管是目前的华为P40系列还是之前的华为mate30系列&#xff0c;华为都是采用安卓的系统&…

华为鸿蒙vogtloop30pro价格,鸿蒙OS系统+后置五摄华为Mate40,华为Mate30彻底让路价格骤降...

原标题&#xff1a;鸿蒙OS系统后置五摄华为Mate40&#xff0c;华为Mate30彻底让路价格骤降 鸿蒙OS系统后置五摄华为Mate40&#xff0c;华为Mate30彻底让路价格骤降&#xff01; 华为Mate40Pro的后置摄像头数量目前设计的是五颗&#xff0c;其中有四颗摄像头和闪光灯按照五饼麻将…