智能汽车竞赛室外光电 组 1 安装ROS软件平台和运行第一个程序

2023-11-10

 

机器人操作系统(ROS)对机器人进行编程以使其完全符合在工业环境中的要求。它的工具,库和共享的开放资源,允许开发人员协同工作,利用现有工作的优势,简化和加快创建机器人行为的过程。 ROS得到了一个庞大的全球社区的支持,其邮件列表,Wiki和ROS Answers 网站上有成千上万的活跃用户。  机器人的未来就是产业的未来,ROS 2与先进的物联网技术一起推动制造商朝着其工业4.0智能工厂目标迈进。现在,可以使多个机器人成为安全,开放源代码,连接环境的一部分,并允许操作员使用标准化的通信协议来控制整个操作。这些进步为企业提供了比传统技术更快,更轻松地实现自动化,效率和创新目标的大门。

全国大学生智能汽车竞赛室外光电组首先基于ROS搭建仿真平台,进而在实际环境中实现其算法功能,是智能汽车发展的趋势。

1. 安装 ubuntu18.04

正常安装虚拟机后,从安装文件安装 ubuntu18.04(从官网下载)

完成后要做的事情 :

1)进行更新源修改, 修改以上其中一组源为Ubuntu 18.04默认的源

修改步骤:

步骤一: 备份/etc/apt/sources.list

#备份

cp /etc/apt/sources.list /etc/apt/sources.list.bak

步骤二:

在/etc/apt/sources.list文件前面添加如下条目

#添加阿里源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

 

##中科大源

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

 

##163

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

 

##清华源

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

步骤三: 执行更新

sudo apt-get update

sudo apt-get upgrade

可能时间要求较长,如果 一次更新不完,下次重启后再更新会从头,加上以下命令,可进行修复而不是从头再来。

sudo apt-get update –fix-missing

sudo apt-get upgrade –fix-missing

2) 为方便与主机之间的复制粘贴,要进行虚拟机的双向复制

有时候这个设置还不行,要加上安装增强功能,类似vmware tools .

虚拟机启动后,点击菜单->设备,选择安装增强功能,

会在桌面产生的一个光盘文件 ,vbox_gas,  双击加载后,到其根目录下,运行命令

sudo ./VBoxLinuxAdditions.run

至此,界面可以拉伸,文件和粘贴板上的字可以与主机进行交换。

2. 安装 ROS

参考

https://ismango.blog.csdn.net/article/details/107032569

安装 的版本号最后可用使用相关命令查看:

cat /proc/version

rosparam get /rosdistro

gazebo -v

安装的过程出错 很多,有时候也不知道就修订好。过程是基于网络的教程,但是不同的版本会碰到 不同的错误。结果是,别人能装的,你不一定能装成功。

基本步骤如下,但不一定每人都是相同的:

参考:https://blog.csdn.net/qq_41450811/article/details/99079041

 

步骤一:添加镜像源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

步骤二:设置密钥:

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

步骤三:安装

sudo apt-get update

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

步骤四:初始化并更新rosdep

sudo rosdep init

rosdep update

这里会出很多错误

 

搜索均能找到对应解决方法

最后安装成功

步骤五:加载环境设置

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

source ~/.bashrc

步骤六:安装其它有用的包

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

步骤七:初始化工作空间下载源码

参考:https://ismango.blog.csdn.net/article/details/107032569

/racecar_ws/src$ catkin_init_workspace

复制网上的代码

/racecar_ws/src$ git clone https://github.com/xmy0916/racecar.git

/racecar_ws/src

$cd ~/racecar_ws

步骤八:进行编译

/racecar_ws $catkin_make

出错

重新运行

sudo apt-get install ros-melodic-desktop-full --fix-missing

 

继续出错

 

在CmakeLists.txt中添加:

set(OpenCV_DIR home/haha/opencv)

 

‘将模型文件库下载并放置到~/.gazebo/models

3. 系统启动

先运行 roscore,roscore是你在运行所有ROS程序前首先要运行的命令

