ROS2GO使用时ROS_IP和YOLO检测过程中NVIDIA CUDA报错问题汇总

如果执行 roslaunch tutorial_gazebo sim_craic2025.launch 出现报错如下:
[WARN] [1779163348.719898749]: invalid ROS_IP (an empty string) [WARN] [1779163348.809573208]: invalid ROS_IP (an empty string)[INFO] [1779163353.672153, 0.000000]: Calling service /gazebo/spawn_sdf_model [ERROR] [1779163353.678935282, 139.932000000]: couldn’t resolve publisher host [] [ERROR] [1779163353.699815102, 139.952000000]: couldn’t resolve publisher host [] [ERROR] [1779163353.720450777, 139.972000000]: couldn’t resolve publisher host
解决办法:

办法1:联网,使用网络IP,但是断网就会崩。

办法2(推荐):打开终端执行:nano ~/.bashrc 在末尾添加 export ROS_IP=127.0.0.1

或者(推荐)修改 export ROS_IP=$__IP 为:

if [ -n “$__IP” ]; then

export ROS_IP=$__IP

else

export ROS_IP=127.0.0.1

fi
然后终端执行:source ~/.bashrc或者打开新终端

办法3:终端输入 export ROS_IP=127.0.0.1 或者 export ROS_HOSTNAME=localhost 然后在该终端执行roslaunch tutorial_gazebo sim_craic2025.launch等指令。

如果执行roslaunch tutorial_all run_craic2025_task.launch 出现报错如下:

AssertionError: Invalid CUDA ‘–device 0’ requested, use ‘–device cpu’ or pass valid CUDA device(s)

终端输入nvidia-smi 如果并未找到该指令,则说明显卡驱动并未安装,需要安装显卡驱动。

方法1:更新显卡驱动,更新CUDA。因为步骤繁琐,不同显卡适配的驱动版本和预安装的版本依赖环境冲突,所以建议自己搜索相关教程处理,跟新完之后别忘记跟新cuda。需要提醒的是,可以更换ROS2GO启动的内核版本,但是不能删除名为7.0-ros2go的系统内核。

方法2:打开/home/tianbot/catkin_ws/src/tutorials/tutorial_vision/launch/yolov5.launch

修改其中的arg name=”device” default=”device 0″ 为:arg name=”device” default=”cpu”