在~Firmware下面用roslaunch 启动launch 报错,如下
$ roslaunch px4 mavros_posix_sitl.launch
报错[ERROR] [1658284290,546891096]:udp0: sendto:Invalid argument
![](http://image109.360doc.cn/DownloadImg/2023/05/1622/266084030_6_20230516101423494.png)
找了很多博客都没有找到相应解决方式,自己也是小白就很一头雾水,偶然看到了一篇博客((1条消息) udp调用sendmsg报错Invalid argument_linux_c_coding_man的博客-CSDN博客)写了相似报错,起初看了看不明白以为又是没找对问题重点。直到今天认真看了一遍才发现,是mavros_posix_sitl.launch这个launch文件中udp设置的问题。
故将udp那一行修改为:
<arg name="fcu_url" default="udp://:14551@localhost:14555"/>
把原来的127.0.0.1改为localhost
![](http://image109.360doc.cn/DownloadImg/2023/05/1622/266084030_7_20230516101423619.png)
改成功后就可以运行啦!
原因可能是
配置环境变量时export ROS_HOSTNAME=localhost
而该launch中用的是127.0.0.1
将launch文件中地址与/.bashrc 中一致。