背景:
在树莓派上安装了ubuntu20.04,并准备在其上安装ros。
可以看到,每个ubuntu版本对应的ros版本是不同的,ubuntu20.04对应的是Noetic Ninjemys版本。版本不对应不能安装。
一、安装程序
添加ros官方源,并添加密钥
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-noetic-desktop-full
官方源速度非常慢,耐心等待。
2021年12月25日更新方法,将服务器更换为中国科技大学
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
二、初始化ros
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
服务器一般链接不上,自己考虑解决办法或者修改hosts
#修改host参考了这个https://blog.csdn.net/qq_23204557/article/details/105934126
#已及https://zhuanlan.zhihu.com/p/75994966?utm_source=wechat_session
#https://zhuanlan.zhihu.com/p/364476656
#https://blog.csdn.net/lyk_ffl/article/details/105712195
三、运行例子
需要三个终端同时运行
#打开第一个终端
roscore
#打开第二个终端
rosrun turtlesim turtlesim_node
#打开第三个终端
rosrun turtlesim turtle_teleop_key
可以使用上下左右控制小乌龟,例子运行成功。
故障清除:
#echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
#source ~/.bashrc
#sudo apt install ros-noetic-rosbash
#https://blog.csdn.net/qq_33973712/article/details/108226729
经查询,发现只有在同一个终端执行source devel/setup.bash 与rosrun 命令时,才能成功运行(即source只在自己的cmd生效),不能另外开一个新终端。而且如果我们要新开另一个节点,也需要重新用source指令配置环境。
所以解决方法有两个:
source 和 rosrun在同一个终端执行
运行
sudo gedit ~/.bashrc
在最后添加:
source /home/cxj/catkin_ws/devel/setup.bash
或
echo "source /home/cxj/catkin_ws/devel/setup.bash" >> ~/.bashrc
原文链接:https://www.cnblogs.com/angbors/p/15125976.html