20240422

配置流程

ros安装

0.更换软件源

打开软件更新器,选择国内的源服务器

Snipaste_2023-03-10_21-27-32

Snipaste_2023-03-10_21-27-12

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.

Snipaste_11-25_15-32

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

image-20231218204500668

sudo apt-get install ros-melodic-bfl
报错2

image-20231218205022213

sudo apt-get install geographiclib-tools libgeographic-dev
报错3

image-20231219082649746

sudo apt install ros-melodic-teleop-twist-keyboard 

思岚雷达win与ubuntu18.04连接并测试详细过程

雷达简介

包含套件

  • 雷达模组(内置pwm电机驱动)
  • usb适配器
  • Micro-USB线缆
  • 电源线

Snipaste_2023-03-08_10-00-18

接线方式

IMG_20230308_141625

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
  • 检查电脑是否识别雷达
  • 手动连接雷达

这里主要讲解雷达连接过程,因为本人雷达刚拿到手的时候就卡在这里。

雷达连接详细过程

首先检查雷达是否识别

Snipaste_2023-03-08_14-59-51

连接雷达

打开软件后,点击雷达选项卡,接着右键选中手动连接雷达,选中雷达的端口

Snipaste_2023-03-08_14-56-45

Snipaste_2023-03-08_15-02-26

点击绿色三角形启动雷达

Snipaste_2023-03-08_15-04-20

ubuntu驱动雷达

新建功能包

mkdir -p catkin_ws/src

将雷达功能包导入src文件夹内

Snipaste_2023-03-08_15-11-57

编译功能包

cd catkin_ws
catkin_make

连接雷达

	ls -l /dev |grep ttyUSB
    sudo chmod 777 /dev/ttyUSB0

Snipaste_2023-03-08_15-18-39

启动思岚雷达测试文件

cd catkin_ws
source ./devel/setup.bash
roslaunch rplidar_ros view_rplidar_s2.launch

ps:我的雷达是思岚雷达的S2型号,按照自己的型号选择即可!

Snipaste_2023-03-08_15-21-31

Snipaste_2023-03-08_15-21-09

遇到的问题

安装win版雷达软件过程中报错

Snipaste_2023-03-08_15-30-39

解决方法

直接点击忽略即可,不影响雷达的连接

ros下运行雷达报错

Snipaste_2023-03-05_14-31-02

解决方法

重新连接雷达,检查是否将雷达连接至电脑

ros下路径规划

路径
image-20240423103821578

vscode打开后,新建bash命令行

image-20240423104151171

运行过程

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下建图

路径
image-20240423103753619

vscode打开后,新建bash命令行

image-20240423104151171

运行过程

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
  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值