Manjaro Archlinux 安装ros noetic (非docker版)

先放一张成功的图片:

这里先建议一下,最好是刚刚装完的系统,比如刚安装完的manjaro(需要AUR源和PARU) 

在这个之前,千万不要改源!!!也不要安装archlinux-cn!!!!!!! 

在这个之前,千万不要改源!!!也不要安装archlinux-cn!!!!!!! 

在这个之前,千万不要改源!!!也不要安装archlinux-cn!!!!!!! 

否则系统yay paru可能会找不到ros-noetic-desktop-full在这个源!

前期准备:

安装yay

sudo pacman -Syyu
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

安装paru 

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

或者
yay -S paru

安装proxychains-ng(因为需要终端访问GitHub,这个是必须的,不然编译和下源码都gg)

sudo pacman -S proxychains-ng

在 /etc/proxychains.conf里修改sock的配置,一般是这样:

socks5        127.0.0.1:1080

安装tiiiziiii(这个自己随意了~) 


安装

ROS noetic AUR packages · GitHub

喝水不忘挖井人,感谢大佬的付出~

正式开始安装

proxychains4 paru -S ros-noetic-desktop-full

一路默认即可,如果报错下不下来某个包,就点开该链接,会跳转到AUR的网页,有一个git clone的代码 (比如报链接443错误,或者报没有这个包,都可以点对应的url下载下来放到下面的目录里,然后重新运行 proxychains4 paru -S ros-noetic-desktop-full),可能会报很多个包找不到,大概10~20个吧,要手动下下来。

cd /home/${USER}/.cache/paru/clone

在这里你会看到一堆ros-noetic的包,这是刚刚下载下来的,你要做的就是在这个目录把东西git clone进去,我现在找不到那个错误了,因为已经编完了。

然后全部下完以后就可以进行编译,如果编译的时候python报错,那就报什么错就sudo pip3 uninstall 什么库,比如这个

直接删除该pkg

sudo pip3 uninstall catkin_pkg

 一直安装下去之后进入编译,大概半个小时,到了编译qt的时候会要求输入用户密码(因为和manjaro默认安装的qt有冲突,需要重新安装),等系统编译完成就可以啦~

然后直接把noetic写到zsh里

vim ~/.zshrc
source /opt/ros/noetic/setup.zsh

如果中间有报libboost-date-1.78.so的错误的话,可以看github上对应的issue,这个一般是你之前有个包没有下下来,然后系统跳过了这个包去编译下面的包,就会出现有的包用libboost1.79有的包是1.78,而且你重新proxychains4 paru -S ros-noetic-desktop-full是没有用的

Build failed. No rule to make target '/usr/lib/libboost_date_time.so.1.78.0'. · Issue #39 · ros-noetic-arch/ros-noetic-desktop-full · GitHub

编译完ros以后要注意系统内核的升级,不要动到影响ros的库,比如qt, boost等等,所以建议滚动版升级要慎重!!!! 


在昨天调用velodyne的urdf模型的时候,报错/usr/include/c++/12.1.0/bits/random.h:1995: std::normal_distribution<_RealType>::param_type::param_type(_RealType, _RealType) [with _RealType = double]: Assertion '_M_stddev > _RealType(0)' failed.

我查证了一番,是这个部分报错,也就是生成均值为0,方差为1的高斯噪声报错。 

发现是c++会检查stddev <= 0 is undefined behavior. 所以stddev不能为0,我们得取一个很小的数值,比如, <stddev>0.0000001</stddev>,把urdf或者xacro里对应高斯噪声部分的方差修改一下,可以运行了,没有问题。 这个是archlinux的通病好像,目前github上遇到这个问题的都是arch

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Manjaro中安装ROS(机器人操作系统)的步骤如下: 1. 首先,确保您的Manjaro系统是最新的。您可以打开终端并运行以下命令来更新系统: ``` sudo pacman -Syu ``` 2. 接下来,添加ROS存储库。打开终端并执行以下命令: ``` sudo vim /etc/pacman.conf ``` 在文件中找到 `[archlinuxfr]` 部分,并在其下方添加以下行: ``` Server = http://repo.ros.org/archlinux/$arch ``` 保存并关闭文件。 3. 然后,导入ROS密钥。在终端中执行以下命令: ``` sudo pacman-key --recv-key 0xB01FA116 sudo pacman-key --lsign-key 0xB01FA116 ``` 4. 现在更新软件包列表并安装ROS。运行以下命令: ``` sudo pacman -Sy sudo pacman -S ros-melodic-desktop ``` 这将安装ROS Melodic本,您也可以根据需要选择其他本。 5. 安装完成后,需要初始化ROS环境。运行以下命令: ``` echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 6. 随后,安装ROS依赖项。执行以下命令: ``` sudo rosdep init rosdep update ``` 7. 最后,为您的工作区设置ROS环境。使用以下命令创建一个新的工作区(如果还没有): ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 完成后,您可以将自己的ROS包和软件添加到`~/catkin_ws/src`目录中,并使用`catkin_make`命令进行构建。 现在您已经成功在Manjaro中安装ROS。您可以通过运行`roscore`命令来启动ROS核心,并使用其他ROS命令和功能进行机器人开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LZZ and MYY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值