Ubuntu20.04配置ros-neotic防踩雷顺序流程

按照本人配置顺序进行:

关于语言选择

此前安装过英文版,但是发现英文版对中文很不友好,尤其是在字体上,很奇怪。输入法也怎么都安装不了搜狗。
现在选了中文(至于为什么重装,是因为我安装某中文字体失败误删了gdm3以及相关配置文件)搜狗轻松装了,显示正常,甚至以前触控板不能用(不知道为什么)现在都可以了。

关于安装分区

我有100个G的空间给Ubuntu
大致分配如下 :

  • EFI 500M 逻辑分区
  • swap 15G(和物理内存容量一样)
  • \ 40G 主分区
  • \usr 剩下的 (感觉这个可有可无 无非是安全性考虑?)逻辑分区
  • 启动挂载在EFI分区
  • 可以考虑再单挂opt

关于其他选项,能简则简,因为官网的源下载较慢

关于换镜像源

第一件事就是换源

备份

sudo cp /etc/apt/sources.list /etc/apt/sources_init.list

换源

sudo gedit /etc/apt/sources.list

其他方法比如先删除这个文件 然后vi souces.list也是可以的

内容如下

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

更新地址

sudo apt-get update

更新软件

sudo apt-get upgrade

如果缺少依赖

sudo apt-get -f install

安装ros

清华源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.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

安装

sudo apt install ros-noetic-desktop-full

运行rosdep、roscore等

sudo rosdep init

这个讲道理一直不怎么行 我按照网上安装了rospack-tool好像也没用,挖坑

roscore

你会发现这个也不行
其实是因为还没配置过环境变量:

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

ros在跑的过程中应该还少一个controller ,用来控制小车运动,但不知道是哪个
于是就如下方法安装

sudo apt-get install ros*controller*

但是被提示

下列软件包有未满足的依赖关系: ros-noetic-mesh-controller : 依赖: ros-noetic-mbf-mesh-core 但是它将不会被安装 依赖: ros-noetic-mesh-map 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间依赖

网上有解答说是更换apt-get为aptitude等因为它的包依赖不太准确
我在此之前安装了dep

sudo apt install python3-rosdep2 -y

再次运行上面那个命令,莫名其妙就可以了…但愿可以

关于python问题

似乎Ubuntu20默认安装了python3,但没有建立python的link,导致我使用eletron-ssr的时候一直说没找到python3,基于我以后基本上都用python3了,就都设置了一遍

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 #优先级为2
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 #优先级为1

(此前我apt install python2.7)
这是绑定一下python这个命令的目录,防止输入python,返回未找到命令。
之后可以用这句设置:

$ sudo update-alternatives --config python

还有一招设置默认python为3的方法:

echo alias python=python3 >> ~/.bashrc
source ~/.bashrc

这是吧python命令等同于python3命令,但在.py 文件里如果写了

#!/usr/bin/python

似乎就找不到对应python版本了,所以还是要像上面那样link一下

ros一些新操作

rosrun和rosbash

新版ros安装以上需要以下代码

sudo apt-get install ros-noetic-rosbash

而不是

sudo apt-get install rosbash

不然依赖会全部乱掉

tf

新版安装如下(但这个是官方的吗?)

sudo apt install ros-noetic-tf2-tools

运行如下

rosrun tf2_tools view_frames.py
rosrun tf2_tools echo.py turtle1 turtle2

否则tf第一代因为是基于python2写的可能会跑不了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ROS1和ROS2是机器人操作系统(Robot Operating System)的两个版本。ROS1是第一个版本,而ROS2是其后续版本。 ROS1是一个开源的机器人软件平台,它提供了一系列工具和库,用于帮助开发者构建机器人应用程序。ROS1使用的通信协议是基于TCP/IP的XML-RPC,它的节点通信是通过中心化的ROS Master进行的。 而ROS2是ROS1的下一代版本,它在架构上进行了一些改进。最显著的改变是ROS2采用了基于数据分发的通信协议,即DDS(Data Distribution Service)。这种通信协议具有更高的性能和可靠性,并支持节点之间的直接通信,不再需要ROS Master的中心化管理。 由于ROS2具有更好的通信和节点去中心化的优点,许多团队和公司选择将他们的代码从ROS1移植到ROS2。在移植过程中,需要根据ROS2的新特性和架构进行相应的修改和调整。有一些学习教程和资料可以帮助开发者学习和使用ROS2,比如鱼香ROS的B站教学视频、ROS2官方文档、创客制造ROS2教程等。此外,还有一些关于ROS1代码向ROS2移植的技巧和指南可以参考。 总结来说,ROS1和ROS2都是机器人操作系统的版本,ROS2在通信和架构上进行了改进,具有更好的性能和可靠性。许多团队和公司选择将他们的代码从ROS1移植到ROS2,并有一些学习教程和资料可以帮助开发者学习和使用ROS2。 #### 引用[.reference_title] - *1* [ROS2系列(03):ROS1和ROS2的区别【01/2】](https://blog.csdn.net/gongdiwudu/article/details/125651436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ROS1代码向ROS2移植](https://blog.csdn.net/weixin_44001261/article/details/123970088)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧易风船长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值