ROS学习寄录之环境搭建

1 创建ROS工作空间

1.1 创建工作空间

(1)创建工作空间

mkdir catkin_ws

(2)进入catkin_ws文件夹,然后创建一个src文件夹

cd catkin_ws
mkdir src

(3)进入src文件夹,生成CMakeLists.txt

catkin_init_workspace

1.2 编译工作空间

返回上一级目录,进行编译

cd ..
catkin_make
ls

设置环境变量

设置环境变量

source devel/setup.bash

查看环境变量

echo $ROS_PACKAGE_PATH

修改完环境变量之后重启终端生效。

2 虚拟机配置静态IP地址

电脑虚拟机的Ubuntu和ROS主机Jetson nano的Ubuntu在通信时需要知道对方的IP地址,系统默认使用的是动态分配的IP地址,使用的过程中可能会出现IP地址不停变化的情况,因此设置静态IP地址可以为后续减少很多麻烦。

2.1 设置虚拟机的网络连接

(1)将虚拟机的网络连接模式改成“桥接模式”

(2)电机VM左上角“编辑”,点击“虚拟网络编辑器”,电机“更改设置”

(3)将设置为桥接模式的设备改为电脑网卡,此时即可使用SSH远程登陆。如果想要使虚拟机再次连接上网络,只需要把设置为桥接模式的改为自动(或以太网设备)

2.2 新建Ubuntu网络连接设置

(1)电机界面右上角的,点击Wired Connected,点击Wired Settings

(2)点击界面的齿轮,查看当前系统的动态IP地址和网关地址

 (3)新建一个自定义网络配置,将网络配置修改成静态IP

 (4)点击界面的+

(5)设置IPV4的静态IP,IPV4 Method选择Manual,DNS和IP地址和刚刚查到的信息一致,子网掩码默认设置255.255.255.0,网关根据网段,将IP地址最后一位改成1,路由自动选择

(6)设置完毕之后点击添加,退出,这时会在界面多出Static IP,点击切换

3 Jstson nano的环境配置

3.1 Jetson nano镜像下载

(1)准备一张SD卡,32G,使用格式化工具进行格式化

(2)下载镜像

(3)使用balenaEtcher进行镜像写入

3.2 Ubuntu中配置无线WiFi和静态IP

(1)给jetson nano接上显示屏

(2)显示器右上角找到网络按钮,然后右键,选择Edit Connections

(3)点击右下角“+”新建“WiFi”,点击“create”

(4)设置connection name、SSID、Mode:Hotspot

(5)点击WiFi Security设置密码,密码模式选择WPA &WPA2 Personal

(6)点击IPV4_Setting,点击ADD,分别输入IP地址,子网掩码和网关

4 NFS挂载

       如果想要远程访问并修改ROS主机中Ubuntu怎见,可以通过NFS挂载的方式。虚拟机上的Ubuntu可以通过NFS的方式来访问ROS主机中Ubuntu系统的文件,NFS文件分为服务器挂载和客户端访问。这里将虚拟机上的Ubuntu作为客户端,ROS主机上的Ubuntu作为服务端,虚拟机的Ubuntu将jetson nano上的Ubuntu文件挂载到本地。

4.1 配置NFS服务端

在ROS主机操作,即jetson nano

(1)安装NFS服务端

sudo apt-get install nfs-kernel-server

(2)添加NFS共享目录,即要挂载的文件夹

sudo vim /etc/exports

添加下列代码:
/home/nvidia/nvidia_robot *(rw,sync,no_root_squash)

(3)给挂载的目录设置权限以及修改文件用户

sudo chmod -R 777 /home/nvidia/nvidia_robot
sudo chown -R 777 /home/nvidia/nvidia_robot

(4)启动NFS

sudo /etc/init.d/nfs-kernel-server start
sudo /etc/init.d/nfs-kernel-server restart

(5)挂载NFS

将本地的/home/nvidia/nvidia_robot路径挂载到本地/mnt路径下,中间的IP地址为服务端IP

sudo mount -t nfs -o nolock IP:/home/nvidia/nvidia_robot /mnt

(6)查看是否挂载成功

df -h

4.2 配置NFS客户端

(1)安装NFS客户端

sudo apt-get install nfs-common

(2)挂载服务端的文件到本地

sudo mount -t nfs IP:/home/nvidia/nvidia_robot /mnt

(3)查看是否挂载成功

df -h

出现挂载失败的情况:

虚拟机与jetson nano需要进行连接:

1、使用手机热点,jetson nano与虚拟机分别连接手机热点,使用手机热点的静态IP

2、电脑连接jetson nano发送的WiFi

4.3 挂载NFS开机执行脚本

(1)新建需要运行的脚本文件

cd etc/init.d
sudo vim mount_test.sh

(2)编辑脚本

 (3)修改脚本权限

sudo chmod 777 mount_test.sh

(4)将脚本加入开机执行的队列中

sudo update-rc.d mount_test.sh defaults 90

(5)重启输入df -h查看挂载项

(6)如果想要取消挂载项目,可以输入以下指令

sudo update-rc.d -f mount_test.sh remove

5 SSH远程登陆

exit

(1)通信测试

ping IP地址

(2)ssh登陆

ssh nvidia@IP地址

(3)退出SSH登陆

exit

6 开机自启动脚本

在虚拟机中通过ssh命令登陆ROS主机,然后设置开机自动挂载脚本

ssh nvidia@IP

使用su进入root模式

su

进入文件,使用nano编写

cd /home/nvidia
nano nfs.sh

给脚本可执行权限

sudo chomod 777 nfs.sh

使用ctrl+d退出超级用户模式,尝试脚本是否可以正常运行

./nfs.sh

将脚本文件写入rc.local文件中

sudo nano /etc/rc.local

重启

sudo reboot

ssh连接机器人

7 ROS主控无屏幕连接网络

(1)电脑连接手机热点

(2)使用ip a命令来查看ip地址

(3)电脑连接ROS主机的WiFi,打开新的终端,使用ssh登陆到ros主控

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值