目录
- 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
- 直接去GeographicLib 官网下载对应的三个包,下载得到三个文件夹。
- (3)测试
USB插上飞控,打开终端,检查是否识别到飞控,输入命令
ll /dev/ttyACM*
检测到后,添加权限,否则无法启动
sudo chmod 777 /dev/ttyACM0
启动节点
roslaunch mavros px4.launch _fcu_url:=/dev/ttyACM0:57600