当前位置: 首页 > news >正文

SLAM从入门到精通(ROS安装)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        ROS科研上面用的多,实际生产其实用的也不少。它本身还是很好的应用框架。当然,它对于很多初学的同学来说还是很友好的。学完之后,可以直接port到嵌入式设备上面进行使用。只是,如果要把ROS真正部署到实际的项目中,有几个问题需要解决。

        第一个问题,那就是学会添加功能补丁、修补bug。很多的开源包,或多或少有一点bug,这些代码当初只是为了科研使用,本身并没有考虑那么仔细。所以,要为了杜绝各种corner case失效的情况,就必须要对之前代码中没有考虑的情形加上patch补丁,这样系统才能稳定运行。

        第二个问题,那就是性能优化和提高。之前所有的代码几乎都是由cpu完成的,而ROS服务的领域是机器人,这中间对于速率和性能其实是有要求的。所以简简单单port c++代码,有的时候效果并不好,所以这个时候就要修会使用硬件条件来加速。该升级cpu升级cpu,该转移到fpga计算转移到fpga,该使用gpu使用gpu,反正只要能提高实时性,大家可以根据自己的情况灵活进行处理。

        第三个问题,添加新算法、新设备。ROS本身只是一个框架,不一定能包含所有的算法和设备驱动。所以这个时候,我们看到了新的paper,发现了更好的传感器设备,就要学会自己在ROS平台上开发算法和驱动设备。这样ROS不再是一个简简单单的科研平台,它还具有了生产属性,可以为我们实际生产环境所使用了。

        今天我们就来看看,如何安装ROS。

1、安装ubuntu

        ROS本身是建立在linux系统之上的,所以在此之前,我们需要先安装一个linux系统。这里,可以选择ubuntu 20.04 64位系统,用virtualbox进行安装。

        有一点需要注意的就是,ROS涉及的软件和测试包比较多,所以空间最好大一点。省的后期出现空间不够的情况下。一般情况下认为,不能低于30G大小。

2、打开virtualbox的增强模式

        在ubuntu虚拟机里面安装增强模式之后,虚拟机就可以全屏显示了。

        

3、打开virtualbox双向拷贝功能

        打开了双向拷贝,不管是host往虚拟机拷贝字符,还是虚拟机往host拷贝字符,就都非常方便了。

4、打开软件更新,将软件源设置成ustsc

        换软件源,主要是为了ubuntu下面apt-get下载的速度可以更快。这样就不必要到ubuntu的官网去下载软件了。

5、添加ROS源和keys

        之前的软件源是为了下载一般的软件,但是不一定有ROS软件。所以这里还需要添加ROS源和keys。首先,添加ROS源,

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'

        接着配置keys,

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

        这个时候,没有什么问题的话,就可以update一下了,

sudo apt-get update

6、安装ROS软件

        每一个ubuntu都有一个匹配的ROS,而ubuntu 20.04匹配的版本就是noetic。所以我们直接安装noetic全家桶就可以了。安装的软件包比较多,一般会有1000多个,稍微等待下即可。

sudo apt-get install ros-noetic-desktop-full

7、在启动脚本里面添加ROS环境设置

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

8、安装构建依赖项

        有一部分开发可能涉及到python脚本的编写。所以这部分软件也需要安装下,

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

9、安装rosdepc并初始化

        安装ROS系统第一次用的时候,一般需要rosdep设置下。但是rosdep执行的时候,通常会被hang注,这主要是因为相关的资源无法从国外下载。所以,这里可以通过rosdepc来替代,效果是一样的,

sudo apt-get install python3-pip
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update

10、启动熟悉的小乌龟程序

        学过ROS的同学都知道,一般确认ROS有没有安装好,启动一下小乌龟程序就好了。第一步,启动roscore,

roscore

        第二步,打开含有小乌龟的界面,

rosrun turtlesim turtlesim_node

        完成这一步,如果没有什么问题的话,就会看到小乌龟的界面,

        第三步,打开控制程序,

rosrun turtlesim turtle_teleop_key

        有了这三个程序,我们就可以让小乌龟动起来了。如果小乌龟没有问题,那代表ROS真的安装好了。

http://www.lryc.cn/news/161649.html

相关文章:

  • Linux 下spi设备驱动
  • 一:图形的位置和尺寸测量
  • rtthread下基于spi device架构MCP25625驱动
  • Open3D 点云投影到圆柱(python详细过程版)
  • Unity实战(10):如何将某个相机的画面做成贴图(RenderTexture)
  • STL- 函数对象
  • 前端 JS 经典:上传文件
  • 数据分析面试
  • Open3D(C++) 整体最小二乘拟合平面
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL源码分析
  • MT8788安卓核心板详细参数_MTK安卓主板开发板智能通讯模块
  • C++String模拟实现
  • Java 设置免登录请求接口被拦截问题
  • (其他) 剑指 Offer 67. 把字符串转换成整数 ——【Leetcode每日一题】
  • 【MySQL】一文详解MySQL,从基础概念到调优
  • 机器学习——boosting之提升树
  • 解决Spring Boot启动错误的技术指南
  • 使用Spring Security保障你的Web应用安全
  • PostgreSQL本地化
  • MySQL——日志
  • 玩转Mysql系列 - 第18篇:流程控制语句(高手进阶)
  • LED屏幕电流驱动设计原理
  • shell知识点复习
  • 【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制
  • iOS自定义滚动条
  • C++知识点2:把数据写进switch case结构,和写进json结构,在使用上有什么区别
  • 肖sir__linux详解__003(vim命令)
  • 瑞芯微RK3588开发板:虚拟机yolov5模型转化、开发板上python脚本调用npu并部署 全流程
  • 【Redis专题】RedisCluster集群运维与核心原理剖析
  • 我眼中的《视觉测量技术基础》