ubantu20.04下配置ROS环境出现的一些问题以及解决方案

ubantu20.04下配置ROS环境出现的一些问题以及解决方案

因为自己配置的环境并不尽如人意,在处理包的依赖关系时有一些包在使用了厂家提供的处理方法后也无法处理好,故使用厂家提供的已经完成ros开发环境配置的ubuntu 20.04镜像系统文件。

运行该虚拟机时发现三点问题:

问题1:该虚拟机在物理主机连接wifi且能上网的情况下无法连接互联网
问题2:该虚拟机在运行指令roscore时出现了如下的报错信息

Value error: invalid master URI: http://:11311
The traceback for the exception was written to the log file

问题3:该虚拟机在桌面打开终端时,界面顶部有如下字样:
问题字样

问题解决

在查阅冰达机器人提供的文档过程中得知了虚拟机密码,在一次sudo并输入密码后问题三的顶部报错信息发生了变化:
ubantu20.04下配置ROS环境出现的一些问题以及解决方案_第1张图片

得知密码后,我们执行了

sudo rosdep init
rosdep update

运行结果为:

ERROR: cannot download default sources list from:
https://ghproxy.com/raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

可知该虚拟机仍处于未init的状态。
但是出现了一个很奇怪的现象,当我在~/catkin_ws目录下,在终端键入命令rosdep check --from-path src,而相应的输出则是:

All system dependencies have been satisfied
ERROR[robot_navigation]: Cannot locate rosdep definition for [cartographer_ros]
	rosdep key : cartographer_ros
	OS name    : ubuntu
	OS version : focal
	Data:
<no data>

而按照厂家所给的资料看,至少目前所有包的依赖关系都已经被满足了。
ubantu20.04下配置ROS环境出现的一些问题以及解决方案_第2张图片

那么让我们回到开头那个报错信息去考虑是哪里有问题导致了我们的roscore指令无法执行。

尝试根据

https://blog.csdn.net/xiaodingqq/article/details/87690563?ops_request_misc=&request_id=&biz_id=102&utm_term=Value%20error:%20invalid%20master%20UR&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-87690563.142^v58^js_top,201^v3^add_ask&spm=1018.2226.3001.4187

给出的方案解决,并且多次修改相关环境变量,然而还是一直报错…
最终尝试在工作目录catkin_ws下重新进行了一次catkin_make,终于…报错信息变了:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kt1A30PU-1666013893326)(p4.png)]
事情看起来在向好的方向转变!

好吧我错了orz,其实按照上面贴出来的博文,通过gedit ~/.bashrc进入文件并修改环境变量并进行catkin_make就ok了,上面最近一张的报错信息是因为我受其他博文的影响将本应当改为localhost的字段改为了bingda亦即本机的名称,现在已经可以运行roscore了


那么接下来我们就来处理这台虚拟机无法联网的问题吧。
这里是解决方案

https://blog.csdn.net/jiesunliu3215/article/details/125021892?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166601345216781432974332%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166601345216781432974332&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-125021892-null-null.142^v58^js_top,201^v3^add_ask&utm_term=ubuntu%E6%97%A0%E6%B3%95%E8%81%94%E7%BD%91&spm=1018.2226.3001.4187

但是我还是想试试在接通网络之后,我们的roscore指令是否能够正常跑起来。
键入后我们得到如下结果:

... logging to /home/bingda/.ros/log/69210680-4e20-11ed-a3ba-3d17dbe6b03e/roslaunch-ubuntu-7938.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://localhost:42901/
ros_comm version 1.15.14


SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.14

NODES

auto-starting new master
process[master]: started with pid [7946]
ROS_MASTER_URI=http://localhost:11311/

setting /run_id to 69210680-4e20-11ed-a3ba-3d17dbe6b03e
process[rosout-1]: started with pid [7956]
started core service [/rosout]

显然,这告诉我们已经没有任何问题地运行了roscore!
但是问题三是因为虚拟机出现了什么问题抑或是我多虑了,这我还不清楚,也没有检索到相关的文章,期待有人可以给我一个答案。
唉,前后折腾了快一天多终于把这个环境给配完了…

你可能感兴趣的:(ubuntu,linux)