代码拉取完成,页面将自动刷新
机器人操作系统 ROS (Robots Operating System) 最早是斯坦福大学的一个软件框架,现在不管是工业机器人,还是娱乐用的机器人都运行着 ROS。
一个机器人通常有很多个部件、传感器,为了保证机器人不会因为某一个传感器故障,导致整个系统瘫痪,所以采用了分布式的节点,利用不同节点之间的通讯收集传感器数据和控制指令,这篇文档后面会使用到的通讯协议就是 rosserial。
rosserial 可以很方便地让自己的 MCU 用 USART 有线 或者 TCP 无线 和 ROS 连接,发布传感器信息到 ROS 节点,或者从 ROS 节点订阅传感器信息,例如下面和 ROS 连接后,可以用电脑控制的摄像头小车:
现在可以选择下面2中通信方式中的一种:
如果使用 TCP 当然要先确保 rt-thread 有网卡设备,并获取到 IP 地址,例如:
首先需要一个比较强劲的CPU用来运行 ROS 的主节点,例如 PC 或者 ARM ,安装过程可以参照 ROS 的官网,现在官方支持最好的还是 Debian 系列。
下面以 Ubuntu 安装 ROS Melodic 为例:
依赖:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
安装:
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
sudo apt install ros-melodic-desktop-full
初始化:
sudo rosdep init
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
首先启动一个主节点:
roscore
如果使用的串口:
rosrun rosserial_python serial_node.py /dev/ttyUSB0
如果使用的 TCP:
rosrun rosserial_python serial_node.py tcp
以 hello world 为例:
rostopic echo /chatter
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型