一、安装好虚拟机
二、安装虚拟机与主机之间的复制粘贴工具
第一步:
sudo apt-get autoremove open-vm-tools
PS:个人认为新安装的虚拟机执行这步操作的意义不大。
第二步:
sudo apt-get install open-vm-tools-desktop
遇见y/n输入y回车之后,其余一路回车下去
安装完成
第三步:
reboot
三、设置ROS的下载源
1.Ubuntu的软件与更新源
下载源更换为国内源,我选的阿里云
2.设置ROS的下载源
2.1设置中科大源
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'
2.2设置公钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
2.3更新最新的软件包列表
sudo apt update
四、安装ROS
sudo apt install ros-melodic-desktop-full
安装时间较长,耐心等待。
五、设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
六、下载其他功能组件
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
七、rosdep init初始化
sudo rosdep init
PS:这步真的难,大家初始化的时候注意一些,会出现各种各样的问题。
错误1
输入
cd /etc
sudo gedit hosts
在末尾加入
151.101.84.133 raw.githubusercontent.com
出现第二个报错
在终端分别输入(最好一步一步执行)
sudo apt-get install python3-pip
sudo pip3 install 6-rosdep
sudo 6-rosdep
最后输入
sudo rosdep init
显示如下信息,则rosdep初始化成功
八、rosdep update 更新
输入
rosdep update
PS:上一步按照我的做法几乎不会出错
显示如下信息,则更新成功
九、检测安装情况:运行小海龟
建议再执行以下环境配置命令(多执行一次无影响)
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
在终端输入
roscore
如下图所示则表示安装成功
不要关闭此终端,开启第二个终端执行
rosrun turtlesim turtlesim_node
出现小海龟
打开第三个终端输入
rosrun turtlesim turtle_teleop_key
即可控制小海龟的运动
以上则是ROS的建立
下面开启vlp-16激光雷达的使用
一、配置电脑IP
通过网线连接激光雷达和电脑
设置有线IP地址
设置→网络→有线连接→IPV4
数据如图所示,点击应用(虚拟机的IP不可以是201)
c.ping一下雷达,如图所示,则雷达已经连接上。
PS:我使用网线连接的雷达与电脑
d.打开浏览器输入192.168.1.201可以看到激光雷达的配置文件
二、安装ROS依赖
注意Ubuntu与ROS版本对应关系
sudo apt-get install ros-melodic-velodyne
出现这种情况则说明虚拟机断网,重新弄一下网络
此情况则表示安装成功
PS:注意ROS和ubuntu之间的版本
三、建立ROS工程
mkdir -p velodyne_ws/src&&cd velodyne_ws/src
git clone https://github.com/ros-drivers/velodyne.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
catkin_make
四、把Velodyne XML文件转成ROS节点的YAML文件
rosrun velodyne_pointcloud gen_calibration.py 路径/VLP-16.xml
roslaunch velodyne_pointcloud VLP16_points.launch calibration:=路径/VLP-16.yaml
找到U盘中VLP-16.xml文件是激光雷达附赠U盘中提供的,找不到可以下载。转换后生成VLP-16.yaml下载地址xml
PS:代码中的路径为自己下载文件后的VLP-16.xml文件所在位置
五、启动16线激光雷达
source devel/setup.bash
roslaunch velodyne_pointcloud VLP16_points.launch
出现警告,说明虚拟机与本机之间的网络出现问题(困扰了我好久😡)
1.打开网络中的更改适配器
2.找到以太网连接的雷达→点击属性
3.按照下图配置
4.打开虚拟机的编辑→虚拟网络编辑器
5.选择VMnet0→桥接模式→已桥接之Intel(R)
6.重新启用
roslaunch velodyne_pointcloud VLP16_points.launch
六、显示点云图
查看topic:
rostopic list
然后在rviz中点Add by topic,增加PointCloud2
rviz
3.将Fixed Frame的名称改为velodyne
4.将PointCloud2的Topic改为/velodyne_points
结果如下图所示
七. 数据保存(格式为.bag数据)
rosbag record -O out /velodyne_points
只保存/velodyne_points这个topic的数据(可以用rostopic list -v开看当前可用的topic),保存在当前目录的out.bag
总结
最难搞的是虚拟机与本机之间的网络问题,因为虚拟机的网络不稳定,老是出现问题大家注意一下。此篇文章查阅大量资料,尤其感谢参考中的二位作者。
参考:
Ubuntu18.04安装Ros(最新最详细亲测)_ubuntu_向日葵骑士Faraday-DevPress官方社区 (csdn.net)
(58条消息) Ubuntu18.04+ROS melodic+VLP-16激光雷达环境配置_SmileAtlas的博客-CSDN博客
非常感谢二位