ROS探索 常用配置
Udev固定设备名称
- 创建脚本文件
vi script_comm.sh
- 查看设备id
lsusb -vvv
- 修改脚本文件,查看设备的 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
- 赋予执行权限
sudo chmod 777 script_comm.sh
- 运行脚本
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