第 8 章 机器人实体导航(自学二刷笔记)

重要参考:

课程链接: https://www.bilibili.com/video/BV1Ci4y1L7ZZ

讲义链接: Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

9.1 概述

实体机器人导航与仿真环境下的导航核心实现基本一致,主要区别在于导航实现之前,基本环境的搭建有所不同,比如:导航场景、传感器、机器人模型等,大致区别如下:

仿真环境 实体机器人
导航场景 依赖于gazebo搭建的仿真环境 依赖于现实环境
传感器 在gazebo中通过插件来模拟一些列传感器,比如:雷达、摄像头、编码器.... 使用的是真实的传感器
机器人模型 依赖于机器人模型,以实现仿真环境下的机器人的显示,通过robot_state_publisher、joint_state_publisher实现机器人各部件的坐标变换。 机器人模型不是必须的,如果不使用机器人可以通过static_transform_publisher发布导航必须的坐标变换;如果使用机器人模型也可以借助 robot_state_publisher、joint_state_publisher 发布坐标变换,当然后者可以在rviz中显示机器人模型,更友好。

总体而言,在实体机器人导航中,可以完全脱离 gazebo,而机器人模型是否使用,可以按需选择。

除此之外,实体机器人导航的开发环境也发生了改变,程序最终需要被部署在机器人端,我们可以在本地开发,然后通过ssh上传至机器人,或者也可以通过VScode的远程开发插件直接在机器人端编写程序。

9.2 VScode远程开发

在第8章,我们介绍了ssh远程连接的使用,借助于ssh可以远程操作树莓派端,但是也存在诸多不便,比如:编辑文件内容时,需要使用vi编辑器,且在一个终端内,无法同时编辑多个文件,本节将介绍一较为实用的功能------VSCode远程开发,我们可以在VScode中以图形化的方式在树莓派上远程开发程序,比ssh的使用更方便快捷,可以大大提高程序开发效率。

1.准备工作

VScode远程开发依赖于ssh,请首先按照8.5.3内容配置ssh远程连接。

2.为VScode安装远程开发插件

启动VScode,首先点击侧边栏的扩展按钮,然后在 "扩展:商店" 的搜索栏输入 "Remote Development"并点击同名插件,最后在右侧显示区中点击 "安装"。

3.配置远程连接

步骤1:使用快捷键 "ctrl + shift + p "打开命令输入窗口,并输入 "Remote-SSH:Connect to Host... ",弹出列表中选择与之同名的选项。

步骤2:步骤1完成将弹出一个新的命令窗口如下,选择下拉列表中的 "Add New SSH Host"。

步骤3:步骤2完成又将弹出一个新的命令窗口,在其中输入:ssh ubuntu@192.168.43.164,其中,ubuntu需要替换为你的登录账号,192.18.43.164 则替换为你的树莓派的ip地址。

步骤4:选择步骤3完成后的弹窗列表中的第一个选项(或直接回车),即可完成配置,配置成果后会有提示信息。

4.使用

步骤1:继续使用快捷键 "ctrl + shift + p "打开命令输入窗口,并输入 "Remote-SSH:Connect to Host...",此时列表中将显示步骤3中配置的ip地址,直接选择,选择后,VScode将打卡一个新的窗口。

或者,也可以点击侧边栏的 "远程资源管理器",在弹出的服务器列表中选择要连接的服务器,并右击,选择在本窗口或新窗口中实现远程连接。

步骤2:选择菜单栏的 "文件"下的 "打开文件夹",在弹窗列表中选择需要打开的文件夹并点击确定即可。

最终,我们就可以像操作本地文件一样实现远程开发了。

相关推荐
Jason_zhao_MR4 小时前
米尔电子参展预告_中国工博会2026-外发版
嵌入式硬件·机器人·工业控制
深蓝学院6 小时前
CoRL 2026 | 在线 VLM 记忆已成瓶颈?MIT×CMU 给出机器人闭环控制解法
机器人·具身智能
深蓝学院7 小时前
新加坡国立大学:Show‑Harness,一个接口,直接让VLM操控实体机器人
机器人·具身智能·世界模型
FakeOccupational8 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
明志数科8 小时前
机器人训练数据采集中的任务拆解与原子动作清单SOP
人工智能·机器学习·机器人
广州虚拟动力-动捕&虚拟主播10 小时前
双模式遥操系统,一采即通|全身遥操数采系统
机器人
沙漏无语10 小时前
MEMS力触觉传感器的硬核科技:硅应变片与玻璃微熔工艺
机器人
苏打豆11 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
Horn Still Sounds11 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
一颗小树x11 小时前
《VLA系列》TurboVLA 技术解读:用直接 V+L→A 路径实现实时机器人控制
机器人·turbovla·30hz·0.2b