我喜欢制作一个机器人,它有一台基于 ARM 的计算机(如 raspberry pi)和 Linux 操作系统。我喜欢当用户打开机器人时,机器人运行它的特定程序(我用 C 语言编写的),而不是运行通用桌面 Linux!
例如,当机器人打开时,它会在显示屏上显示“你好!”,向用户打招呼,移动他的手等等(我的意思是只运行我为它指定的程序)
我怎样才能做到这一点?
答案1
如果您只是想要在树莓派上使用轻量级操作系统(没有桌面环境),那么只需使用“Raspbian Jessie Lite”而不是完整版。
如果你对自己的编程技能很有信心,并且不需要操作系统的任何东西,你可以在你编写的一个程序中满足你所有的需求,那么你可以通过更改 GRUB 初始化字符串来替换由 Linux 内核启动的第一个程序init=/path/to/init_program
(确保你阅读系统初始化)
如果你只是想要(我猜这正是你想要的),只需告诉操作系统在 Raspberry Pi 上自动启动你的程序,然后创建或编辑你的rc.local
sudo nano /etc/rc.local
并在那里添加你的程序。(确保你阅读了官方文档中的所有内容,了解如何正确地执行此操作https://www.raspberrypi.org/documentation/linux/usage/rc-local.md)
答案2
ROS(机器人操作系统)是一组软件库和工具,可帮助开发人员从另一个操作系统(例如 Ubuntu)内部构建机器人应用程序。ROS 提供硬件抽象、设备驱动程序、库、可视化工具、消息传递、包管理等。
每年 5 月都会发布一个 ROS 版本。每个 ROS 版本都只支持一个 Ubuntu LTS。即使 ROS 版本仍受支持,ROS 版本也将不再支持 EOL(生命周期结束)Ubuntu 发行版。ROS Kinetic 版本目前仅支持 Ubuntu 16.04。
您需要在进行开发的计算机上安装完整的 Ubuntu 桌面,而在基于 ARM 的计算机(Raspberry Pi)上,您应该安装一个更小的操作系统,如 Ubuntu Core。Raspberry Pi 2 和 Raspberry Pi 3 有官方版本的 Ubuntu Core。
Ubuntu 16.04 中的 ROS Kinetic 安装
配置您的 Ubuntu 存储库以允许“受限”、“宇宙”和“多元宇宙”。
运行以下命令:
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://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116 sudo apt update
选择四个默认 ROS 配置之一。
sudo apt install ros-kinetic-desktop-full # full desktop sudo apt install ros-kinetic-desktop # desktop install sudo apt install ros-kinetic-ros-base # no GUI sudo apt install ros-kinetic-PACKAGE # individual package installation
要查找可用的软件包,请使用:,
apt-cache search ros-kinetic
然后用以下方法找到的可用软件包之一PACKAGE
替换ros-kinetic-PACKAGE
apt-cache search ros-kinetic
初始化
rosdep
。rosdep
使您能够轻松地安装您想要编译的源的系统依赖项,并且需要在 ROS 中运行一些核心组件。sudo rosdep init rosdep update
环境设置
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc
Get
rosinstall
.rosinstall
使您能够使用一个命令轻松下载 ROS 包的许多源代码树。sudo apt install python-rosinstall
要测试您的安装,请访问官方ROS 教程。
Ubuntu 18.04 中的 ROS Melodic 安装
配置您的 Ubuntu 存储库以允许“受限”、“宇宙”和“多元宇宙”。
运行以下命令:
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://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt update
选择四个默认 ROS 配置之一。
sudo apt install ros-melodic-desktop-full # full desktop sudo apt install ros-melodic-desktop # desktop install sudo apt install ros-melodic-ros-base # no GUI sudo apt install ros-melodic-PACKAGE # individual package installation
要查找可用的软件包,请使用:,
apt-cache search ros-melodic
然后用以下方法找到的可用软件包之一PACKAGE
替换ros-melodic-PACKAGE
apt-cache search ros-melodic
初始化
rosdep
。rosdep
使您能够轻松地安装您想要编译的源的系统依赖项,并且需要在 ROS 中运行一些核心组件。sudo rosdep init rosdep update
环境设置
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
Get
rosinstall
.rosinstall
使您能够使用一个命令轻松下载 ROS 包的许多源代码树。sudo apt install python-rosinstall-generator python-wstool build-essential
要测试您的安装,请访问官方ROS 教程。