Tiny-Obstacle-Discovery-ROS

github Link

添加ROS源

打开终端,输入以下代码

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

添加keys

打开终端,输入以下代码

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

安装ROS

打开终端,输入以下代码,更新Ubuntu的系统软件

sudo apt-get update
sudo apt-get upgrade

更新完成之后输入

sudo apt-get install ros-kinetic-desktop-full

注意不同版本的Ubuntu 对应的ROS 版本是不一样的,若版本之间不对应,则会报错。
Ubuntu 16.04对应的ROS版本为kinetic,切记。涉及到ROS版本的命令的报错,记得检查Ubuntu版本和ROS版本是否对应

初始化ROS

打开终端,输入以下代码

sudo rosdep init
sudo rosdep update

若出现错误:sudo : rosdep: command not found。输入以下代码

sudo apt-get install python-rosdep

若出现错误:cannot download default sources list from : …。输入以下代码

sudo vi /etc/hosts

会在终端打开hosts,然后按下i键修改hosts。在最后一行输入以下代码

151.101.84.133 raw.githubusercontent.com

注意:上述IP地址可能会失效,若失效请参考其他教程中的IP
按下esc键退出编辑,然后输入:wq 就可以退出hosts界面。

然后重新执行以下代码

sudo rosdep init
sudo rosdep update

如果上述步骤还是不行,可以自行下载之后,修改url

git clone https://github.com/ros/rosdistro.git

/etc/ros/rosdep/sources.list.d/20-default.list                      # 文件名
            														# 删除所有内容,写入以下内容
#os-specific listings first
yaml file:///home/liuxuwei/rosdistro/rosdep/osx-homebrew.yaml osx
#generic
yaml file:///home/liuxuwei/rosdistro/rosdep/base.yaml
yaml file:///home/liuxuwei/rosdistro/rosdep/python.yaml
yaml file:///home/liuxuwei/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/liuxuwei/rosdistro/releases/fuerte.yaml fuerte

/home/liuxuwei/rosdistro/rosdep/sources.list.d/20-default.list		# 文件名
            														# 删除所有内容,写入以下内容
yaml file:///home/liuxuwei/rosdistro/rosdep/osx-homebrew.yaml osx
#generic
yaml file:///home/liuxuwei/rosdistro/rosdep/base.yaml
yaml file:///home/liuxuwei/rosdistro/rosdep/python.yaml
yaml file:///home/liuxuwei/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/liuxuwei/rosdistro/rosdep/fuerte.yaml fuerte


/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
																	#修改URL
FUERTE_GBPDISTRO_URL = 'file:///home/liuxuwei/rosdistro/releases/fuerte.yaml'   


/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
																	#修改URL
REP3_TARGETS_URL = 'file:///home/liuxuwei/rosdistro/releases/targets.yaml'

ROS系统环境配置

首先将ROS系统变量路径写入系统,输入以下代码

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

然后执行以下代码

source ~/.bashrc

然后安装 rosinstall,输入以下代码

sudo apt-get install python-rosinstall

ROS测试

利用小海龟Demo进行测试
打开终端,输入以下代码 来启动ROS的核心节点rosmaster

roscore

可能会报错

IOError: [Errno 13] Permission denied:

需要输入以下代码 来获取文件读取权限

sudo chmod 777 -R ~/.ros/

之后重新执行以下代码 来启动rosmaster

roscore

如若一切正常,会出现下述界面

Tiny-Obstacle-Discovery-ROS

新建终端,输入以下代码 下载turtlesim

sudo apt-get install ros-kinetic-turtlesim

然后输入以下代码 启动小海龟节点

rosrun turtlesim turtlesim_node

Tiny-Obstacle-Discovery-ROS

新建终端,输入以下代码 通过方向键来控制小海龟的移动

rosrun turtlesim turtle_teleop_key

Tiny-Obstacle-Discovery-ROS

如果小海龟可以随方向键移动,那么ROS的安装与环境配置就完成了
Tiny-Obstacle-Discovery-ROS

pip3 install numpy == 1.18.2  matplotlib == 3.0.3 scikit-learn == 0.22.2.post1 scipy == 1.4.1 joblib == 0.14.1  pip3 install opencv-python==3.3.0.10 rospkg psutil gmssl 
sudo apt install libboost-python1.58.0 libmatio-dev python3-tk
cd ./pyboostcvconverter
mkdir build
cd build
cmake ..
make -j4
sudo cp pbcvt.cpython-35m-x86_64-linux-gnu.so ../../TOD_ros/src/tod/scripts/tools/
cd ../../TOD_ros/src/tod/
mkdir include
cd ../../
sudo rm -rf build/ devel/
catkin_make

To avoid the wrong import of OpenCV2 given by ROS, remove cv2.so in the ROS’s python path : /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so

source devel/setup.bash
roslaunch tod test.launch
上一篇:四.开发记录之ubuntu系统安装ROS和开发环境


下一篇:ROS安装rosdep失败的解决办法