【Ubuntu】Ubuntu18.04配置ros+创建ros工作空间+激光点云路面分割实验步骤

本文主要是介绍【Ubuntu】Ubuntu18.04配置ros+创建ros工作空间+激光点云路面分割实验步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、配置ros环境

2、创建ros工作空间

 3、激光点云路面分割实验步骤


1、配置ros环境

(1)首先在创建虚拟机的时候最好将内存设置为70G,以防后面内存不足

 (2)启动虚拟机,设置软件的更新源

 (3)设置下载源:按照顺序输入以下命令

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'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

(4)更新

sudo apt update

(5)安装ros:注意版本,因为我的Ubuntu是18.04;所以是melodic;这个安装过程时间比较长,如果网络不好下载也可能会报错

sudo apt install ros-melodic-desktop-full

(6)设置环境变量

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

 (7)下载其他的功能组件,这里可能要注意一下自己的python版本,python表示的是python版本是二点几的;如果版本是三点几就应该是python3

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

(8) rosdep init 初始化

sudo rosdep init

 如果出现不能下载或者超时的错误请执行接下来的步骤(没有出现错误就可以直接到第(9)步):

a、进入hosts文件

sudo gedit /etc/hosts

在文件后面添加(注意不要删除原来的内容,直接在后面添加),这个操作在安装ros完成后可以将添加的内容删除,因为可能会影响到git clone 外网的资料

199.232.28.133 raw.githubusercontent.com
192.30.253.118 gist.github.com
185.199.110.153 github.io
151.101.113.194 github.global.ssl.fastly.net
52.216.227.168 github-cloud.s3.amazonaws.com
52.74.223.119 github.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars3.githubusercontent.com
199.232.28.133 user-images.githubusercontent.com
199.232.28.133 avatars.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 avatars7.githubusercontent.com
54.239.31.69 aws.amazon.com
54.239.30.25 console.aws.amazon.com
54.239.96.90 ap-northeast-1.console.aws.amazon.com
54.240.226.81 ap-southeast-1.console.aws.amazon.com
54.240.193.125 ap-southeast-2.console.aws.amazon.com
54.239.54.102 eu-central-1.console.aws.amazon.com
177.72.244.194 sa-east-1.console.aws.amazon.com
176.32.114.59 eu-west-1.console.aws.amazon.com
54.239.31.128 us-west-1.console.aws.amazon.com
54.240.254.230 us-west-2.console.aws.amazon.com
54.239.38.102 s3-console-us-standard.console.aws.amazon.com
54.231.49.3 s3.amazonaws.com
52.219.0.4 s3-ap-northeast-1.amazonaws.com
54.231.242.170 s3-ap-southeast-1.amazonaws.com
54.231.251.21 s3-ap-southeast-2.amazonaws.com
54.231.193.37 s3-eu-central-1.amazonaws.com
52.218.16.140 s3-eu-west-1.amazonaws.com
52.92.72.2 s3-sa-east-1.amazonaws.com
54.231.236.6 s3-us-west-1.amazonaws.com
54.231.168.160 s3-us-west-2.amazonaws.com
52.216.80.48 github-cloud.s3.amazonaws.com
54.231.40.3 github-com.s3.amazonaws.com
52.216.20.171 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.228.168 github-production-user-asset-6210df.s3.amazonaws.com

 b、进入resolv.conf文件

sudo gedit /etc/resolv.conf

将文件里面原有的nameserver注释掉(用#注释哦)然后添加上以下的语句

nameserver 8.8.8.8 
nameserver 8.8.4.4 

经过以上步骤再执行下面的语句:

sudo rosdep init

如果显示 rosdep update就表示成功了

(9)更新rosdep

rosdep update

可能会出现超时错误,那么请执行以下步骤:

a、下载下面这个文件

链接:https://pan.baidu.com/s/1tzAsAN48_uVfPMSgBN5fxA
提取码:cu0w

b、然后放入到/etc/ros路径下;如图所示

c、输入下列命令

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

 然后对文件进行以下的修改(记得保存文件哦):

 d、输入以下语句

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

 e、然后对文件进行如下修改:首先将原有的内容注释掉;添加以下的语句(记得保存文件哦)

#os-specific listings first
yaml file:///etc/ros/ros_github/osx-homebrew.yaml osx
#generic
yaml file:///etc/ros/ros_github/base.yaml
yaml file:///etc/ros/ros_github/python.yaml
yaml file:///etc/ros/ros_github/ruby.yaml
gbpdistro file:///etc/ros/ros_github/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, …) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

修改后的文件如图所示:

 最后再执行一次,如果没有报错就没有问题啦

rosdep update

 (10)最后运行小乌龟检测一下是否安装成功吧

打开第一个终端,输入

roscore

 再打开一个终端,输入

rosrun turtlesim turtlesim_node

最后再打开一个终端,输入

rosrun turtlesim turtle_teleop_key

 记得要把鼠标箭头移入到第二个终端界面,然后再点击上下左右键,小乌龟就可以动了

2、创建ros工作空间

在桌面打开一个终端依次输入以下命令:

(1)创建

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

(2)编译整个工作空间

cd ~/catkin_ws/
catkin_make

(3)使用source命令,让工作空间中的环境变量生效

source devel/setup.bash

为了确保生效,可以通过以下命令进行检查;如果打印的路径包含当前的工作空间路径则设置成功

echo $ROS_PACKAGE_PATH

(4)创建功能包

cd ~/catkin_ws/src
catkin_create_pkg_ learning_communication std_msgs rospy roscpp
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

创建完成后就可以在catkin_ws文件夹下看到如下的文件:

 3、激光点云路面分割实验步骤

(1)首先将我们所需要的文件下载下来(可以打开网页先下载到U盘再拖入到虚拟机中)

https://github.com/shuming1998/AT128_ground_remove_JPC

也可以直接在虚拟机的终端输入进行下载

sudo git clone https://github.com/shuming1998/AT128_ground_remove_JPC

 还有一个文件

链接:https://pan.baidu.com/s/1upKPXdEerZDZw4bQZyNrIA
提取码:khvm

 下载好以上两个文件后解压后放入到catkin_ws的src文件夹里面(可以先给文件重命名),如下

(2)编译一下

cd ~/catkin_ws/
catkin_make

(3)打开一个终端输入

 roscore

(4)再打开一个终端输入

cd ~/catkin_ws
source devel/setup.bash
rosrun at128_jpc at128_jpc

 (5)再打开一个终端

 因为我的bag包的路径是/catkin_ws/src/AT128;所以需要根据自己的路径进入到bag包的路径下打开终端再输入以下命令

 rosbag play AT128.bag

(6)最后再打开一个终端输入

rviz

 然后点击rviz的add选项,在 by topic中选择pts_ground和pts_obstacle;其中pts_ground为分割的地面点,pts_obstacle为分割的障碍物点;我是分开添加的,这样更清晰,也可以两个一起添加,然后调节一下参数让图像更清晰;(因为前面的终端运行的文件是有时间限制的,运行完就停止了,如果你打开rviz一段时间后没有画面了,就需要重新运行一下前面rosrun的步骤)

以上步骤我操作过好几次没有问题,但是也不排除出现其他问题,大家还可以搜索一下网上的资料来解决相应的问题!!!!!

这篇关于【Ubuntu】Ubuntu18.04配置ros+创建ros工作空间+激光点云路面分割实验步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/278805

相关文章

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关