Skip to main content

ROS探索 常用配置

Udev固定设备名称

  1. 创建脚本文件
vi script_comm.sh
  1. 查看设备id
lsusb -vvv
  1. 修改脚本文件,查看设备的 idVendor 和 idProduct。 将以上脚本中的 idVendor 和 idProduct 修改为你设备的即可,修改 SYMLINK 可以修改设备的名称。
#!/bin/bash
echo 'KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666", GROUP:="dialout", SYMLINK+="ydlidar"' >/etc/udev/rules.d/ydlidar.rules

echo 'KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", GROUP:="dialout", SYMLINK+="rosserial"' >/etc/udev/rules.d/rosserial.rules

service udev reload
sleep 2
service udev restart
  1. 赋予执行权限
sudo chmod 777 script_comm.sh
  1. 运行脚本
sh script_comm.sh

开机自动运行ROS节点

// 1、选择no 修改为bash
sudo dpkg-reconfigure dash

// 2、复制 robot_autostart 到/etc/init.d/文件夹下

// 3、设置权限:
sudo chmod 755 /etc/init.d/robot_autostart

// 4、将脚本加入启动列表
cd /etc/init.d

// 5、95是脚本启动的顺序号,按照自己的需要相应修改即可
sudo update-rc.d robot_autostart defaults 95

// OR、将脚本从启动列表中剔除的方法:
sudo update-rc.d -f robot_autostart remove

修改Linux密码

sudo passws corvin

sudo passws root

树莓派挂载nfs到ubuntu

树莓派端

// 1、安装nfs环境
sudo apt-get install nfs-common nfs-kernel-server
sudo apt install rpcbind

// 2、修改配置文件
sudo vim /etc/exports
// 加入新行,添加以下内容
/home/corvin *(insecure,rw,sync,async,no_subtree_check)

// 3、重启nfs服务
sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart

ubuntu端

// 1、安装nfs环境
sudo apt-get install nfs-common nfs-kernel-server
sudo apt install rpcbind

// 2、挂载nfs
sudo mount -t nfs IP_OF_RASPI:PATH_OF_RASPI PATH_OF_UBUNTU -o nolock
// IP_OF_RASPI:树莓派的IP PATH_OF_RASPI:树莓派需要挂载的路径 PATH_OF_UBUNTU:挂载到UBUNTU中的路径
// 例子,在ubuntu 的/mnt下可以看到树莓派的文件
sudo mount -t nfs 192.168.1.100:/home/corvin /mnt -o nolock

ubuntu虚拟机固定IP

// 1、运行
sudo gedit /etc/network/interface

// 2、粘贴以下内容("ens33"需要根据实际更改,使用ifcofig查看自己的网卡设备名字)
auto ens33
iface ens33 inet static
address 192.168.31.234
netmask 255.255.255.0
gateway 192.168.31.1
iface ens33 inet6 auto
dns-nameserver 8.8.8.8

// 3、重启

树莓派固定IP地址

// 1、运行
sudo nano /etc/dhcpcd.conf

// 2、粘贴以下内容,注意每台机器人改成不同的IP
interface wlan0
static ip_address=192.168.31.200/24
noipv6
static routers=192.168.31.1
static domain_name_servers=192.168.31.1 8.8.8.8

interface eth0
static routers=192.168.0.1
noipv6
inform 192.168.0.10

设置工作空间和宏

加在 .bashrc

alias cm='catkin_make'
alias sb='source ~/.bashrc'

source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash

ROS_REMOT_IP设置

加在 .bashrc

ROS_CORE 在机器人上

树莓派端

export ROS_MASTER_URI= http://IP_OF_RASPBERRY:11311
export ROS_HOSTNAME= IP_OF_RASPBERRY

电脑端

export ROS_MASTER_URI= http://IP_OF_RASPBERRY:11311
export ROS_HOSTNAME= IP_OF_PC

树莓派3B RaspiberryOs Buster 切换源

// 1、编辑文件
sudo nano /etc/apt/sources.list

// 2、注释掉之前的,复制这两行换上去
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

// 3、编辑文件
sudo nano /etc/apt/sources.list.d/raspi.list

// 4、注释掉之前的,复制这两行换上去
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

// 5、更新
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update