地面端通过ROS查看无人机上的深度相机图片

一、ROS分布式节点控制

地面端电脑运行ROS master,无人机的机载电脑运行ROS client。两台电脑处于同一网络下。

查看本机的IP地址:

ifconfig

查看本机的主机名:

hostname

最好记录下来。

分别修改两台电脑的/etc/hosts,添加对方的IP地址 主机名,中间用tab连接。

测试两台电脑是否能够互相ping通:ping IP地址(或对方的主机名)

设置ROS_MASTER:
在机载电脑的.bashrc中添加以下内容:

export ROS_HOSTNAME=192.168.43.94 # 机载电脑的IP
export ROS_MASTER_URI=http://192.168.43.49:11311 # 地面端的IP

如果在同一终端下继续运行其他程序,记得要先source一下,或者在新的终端继续执行任务。
注意这样修改了以后,要先在地面端电脑启动roscore,才能在机载电脑上运行ROS节点,否则会报错无法连接到ROS Master。需要机载电脑独立运行ROS的话,将这两行注释掉即可。

地面端安装ssh服务器端(不知道是不是必要条件):

apt-get install openssh-server

查看ssh服务是否启动:

sudo ps -e |grep ssh

如果看到sshd就说明ssh服务已经启动,ssh-agent是客户端的意思。

(由于本次所使用的机载电脑的apt软件源一直有问题修不好,apt-get安装openssh-server并没有成功,但是能看到sshd,不知道是不是已经预装了。)

通过ssh连接对方电脑:

ssh nvidia@196.168.43.94

测试ROS分布式节点是否能正确运行:参考教程。也可以通过rosnode list查看节点是否正确启动。

二、在TX2上安装D435的驱动

电脑端安装D435的驱动:教程

由于TX2是arm架构,安装方式与电脑安装完全不一样!!!
以后如果在TX2上安装或者编译什么,一定要记得这一句话。搜教程的时候要搜“在xxx上安装xxx”。
(我怀疑用的TX2真的有点问题,装了一天的驱动愣是没装上,绝了。)
由于直接在TX2上安装驱动没有成功,这里记录一些尝试过的教程:视频教程Github
在装的时候,无论是安装驱动和编译内核的脚本都出现了make错误,怀疑部分是软件源的原因。
而且安装这个驱动涉及到TX2的固件版本,一定要搞清楚。
后来通过ROS的方式,姑且是安装成功(安装的时候好像是不能插着相机),参考教程

sudo apt-get install ros-kinetic-realsense2-camera
sudo apt-get install ros-kinetic-realsense2-description

启动D435相机:

roslaunch realsense2_camera rs_camera.launch

由于目前在无人机上使用到的深度相机功能较简单,因此先将就着用着。后续涉及到高级开发时,可能还是需要将驱动安装好。
这里附一个师兄写的在NX上安装Realsense的教程

三、地面端查看图像

地面端启动roscore

机载电脑启动D435相机(也可以通过地面端远程启动):

roslaunch realsense2_camera rs_camera.launch

地面端通过image_view订阅可见光的图像:

rosrun image_view image_view image:=/camera/color/image_raw

在地面端/camera/color/image_raw发布频率只有1~2Hz,在机载电脑上是15Hz左右。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值