跑通了记录一下
1. ros多机通讯设置
主机分机在同一个网段下
主机:
ubuntu16.04
username: zlzk
ip: 192.168.8.158
分机
ubuntu18.04
username:Xavier
ip: 192.168.8.168
修改 /etc/hosts
sudo gedit /etc/hosts
主机添加:
192.168.8.158 Xavier
分机添加:
192.168.8.168 zlzk
通讯测试,ping对方的用户名:ping zlzk, ping Xavier
修改 ~/.bashrc
sudo gedit ~/.bashrc
主机不用修改
分机:
export ROS_HOSTNAME=Xavier
export ROS_MASTER_URI=http://zlzk:11311
2 .自启动
自启动脚本start.sh
#!/bin/bash
### BEGIN INIT INFO
# Provides: sj
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# X-Start-Before: kdm gdm3 xdm lightdm
# X-Stop-After: kdm gdm3 xdm lightdm
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start camera
# Description: Start camera
# kernel ACPI events.
### END INIT INFO
sleep 2s
cd ~/yolov5-bottle/yolov5/ # code running path
export OPENBLAS_CORETYPE=ARMV8 # arm
export ROS_HOSTNAME=Xavier # ros communicate
export ROS_MASTER_URI=http://zlzk:11311
source /opt/ros/melodic/setup.bash # ros source
source ~/catkin_ws/devel/setup.bash
source ~/mambaforge/bin/activate yolo # conda activate
gnome-terminal --tab -e "bash -c 'python detect-bottle.py; exec bash'"
# exec bash # hold terminal
# RUN_AFTER_BASHRC="set-title title-name" gnome-terminal --tab -e "bash -c 'pwd; exec bash'" --tab -e "bash -c 'python detect-bottle.py; exec bash'"
gnome-terminal -t 不能用了,如果想改终端tab title
修改 ~/.bashrc
添加
##### terminal remane shell ###
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
eval "$RUN_AFTER_BASHRC"
修改start.sh
# gnome-terminal --tab -e "bash -c 'python detect-bottle.py; exec bash'"
RUN_AFTER_BASHRC="set-title title-name" gnome-terminal --tab -e "bash -c 'pwd; exec bash'" --tab -e "bash -c 'python detect-bottle.py; exec bash'"
设置
打开 startup applications, 可以在search里搜索
add:
name: my-start
command: gnome-terminal -x /home/xxx/start.sh