盘点那些ubuntu20.04部署ros2时遇到的坑(一)

1.apt下载慢

解决方法:换阿里源

步骤:左下角“显示应用程序”——“软件和更新”——下载自,选择其他站点——选择如下图的阿里源

2.pip下载慢

解决方法:换阿里源

步骤:

1.在home下创建.pip文件夹,并创建pip.conf空白文件

sudo mkdir ~/.pip
cd ~/.pip
>pip.conf

2.以下内容写入pip.conf,保存退出

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

3.rosdep依赖项安装提示“given path 'src' does not exist”

可能会遇到如下情况:

是因为cd错文件夹了,需要在ros_proxy或其他版本的代码所在文件夹下执行bash即可

4."colcon build --symlink-install"编译失败

如下图所示,编译过程会遇到各种demo缺少依赖的问题(名字非固定,但博主遇到的编译不过的demo都是和OpenCV有关的)。

.

参考官方文档linux_ubuntu部署ros2

采取了忽略该demo的问题(若不忽略,需要安装该demo的依赖库),可以

①在该demo所在文件夹下新建“AMENT_IGNORE”文件

②命令行中进行忽略,输入“colcon build --symlink-install --packages-ignore intra_process_demo”即可忽略(即使后续有其他demo导致失败,下次编译亦不会编译该demo)

5.虚拟机和主机运行各自运行ros2的发布——订阅demo(一个运行talker,一个运行listener),听者不能收到消息

这里是适配器的原因,博主这里参考百度经验:

首先选择虚拟机网络适配器为自定义虚拟网络VMnet0(或其他可选数字)

之后通过VMware“编辑”选项卡下的“虚拟网络编辑器”中对VMnet0进行配置(管理员)

之后选择桥接至“自动”即可(最好是配置到...Ethernet Connection...,即连接网线的网卡上)

另外的,如果还是存在不能ping通的问题,博主遇到的是:配置虚拟机时将“ROS_DOMAIN_ID”配置成1了(而主机默认为0),导致两者不在同一个域ID下,自然不能通信,以下是正确配置后的demo运行截图:

猜你喜欢

转载自blog.csdn.net/qq_23958061/article/details/111208620
今日推荐