【ROS】具身机器人Notes_Two ROS 学习笔记整理手写原稿规整版一、基础环境操作系统环境Windows10 主机虚拟机软件Oracle VirtualBox虚拟机内安装 Ubuntu 系统Linux发行版用于搭建 ROS 环境编辑器工具vim、nano个人偏好、gedit文本编辑工具前置操作安装 ROS → 配置环境实操可参照B站二、ROS 核心概念ROS1 / ROS2是ROS的两个版本ros2 run启动节点talker、listener演示发布者、订阅者通信节点 (Node)ROS 最小执行单元类比 VS 的底层插件节点通信机制创建话题 Topic类似操作系统进程间通信支持 C、Python 代码开发程序包 (Package) 包含源文件可添加.pyPython和.cppC源码ROS项目也需要类pro文件、dev文件由项目文件管理py文件、cpp文件。三、终端相关ROS 自带终端也可以使用 VS、python/ampe 等第三方终端属于便捷调试端口。四、硬件通信电脑 ↔ STM32底盘控制器通信介质串口双向Bidirectional设备名称/dev/ttyUSB0串口设备键盘按键映射Ctrl Shift O、方向键 ←→↑↓、w/x/z遥控控制五、ROS 系统模型ROS 框架 软件层面的机器人两大模块运动端运动控制模块感知端预留模块补充原稿手写备注修正说明talppertalker发布者、listener订阅者终端之间进行主动通信那么ROS的进程节点进行报文Body传输便可靠ttyUSB0Linux 下 USB 转串口设备标准名称Bidirectional双向通信整体链路上位机 Ubuntu (ROS) ↔ 串口 ↔ STM32 底盘控制器宿主机与虚拟机之间的文件传输粘贴板的全双工设置Devices-SharedClipboard-Bidirectional快捷键CtrlShiftE //垂直分布多终端窗口快捷键CtrlShiftO //水平分布多终端窗口快捷键CtrlShiftX //选中终端窗口并放大快捷键CtrlShiftW //关闭子终端窗口Six. ROSs Notes Conclusion机器人由ROS与STM32开发ROS用于开发控制系统STM32嵌入式开发电路板。大致软件工程师的职责大同小异基于便捷式开发软件进行高级编程语言开发主流C\C\Java\Python。便捷式开发软件一般带有全面的算力三方库底层的函数接口大都已经成熟且框架也早已内部集成量化基于SuperMind进行策略开发自动驾驶/具身机器人基于ROS开发。