我想用Raspberry Pi 3开发板和ROS Kinetic控制自主机器人。 Pi 3将连接到另一台用于监视和控制设置的Linux PC。电脑的设置在这里 文章.
由于缺乏处理器和内存方面的Pi资源,我’m被迫更有效地利用资源。第一步是在Pi上安装Raspbian Stretch Lite之类的操作系统。通过类型命令与该系统进行交互。它没有’桌面版随附GUI和其他软件。从理论上讲,如果您不想给Pi板增加太多不必要的任务,这是一个完美的操作系统。
当PC为从机时,系统将使用Raspberry Pi板作为主机。此配置意味着在机器人上而不是在远程PC上运行Roscore。 PC用于查看来自Pi的消息或将一些手动更正发送回机器人。
我在Raspbian Stretch Lite上没有安装GUI工具的情况下安装了ROS Kinetic版本,并在下面做了所有步骤。
- 步骤1:下载并安装Raspbian Stretch Lite
描述了Raspberry Lite的安装步骤 这里. - 步骤2:通过SSH连接到Pi,然后运行以下命令:
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
wget http://packages.ros.org/ros.key -O – | sudo apt-key add –
sudo apt-get更新
须藤apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
须藤apt install dirmngr
sudo rosdep初始化
rosdep更新
rosinstall_generator ros_comm–rosdistro kinetic –deps –wet-only –tar > dynamic-ros_comm-wet.rosinstall
wstool init src dynamic-ros_comm-wet.rosinstall
rosdep安装 -y –from-paths src –ignore-src –rosdistro动力学–os=debian:stretch
须藤./src/catkin/bin/catkin_make_isolated–安装-DCMAKE_BUILD_TYPE =发布–安装空间/ opt / ros / kinetic -j1
(感谢CaJU和Bruce W)
来源/opt/ros/kinetic/setup.bash
回声‘来源/opt/ros/kinetic/setup.bash’ >> ~/.bashrc
mkdir -p〜/ catkin_workspace / src
cd catkin_workspace / src
catkin_init_workspace
cd〜/ catkin_workspace /
catkin_make
源〜/ catkin_workspace / devel / setup.bash
回声‘源〜/ catkin_workspace / devel / setup.bash’ >> ~/.bashrc
出口| grep ROS
- 步骤3(可选): 安装过程需要几个小时,我真诚地’不想过早重复安装。我决定在完成初始安装后立即克隆存储卡。 这里 是克隆存储卡所需的步骤。
使用以下命令时,我的Raspberry Pi冻结了:
须藤./src/catkin/bin/catkin_make_isolated–安装-DCMAKE_BUILD_TYPE =发布–安装空间/ opt / ros / kinetic -j2
特别是在安装“roscpp” package.
嗨!也许您可以尝试删除“-j2”在命令末尾。它被编写为在两个线程中运行命令,这是更快的方法,但是有时树莓在多个线程中执行命令时会遇到问题。
在我身上,如果你不这样做’t显式设置为单核,它使用4个核。所以用“-j1” instead of “-j2”在命令末尾。
I’您还可以通过将交换空间增加到2GB来解决此问题。我都做了,但是不需要交换空间。使用2个内核,内存使用率上升到100%。一世’ve read that’s由于死锁正在等待内存。
所以我’ve spent the past few weeks trying to research how to get ROS Melodic on a 树莓派 3 B+ with Raspbian Lite (Stretch). It seems following your instructions 和 replacing
kinetic
withmelodic
actually did the trick!你好
我正在执行上述步骤。
但是我跑步后‘wstool init src dynamic-ros_comm-wet.rosinstall’,我无法克服失败的命运。
您能提出解决办法吗?
安装期间捕获到异常:错误处理‘genmsg’:[genmsg]结帐 //github.com/ros-gbp/genmsg-release/archive/release/kinetic/genmsg/0.5.11-0.tar.gz ms-release-release-kinetic-genmsg-0.5.11-0版本到/ home / pi / src / ms失败。
错误处理‘ros_comm/rosmaster’:[ros_comm / rosmaster]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmaster/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmaster-1.12.14-0到/ home / pi / src / ros_comm / rosmaster的版本失败。
错误处理‘ros_comm/rosmsg’:[ros_comm / rosmsg]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmsg/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmsg-1.12.14-0到/ home / pi / src / ros_comm / rosmsg的版本失败。
错误处理‘ros_comm/roswtf’:[ros_comm / roswtf]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/roswtf/1.12.14-0.tar.gz ros_comm-release-release-kinetic-roswtf-1.12.14-0到/ home / pi / src / ros_comm / roswtf的版本失败。
ERROR in config: 错误处理‘genmsg’:[genmsg]结帐 //github.com/ros-gbp/genmsg-release/archive/release/kinetic/genmsg/0.5.11-0.tar.gz ms-release-release-kinetic-genmsg-0.5.11-0版本到/ home / pi / src / ms失败。
错误处理‘ros_comm/rosmaster’:[ros_comm / rosmaster]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmaster/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmaster-1.12.14-0到/ home / pi / src / ros_comm / rosmaster的版本失败。
错误处理‘ros_comm/rosmsg’:[ros_comm / rosmsg]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmsg/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmsg-1.12.14-0到/ home / pi / src / ros_comm / rosmsg的版本失败。
错误处理‘ros_comm/roswtf’:[ros_comm / roswtf]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/roswtf/1.12.14-0.tar.gz ros_comm-release-release-kinetic-roswtf-1.12.14-0到/ home / pi / src / ros_comm / roswtf的版本失败。
提前致谢
我有同样的问题。
github存储库的名称不匹配。
删除每个版本的最终版本号“version:” line in “dynamic-ros_comm-wet.rosinstall”给您错误的文件。
删除src文件夹(rm -r src),然后再次执行:
“wstool init src dynamic-ros_comm-wet.rosinstall”
那解决了我的问题。
我已经在github中编辑了文件,但是它是用于旋律分发的。
//github.com/5haggy/ROS/blob/master/melodic-ros_comm-wet.rosinstall
Argh快结束了!一世’我试图在运行Stretch Lite的RPi3上安装ROS,但是在运行时‘rosdep install’(第10条命令)我收到一个错误,某些软件包/堆栈无法将其rosdep密钥解析为系统依赖项,例如:
genlisp:对于操作系统[debian],[genmsg]均未定义
rosbag:对于操作系统[debian]没有[roscpp]的定义
rostest:对于操作系统[debian],[rosmaster]没有定义
随后,由于缺少软件包,此后的命令给出了错误。有什么建议吗?
有人看到凉亭有问题吗?尝试使用raspbian在debian buster上运行此命令,它给出了错误。