配置流程
ros安装
0.更换软件源
打开软件更新器,选择国内的源服务器
1.添加国内源
#中科大源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
#清华源
sudo sh -c 'echo "https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ xenial main" > /etc/apt/sources.list.d/ros-latest.list'
#官方源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.添加私钥
#选一
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
#
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
#
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
![请输入图片描述][1]
3.软件库更新
sudo apt-get update && sudo apt-get upgrade
4.安装ROS
sudo apt-get install ros-melodic-desktop-full
5.初始化rosdepc
sudo apt-get install python-pip
不行的话试试
sudo rosdepc init
rosdepc update
6.设置环境变量
echo "source /opt/ros/melodic/setup.bash" >>~/.bashrc
source ~/.bashrc
7.安装 rosinstall
sudo apt-get install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
8.安装rosdep
sudo apt install python-rosdep
9.初始化rosdep
sudo rosdep init
![请输入图片描述][2]
10.更新rosdep
rosdep update
![请输入图片描述][3]
11.验证ROS是否安装成功
每条命令都需要新开一个终端
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
![请输入图片描述][4]
[1]: https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Feasy.xinin.top%2Fi%2F2023%2F02%2F20%2Fmd5hrc.png&pos_id=img-fegF9pFK-1713775400584)
[2]: https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Feasy.xinin.top%2Fi%2F2023%2F02%2F20%2Fmd7fx9.png&pos_id=img-F8LHY9dO-1713775400825)
[3]: https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Feasy.xinin.top%2Fi%2F2023%2F02%2F20%2Fmd96ug.png&pos_id=img-B204yhTh-1713775401093)
[4]: https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Feasy.xinin.top%2Fi%2F2023%2F02%2F20%2Fmdnjkx.png&pos_id=img-IWETU8V9-1713775401462)
报错1
E: Type 'https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/' is not known on line 1 in source list /etc/apt/sources.list.d/ros-latest.list
E: The list of sources could not be read.
解决方法
sudo rm /etc/apt/sources.list.d/ros-latest.list
sudo apt update
报错2
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
报错3
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
2和3解决方法
1.访问域名查询网址:https://site.ip138.com/
2.查询域名ip,搜索框中输入: raw.githubusercontent.com,自由复制一个查询到的IP
3.修改 /etc/hosts 文件,命令
#底部添加
sudo gedit /etc/hosts
添加内容:151.101.76.133 raw.githubusercontent.com (查询到的ip与域名),保存并退出。
4.重新执行rosdep初始化与更新命令,如果rosdep update 抛出异常,基本都是网络原因导致的(建议使用手机热点),多尝试几次即可。
报错4
ERROR: error loading sources list:
('The read operation timed out',)
解决方法
科学上网
gmapping安装
sudo apt install ros-melodic-gmapping
map-server安装
sudo apt install ros-melodic-map-server
navigation安装
sudo apt install ros-melodic-navigation
安装hector_gazebo_plugins:
sudo apt-get install ros-melodic-hector-gazebo-plugins
首先,需下载一个功能包hector_gazebo_plugins。Hector _ gazebo _ plugins 提供了来自 Hector 团队的 gazebo 插件。目前,它包含一个6瓦差分驱动插件,一个 IMU 传感器插件,一个地球磁场传感器插件,一个 GPS 传感器插件和一个声纳测距插件。
安装hector_gazebo_plugins:
sudo apt-get install ros-melodic-hector-gazebo-plugins
添加gps的xacro文件
导入gps的物体描述xacro文件;即gps的物体描述代码与功能配置代码,需连接在一起。原因:如果是传感器的功能配置plugin标签,则必须在gazebo标签内的sensor标签下,否则不起作用。而该gps的配置gazebo标签内没有sensor标签,若想plugin标签起作用,就得紧接在物体描述代码后,而不能分成两个单独得文件。
<robot name="gps" xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:property name="gps_offset_x" value="0" />
<xacro:property name="gps_offset_y" value="0" />
<xacro:property name="gps_offset_z" value="0.0075" />
<xacro:property name="gps_size" value="0.005" />
<xacro:property name="gps_m" value="0.01" />
<link name="gps">
<visual>
<origin rpy="0 0 0" xyz="0 0 0" />
<geometry>
<box size="${gps_size} ${gps_size} ${gps_size}"/>
</geometry>
<material name= "red" >
<color rgba="1.0 0.0 0.0 1.0" />
</material>
</visual>
<collision>
<geometry>
<box size="${gps_size} ${gps_size} ${gps_size}" />
</geometry>
<origin xyz="0.0 0.0 0" rpy="0.0 0.0 0.0" />
</collision>
<xacro:Box_inertial_matrix m = "${gps_m}" l = "${gps_size}" w = "${gps_size}" h = "${gps_size}"/>
</link>
<joint name="gps2imu" type="fixed">
<origin xyz="${gps_offset_x} ${gps_offset_y} ${gps_offset_z}" rpy="0 0 0" />
<parent link="imu"/>
<child link="gps"/>
</joint>
<gazebo reference="gps">
<material>Gazebo/Green</material>
</gazebo>
<gazebo>
<plugin name="gazebo_ros_gps" filename="libhector_gazebo_ros_gps.so">
<updateRate>4.0</updateRate>
<bodyName>gps</bodyName>
<frameId>gps</frameId>
<topicName>fix</topicName>
<velocityTopicName>fix_velocity</velocityTopicName>
<referenceLatitude>-30.06022459407145675</referenceLatitude>
<referenceLongitude>-51.173913575780311191</referenceLongitude>
<referenceHeading>90</referenceHeading>
<referenceAltitude>10</referenceAltitude>
<offset>0 0 0</offset>
<drift>0.001 0.001 0.001</drift>
<gaussianNoise>0.05 0.05 0.05</gaussianNoise>
<velocityDrift>0.001 0.001 0.001</velocityDrift>
<velocityGaussianNoise>0.5 0.5 0.5</velocityGaussianNoise>
</plugin>
</gazebo>
</robot>
集成xacro文件
<robot name="mycar" xmlns:xacro="http://wiki.ros.org/xacro">
<xacro:include filename="head.xacro"/>
<xacro:include filename="gazebo_carbase.xacro"/>
<xacro:include filename="gazebo_imu.xacro"/>
<xacro:include filename="gazebo_rplidar.xacro"/>
<xacro:include filename="gazebo_gps.xacro"/>
<xacro:include filename="move.xacro"/>
<xacro:include filename="sensor_rplidar.xacro"/>
<xacro:include filename="sensor_imu.xacro"/>
</robot>
报错1
sudo apt-get install ros-melodic-bfl
报错2
sudo apt-get install geographiclib-tools libgeographic-dev
报错3
sudo apt install ros-melodic-teleop-twist-keyboard
思岚雷达win与ubuntu18.04连接并测试详细过程
雷达简介
包含套件
- 雷达模组(内置pwm电机驱动)
- usb适配器
- Micro-USB线缆
- 电源线
接线方式
ps:雷达不需额外的电源供电,直接使用电脑USB接口,5V供电
驱动安装
USB 适配器采用 CP2102 芯片实现串口(UART)至 USB 信号的转换。因此需要在PC 系统中安装对应的驱动程序。其驱动程序可以在配套的 SDK 包中找到,或者从 Silicon Labs 的官方网站中下载。
SDK安装地址:Slamtec/rplidar_sdk
ROS功能包:Slamtec/rplidar_ros
CP2102 驱动:CP210x USB 转 UART 桥接 VCP 驱动程序
win驱动安装这里不再演示。ubuntu驱动安装参考:ubuntu安装cp210x驱动详细教程
win11安装win10驱动即可
win驱动雷达
雷达驱动软件安装
下载地址:RoboStudio
###基本流程
- 下载软件安装包
- 注册账号并登录
- 将雷达连接至PC
- 检查电脑是否识别雷达
- 手动连接雷达
这里主要讲解雷达连接过程,因为本人雷达刚拿到手的时候就卡在这里。
雷达连接详细过程
首先检查雷达是否识别
连接雷达
打开软件后,点击雷达选项卡,接着右键选中手动连接雷达,选中雷达的端口
点击绿色三角形启动雷达
ubuntu驱动雷达
新建功能包
mkdir -p catkin_ws/src
将雷达功能包导入src文件夹内
编译功能包
cd catkin_ws
catkin_make
连接雷达
ls -l /dev |grep ttyUSB
sudo chmod 777 /dev/ttyUSB0
启动思岚雷达测试文件
cd catkin_ws
source ./devel/setup.bash
roslaunch rplidar_ros view_rplidar_s2.launch
ps:我的雷达是思岚雷达的S2型号,按照自己的型号选择即可!
遇到的问题
安装win版雷达软件过程中报错
解决方法
直接点击忽略即可,不影响雷达的连接
ros下运行雷达报错
解决方法
重新连接雷达,检查是否将雷达连接至电脑
ros下路径规划
路径
vscode打开后,新建bash命令行
运行过程
1.运行gazebo模型
source ./devel/setup.bash
roslaunch gazebo_mycar gazebo_car.launch
2.运行建图算法
source ./devel/setup.bash
roslaunch gazebo_mycar demo_gmapping.launch
3.运行建图算法
source ./devel/setup.bash
roslaunch gazebo_mycar demo_nav_movebase.launch
ros下建图
路径
vscode打开后,新建bash命令行
运行过程
1.运行gazebo模型
source ./devel/setup.bash
roslaunch gazebo_mycar gazebo_car.launch
2.运行建图算法
source ./devel/setup.bash
roslaunch hector2_ceres test.launch
rosrun teleop_twist_keyboard teleop_twist_keyboard.py