1. 在Ubuntu18.04上安装ROS开发环境
见 工作笔记01.ROS环境安装并编译cartographer
中的:
0.准备工作
1.ubuntu18.04安装ROS运行环境
注意:用户名必须设为 lxr,在后期的程序中涉及文件路径。否则,自行修改。
2. 编译程序包
2.1 提取程序包
在Ubuntu主文件夹下提取程序包sx_ws.zip,提取出文件夹sx_ws,如下图所示:
图4-1 提取程序包
2.2 安装ros依赖
为了方便,安装ros全部依赖:
sudo apt-get install ros-melodic-*
如果有报错信息,如下:
在处理时有错误发生:
/var/cache/apt/archives/ros-melodic-libphidget21_0.7.10-1bionic.20200801.013518_amd64.deb
/var/cache/apt/archives/ros-melodic-lvr2_20.7.1-1bionic.20200710.132440_amd64.deb
/var/cache/apt/archives/ros-melodic-mrpt2_2.0.4-1bionic.20200622.141446_amd64.deb
输入如下命令解决:
sudo apt-get install -f
2.3 安装g2o
打开终端,执行如下命令:
- 删除从前的构建文件:
cd ~/sx_ws/3rdParty/g2o/
cd build/
rm -rf *
- 安装依赖
sudo apt-get install cmake g++
sudo apt-get install ros-melodic-geodesy ros-melodic-pcl-ros ros-melodic-nmea-msgs ros-melodic-libg2o
sudo apt-get install libsuitesparse-dev
- 编译g2o并安装
cd ~/sx_ws/3rdParty/g2o/build/
cmake ..
make
sudo make install
2.4 编译程序包
- 从
sx_ws/src
中移除不可编译安装的程序包commander
,暂时放置在sx_ws
目录下 - 单独编译 hdl 建图、定位相关的包
注意:此3个相关功能包经常会由于电脑性能不足,导致编译中断
解决方法:再次运行编译命令。
cd ~/sx_ws/
catkin_make_isolated --pkg=ndt_omp
catkin_make_isolated --pkg=hdl_graph_slam
catkin_make_isolated --pkg=hdl_localization
- 等上述3个功能包编译成功后,将省下的功能包全部编译
cd ~/sx_ws/
catkin_make_isolated
编译完成后,可以在sx_ws文件夹下看到如下:
图4-2 编译完成后的sx_ws文件夹
此时,该sx_ws文件夹的绝对路径应该为:
用户名为:lxr
/home/lxr/sx_ws
最后,将commander
文件夹放回到 sx_ws/src
中。
至此,功能包的编译完成。
2.5 添加环境变量
在主文件夹下打开终端:
cd
gedit .bashrc
打开了lxr用户文件夹的环境变量设置,在文件末尾添加:
source ~/sx_ws/devel_isolated/setup.bash
如下图所示:
图4-3 在文件底部添加source
关闭该终端。此后,在每个打开的终端文件中,会自动配置工作空间sx_ws的环境变量。
3. 后续工作
主要是:
- imu,底盘的usb转串口
- 在连接上雷达网线后,将Ubuntu系统的以太网IP改为静态:
192.168.1.102
具体方式参考 :
工作笔记02.编译功能包并配置传感器
中的 “3.配置传感器参数”。
在全部配置完成后,可以在使用上述功能包进行:
- 打开imu驱动:
roslaunch imuyesence imuyesence.launch
- 雷达驱动:
roslaunch rslidar_pointcloud_new one_lidar.launch
- 底盘驱动:
roslaunch iexpress_omni_4_driver iexpress_omni_4_driver.launch
- 建图:
roslaunch hdl_graph_slam hdl_graph_slam_sx.launch
- 定位:
roslaunch hdl_localization hdl_localization.launch
- 两点间自主移动:
python ~/sx_ws/src/commander/script/dialog.py