odroid xu4安装ROS melodic+远程登录+Roboware 开发

自己手里有一块odroid xu4开发板,最近想做一个SLAM小车,开发过程中遇到了一些问题,查找资料的过程中发现大部分都是树莓派的资料,虽说都是ARM架框,但具体问题的解决方法还是不太一样,为方便日后查看,把开发过程简单做个记录,也希望能够帮助有同样问题的小伙伴。

一、odroid xu4安装ROS melodic

ROS安装按照官网的步骤即可,只是在sudo rosdep initrosdep update两步会报错

  • 解决方法:
    上面两个指令的作用就是访问raw.githubusercontent.com,下载文件20-default.list,并且访问文件中的网址下载相关文件,因此,解决方法就是手动下载所需文件,并复制到/etc/ros/rosdep/目录中。
    文件下载地址:

https://github.com/Vision4UAV/rosdistro/tree/master/rosdep

上述方法参考了rosdep init 错误的终极解决方法,其中说明了sudo rosdep initrosdep update出错的原因以及另外一种解决方法。

二、远程登录odroid xu4

使用SSH远程登录,首先需要设置odroid xu4自动登录,否则要给xu4插上键盘和屏幕,不方便开发和调试;为了防止每次登录IP地址发生改变,最好配置固定IP。

1、odroid xu4自动登录

odroid xu4安装ubuntu mate 18.04后,设置自动登录的方法和树莓派有所不同,需要修改的文件是/usr/share/lightdm/lightdm.conf.d/50-slick-greeter.conf
打开文件:

sudo gedit /usr/share/lightdm/lightdm.conf.d/50-slick-greeter.conf

如果没有gedit编辑器,先安装

sudo apt install gedit

或者用vim打开

sudo vim /usr/share/lightdm/lightdm.conf.d/50-slick-greeter.conf

在最后添加自动登录命令:

autologin-user=your username

添加自动登录命令

保存退出,重启:

reboot

开机后不会出现输入密码的界面,直接进入桌面,完成。

2、odroid xu4配置固定IP

  • 将odroid xu4连接无线网,查看IP地址:

ifconfig -a

IP地址

IP地址为:192.168.31.34
Netmask:255.255.255.0
Gateway:192.168.31.255

  • 配置固定IP:

    • 点击右上角WIFI图标–>选择"Edit Connections…":

在这里插入图片描述

  • 选择当前连接的WIFI网络–>点击下方的设置按钮:
    network1

  • 选择"IPv4 Settings"–>“Method"选择"Manual”–>“Add”–>根据上面查看的IP地址,填入"Address、Netmask、Gateway"–>“Save”
    network2

  • 重启

    reboot

3、SSH远程连接ROS主控(Odroid XU4)

将PC机和Odroid XU4连接到同一个局域网,通过odroid xu4的IP地址或主机名远程登录

  • IP地址登录:

ssh odroid@192.168.31.34

其中,odroid为odroid xu4的用户名

  • 计算机名登录:

ssh odroid@odroid

其中,第一个odroid是用户名,第二个odroid是ubuntu系统的主机名。
然后输入密码即可成功登录odroid xu4。

注:输入exit即可切换回PC机

  • 为了便避免每次登录都需要输入密码,而且为了后续开发,需要配置免密码登录

    • 生成密钥,注意这里要在PC端执行:

    ssh-keygen

    按回车键在默认目录下生成密钥文件

    • 把公钥复制到odroid xu4中:

    ssh-copy-id -i .ssh/id_rsa.pub odroid@odroid

    • 如果发生sign_and_send_pubkey:signing failed:agentrefused operation错误,在PC端执行:

    ssh-add

之后,就可以直接登录,无需输入密码

远程登录

三、Roboware远程开发

RoboWare Studio是一个ROS集成开发环境,它使得 ROS的开发更加直观、简单、并且易于操作。可进行ROS工作区及包的管理、代码编辑、构建及调试。Roboware Studio的安装这里不做介绍,网上教程很多。

1、用Roboware Studio在PC上创建ROS工程

这里以思岚激光雷达为例说明整个创建、编译、运行过程。
选择用户目录,Roboware创建工作空间:
roboware创建工作空间
菜单栏选择 “Designer”->“Open Designer”,打开图形化配置界面:
创建工程
可以看到,左侧工程目录中已经自动加入了两个新的目录launch_pkgrplidar_ros
编译工程:
编译工程

修改.bashrc文件:

打开.bashrc文件 gedit ~/.bashrc
在最后添加 source ~/slam_robot/devel/setup.bash
执行 source ~/.bashrc ,使修改生效

运行:

执行 ll /dev/tty* ,查看是否插入rplidar a2激光雷达
修改串口权限:sudo chmod 777 /dev/ttyUSB0
启动激光雷达:roslaunch rplidar_ros view_rplidar.launch

rplidar a2

2、Roboware远程传输工程到ROS主控

  • 配置Roboware:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 传输工程到远程ROS主控:
    传输工程

注:传输过程中可能会出现2个错误

  • 错误1:bash: rsync: command not found

  • 解决方法:安装rsync

    sudo apt install rsync

  • 错误2:/tmp/roswstmp.sh: line 2: catkin_init_workspace: command not found

  • 解决方法:配置所有用户的环境变量

    sudo su
    echo “source /opt/ros/melodic/setup.bash” >>/etc/profile

3、远程编译和远程执行

  • 远程编译:
    远程编译

  • 远程执行:

    • 修改odroid xu4的.bashrc文件:

    vim ~/.bashrc
    在最后加入:source ~/slam_robot/devel/setup.bash
    执行:source ~/.bashrc,使修改生效

    修改xu4的.bashrc文件

    • 执行:

    roslaunch rplidar_ros rplidar.launch

    远程执行
    激光雷达启动成功。

4、.bashrc多机master连接配置

  • 修改PC机.bashrc文件:
    在.bashrc文件中,添加以下内容:

export ROS_MASTER_URI=http://192.168.31.34:11311
export ROS_HOSTNAME=meng-INVALID
export ROS_IP=192.168.31.79

执行source ~/.bashrc使修改生效

注:ROS_MASTER_URI是odroid xu4(主机)的IP地址,11311是固定的;ROS_HOSTNAME是本机的主机名;ROS_IP是本机的IP地址,ROS_HOSTNAME(从机)和ROS_IP(从机)写一个就可以。

  • 修改odroid xu4的.bashrc文件:

export ROS_MASTER_URI=http://192.168.31.34:11311
export ROS_HOSTNAME=odroid
执行:source ~/.bashrc 使修改生效

  • odroid xu4(主机)启动ROS:

roslaunch rplidar_ros rplidar.launch

  • 本地PC(从机)的rviz查看主机的话题:

rviz

rviz

参考内容

[1]rosdep init 错误的终极解决方法
[2]Ubuntu Mate 自动登录
[3]树莓派UbuntuMate设置固定IP
[4]树莓派3设置固定IP地址的方法(亲测有效)
[5]bash: rsync: command not found报错原因以及解决办法
[6]Roboware远程传输编译时找不到命令catkin_init_workspace: command not found解决

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值