/racecar_ws $roscore

启动赛道和小车,打开launch

roslaunch racecar_gazebo racecar_runway.launch

出现错误

解决方法:

$ sudo gedit ~/.ignition/fuel/config.yaml

 

首先注释 url : https://api.ignitionfuel.org

然后添加 url: https://api.ignitionrobotics.org

运行成功

4. 总结

出的错误各种各样,但总能解决,需要的是恒心和毅力。这次移植过程是

先在原来的ununtu16.04上进行安装 ,出现名种错误无法解决,光ROS full安装就进行了5次,历时大约5小时。

其次在 vmware 上安装 ubuntu18.04, 居然黑屏,虚拟机不识别主机的显卡,于是各种重启,各种下载ubuntu, 一度甚至想进行双系统,历时4小时。

最后,在 Virtual Box 安装虚拟机,安装ubuntu 成功后,再进行 ROS 安装 ,最后再编译运行。每一步都有错误。历时大约5小时。

本次安装共进行了1整天,安装时要求网络好,电脑够快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

智能汽车竞赛室外光电 组 1 安装ROS软件平台和运行第一个程序 的相关文章

随机推荐

  • 和小伙伴们一起学Unity3D(四)角色移动之Transform

    经过前三章的介绍 我们终于搞定了游戏界面 从本章开始 我将带大家创造游戏世界 作为一个游戏爱好者 最熟悉的莫过于WASD键 它控制着人物行走 带我们认识游戏世界 那么在Unity3D中我们如何控制人物行走移动呢 本章目标 使用Transfo
  • RJ45网口座子上的LED接法详解

    搞硬件的朋友 经常免不了会用到RJ45网口座子 但是你会发现在许多参考设计中 RJ45上的LED接线方式经常各不相同 许多朋友可能并不是很在意这个 认为只要网络通了就行 此外在进行物料替换的时候 通常也只是关注4对差分信号的连接方式 并不怎
  • 2023华为OD机试真题【补种未成活胡杨】

    题目内容 近些年来 我国防沙治沙取得显著成果 某沙漠新种植N棵胡杨 编号1 N 排成一排 一个月后 有M棵胡杨未能成活 现可补种胡杨K棵 请问如何补种 只能补种 不能新种 可以得到最多的连续胡杨树 输入描述 N 总种植数量 M 未成活胡杨数
  • web自动化测试从安装到实战(全)

    1 什么是Web自动化测试 让程序代替人工自动验证web项目功能的过程 预期结果和实际结果的比较 2 为什么要在做Web自动化测试 在较少的时间内运行更多和测试用例 脚本可重复执行 减少人为的错误 克服手工测试的局限 3 在什么场景下适合做
  • XCode 编译ffmpeg

    环境 macOS10 13 3 Xcode9 4 1 FFmpeg4 0 2 准备 brew install sdl2 brew命令如果出错 要能是版本问题 可按以下命令卸载后 重新安装brew usr bin ruby e curl fs
  • git分支切换

    在git中 可利用checkout命令转换分支 该命令的作用就是切换分支或恢复工作树文件 语法为 git checkout 分支名 当参数设置为 b 时 可以在新分支创建的同时切换分支 语法为 git checkout b 分支名 本文操作
  • 计及源-荷双重不确定性的虚拟电厂/微网日前随机优化调度

    目录 1主要内容 1 1 场景生成及缩减 1 2 随机优化调度 2 程序链接 1主要内容 程序主要做的是一个虚拟电厂或者微网单元的日前优化调度模型 考虑了光伏出力和负荷功率的双重不确定性 采用随机规划法处理不确定性变量 构建了虚拟电厂随机优
  • 计算机端口详解(总结)

    计算机端口详解 总结 https blog csdn net qq 17204441 article details 89063083 0x00 什么是端口 0x01 端口的分类 0x02 端口在入侵中的作用 0x03 端口的相关工具 0x
  • 第十届蓝桥杯 JavaA 迷宫

    第十届蓝桥杯 JavaA 迷宫 法一 思路 bfs path记录路径 1 编程https www cnblogs com woxiaosade p 10592061 html 2 观察https www cnblogs com yzm10
  • Hypertable 和 chunk 超表和块

    文档 https docs timescale com v0 9 introduction architecture 概述 TimescaleDB作为PostgreSQL的扩展实现 这意味着Timescale数据库在整个PostgreSQL
  • selenium+chormdriver+python 实现淘宝的信息爬取

    因为我是个爬虫新手 所以对爬虫还不熟练 这几天想着自己做一个淘宝信息的自动爬取 一开始感觉比较简单 但做到了登录界面 发现一直被网站检测出来 不能滑动滑块 接下来从网上翻遍了资料 整理了以下自己的代码 完成了这个艰难的工程 嘻嘻 对我来说
  • Rsync远程同步

    rsync rsync Remote Sync 远程同步 是一个开源的快速备份工具 可以在不同主机之间镜像同步整个目录树 支持增量备份 并保持链接和权限 且采用优化的同步算法 传输前执行压缩 因此非常适用于异地备份 镜像服务器等应用 rsy
  • MFC中设置焦点

    初次接触MFC 实现填完一系列表单后继续添加另外一张 并且将焦点设置为第一张初次填写时的焦点 可能就是指第一个获取焦点的控件 用 SetFocus m hWnd 实现重置表单的功能 UpdateData FALSE 更新数据时是 Updat
  • 【Docker】Docker的使用案例以及未来发展、Docker Hub 服务、环境安全的详细讲解

    Docker的工具实践及root概念和Docker容器安全性设置 1 使用案例 2 Docker解决的问题 3 Docker未来发展 4 Docker Hub 服务 5 技术局限 6 Docker环境安全 7 容器部署安全 1 使用案例 D
  • 希腊字母发音对照表及其latex命令

    拉丁字母是26个 希腊 Greek 字母是24个 发音即是它们各自的latex形式 大写字母的是其小写latex首字母大写后的形式 如 Delta Delta notation 西方的数学家们在推导数学定理时 仍然沿用并不好写也不好记的希腊
  • ArcGIS 文本数字写入csv文件后小数点位数减少

    在将经纬度数据写入csv文件的过程中 经度和纬度都是以小数点后保留4为小数的字符串形式存储的 但是在转成csv文件后 打开发现小数点位数缺失了 如图 在网上找了好久也没有找到解决办法 大部分都是解决文本数字过长导致以有效数字形式显示的问题
  • 如何有效的防护DDoS攻击

    DDoS攻击的类型和方法 分布式拒绝服务攻击 简称DDoS 是一种协同攻击 旨在使受害者的资源无法使用 它可以由一个黑客组织协同行动 也可以借助连接到互联网的多个受破坏设备来执行 这些在攻击者控制下的设备通常称为僵尸网络 有多种执行DDoS
  • stm32通用外部spi下载算法实现

    参考硬汉嵌入式 实战技能 任何支持SWD接口的单片机都可以方便移植的SPI Flash烧写算法制作 哔哩哔哩 bilibili 该up主提供的stm32H7的模板工程 目前需求是实现基于正点原子探索者stm32f407zet6 W25Q12
  • SpringMVC上传文件的 4 种方式,你都会么?

    1 本文内容 文件上传开发步骤 单文件上传 多文件上传 通过 MultipartHttpServletRequest 处理文件上传 通过自定义对象接收上传的文件 扩展知识 案例代码 2 预备知识 springmvc 系列中的测试案例 基本上
  • 智能汽车竞赛室外光电 组 1 安装ROS软件平台和运行第一个程序

    机器人操作系统 ROS 对机器人进行编程以使其完全符合在工业环境中的要求 它的工具 库和共享的开放资源 允许开发人员协同工作 利用现有工作的优势 简化和加快创建机器人行为的过程 ROS得到了一个庞大的全球社区的支持 其邮件列表 Wiki和R