阿克曼-幻宇機器人系列教程1- 實現上位機與下位機交互的兩種方式

1. 電腦與機器人通過SSH命令連接

?1.1 將機器人上電

目的:將機器人變成熱點

目標:將電腦連接機器人網絡

熱點名稱:Huanyu-111

密碼:12345678

1.2 完成電腦與機器人之間的連接

實現:在電腦終端中執行命令通過SSH登錄。

具體步驟:

  1. 確定機器人樹莓派網關? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?命令:ipconfig。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?無線局域網適配器 WLAN模塊:“默認網關”字段就是樹莓派網關

  2. 執行下列命令行登錄樹莓派:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??SSH huike@默認網關

說明:

“SSH”是Secure Shell(安全外殼協議)的縮寫,是一種加密的網絡協議,用來在不安全的網絡上安全地訪問遠程計算機。

SSH是什么?

SSH是一種網絡協議,它允許你通過命令行界面安全遠程登錄另一臺計算機,并對它進行操作。這個協議默認使用端口號22,主要用于Linux/Unix系統,也可以在Windows上使用。

SSH的作用:

1.遠程登錄控制

比如你的手機或電腦連接到某個設備(如樹莓派、遠程服務器),就可以通過 SSH 登錄那個設備,在終端里輸入命令,就像直接操作那臺設備一樣。

2.安全傳輸數據

SSH 會對所有數據進行加密,防止被監聽或篡改。這比傳統的 Telnet、FTP 等協議更安全

3. 遠程執行命令

你可以遠程運行腳本或程序,而不需要物理接觸目標設備。

4. 文件傳輸(通過 scpsftp

SSH 協議還可以用來上傳/下載文件,使用非常廣泛。

2. 構建分布式ROS系統

為了構建一個分布式ROS系統,進行上位機(一般用于處理下位機不太方便處理的任務:復雜的AI算法、帶GUI的頁面顯示)環境準備。

為了實現上位機和下位機之間的交互需要在電腦里創建和機器人一樣的ROS版本。

2.1 創建名為Dockerfile的文檔

這為了簡化環境構建,通過Docker進行容器創建。

具體操作:在本地電腦中創建文件,命名為Dockerfile,文檔內容:

FROM ros:kinetic (機器人的ROS版本)RUN apt update && apt install -y iputils-ping net-tools

目的:提供容器的制作說明書

內容詳解:

? FROM ros:kinetic

意思是:
🔹以 ROS Kinetic 的官方鏡像 為基礎。

? RUN apt update && apt install -y iputils-ping net-tools

意思是:
🔹更新一下軟件源(apt update),在基礎鏡像上實現個人的定制化需求。
🔹然后安裝兩個常用的網絡工具:

  • ping:用來測試網絡是否連通,比如是否能ping通樹莓派。

  • net-tools:提供如 ifconfig 等命令,用來查看網絡信息。

2.2 構建容器

目的:為電腦中的ROS版本提供運行環境

命令:

docker build -t my/ros_kinetic:app .

詳細解釋:

? docker build

🔹意思是“根據 Dockerfile 把容器鏡像構建出來”。

? -t my/ros_kinetic:app

🔹是給這個鏡像起個名字(tag)。
你取名為:my/ros_kinetic,版本是 app
以后你就可以用這個名字啟動它了。

? .

🔹表示當前目錄(即你的 Dockerfile 所在的目錄)

通過上述兩種方式,都可以實現上位機與下位機之間的交互,不過ROS交互系統可為對機器人進一步編程創建條件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79717.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79717.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79717.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Rust 中的 Pin 和 Unpin:內存安全與異步編程的守護者

在 Rust 的世界里,Pin 和 Unpin 是兩個看似不起眼、實則至關重要的概念。它們在內存安全和異步編程中扮演著關鍵角色,是 Rust 開發者必須掌握的知識。今天,就讓我們深入探討這兩個概念,看看它們是如何在 Rust 的生態系統中發揮作用…

如何界定合法收集數據?

首席數據官高鵬律師團隊 在當今數字化時代,數據的價值日益凸顯,而合法收集數據成為了企業、機構以及各類組織必須嚴守的關鍵準則。作為律師,深入理解并準確界定合法收集數據的范疇,對于保障各方權益、維護法律秩序至關重要。 一…

自動駕駛的“眼睛”:用Python構建智能障礙物檢測系統

自動駕駛的“眼睛”:用Python構建智能障礙物檢測系統 在自動駕駛技術日益成熟的今天,障礙物檢測系統成了汽車智能化不可或缺的部分。無論是高速公路上的突發狀況,還是城市街道中的行人與車輛,準確識別障礙物并及時反應,是保證行車安全的關鍵。 那么,我們如何用Python構…

19.Excel數據透視表:第2部分數據透視計算

一 日期組合 不想看具體是哪一天的收入,想看每個月的收入是多少,要對日期進行組合。 光標選中日期字段下的數據, 右鍵。 補充:第2種方法。 補充:可以同時選擇多個。 下面這個是錯誤的。 源數據里面有不同的年份&#x…

Eclipse 插件開發 6 右鍵菜單

Eclipse 插件開發 6 右鍵菜單 1 plugin.xml2 SampleHandler.java3 Activator.java 1 plugin.xml <?xml version"1.0" encoding"UTF-8"?> <?eclipse version"3.4"?> <plugin><!-- 定義命令 --><extension point&…

用vite腳手架建立 前端工程

? 參考 開始 | Vite 官方中文文檔 腳本 chcp 65001 echo 建立vite工程 set PRO_NAMEmy-vue-app call npm create vitelatest %PRO_NAME% --template vue cd ./%PRO_NAME%set NOW_PATH%cd% echo now_path %NOW_PATH% echo 點擊回車啟動vite工程&#xff0c;請訪問ht…

ESP32C3連接wifi

文章目錄 &#x1f527; 一、ESP32-C3 連接 Wi-Fi 的基本原理&#xff08;STA 模式&#xff09;? 二、完整代碼 注釋講解&#xff08;適配 ESP32-C3&#xff09;&#x1f4cc; 三、幾個關鍵點解釋&#x1f51a; 四、小結 &#x1f527; 一、ESP32-C3 連接 Wi-Fi 的基本原理&a…

LangSmith 基本使用教程

LangSmith 是一個強大的工具&#xff0c;可以幫助開發者追蹤、監控和分析語言模型應用程序的性能。下面我將介紹兩種基本的追蹤方式&#xff1a;追蹤 OpenAI 調用和追蹤整個應用程序。 1. 追蹤 OpenAI 調用 (Trace OpenAI calls) 這種方法主要用于追蹤對 OpenAI API 的調用&a…

Python基礎學習-Day23

目錄 基礎概念轉換器&#xff08;transformer&#xff09;估計器&#xff08;estimator&#xff09;管道&#xff08;pipeline&#xff09; 實例pipeline 基礎概念 pipeline在機器學習領域可以翻譯為“管道”&#xff0c;也可以翻譯為“流水線”&#xff0c;是機器學習中一個重…

相對論速度疊加公式與雙曲正切

復習下相對論速度疊加公式吧&#xff0c;物理&#xff0c;是不是很多人都忘了呀。假設速度為 u , v u,v u,v&#xff0c;那么疊加后的速度 w w w為&#xff1a; w u v 1 u v / c 2 w\frac{uv}{1uv/c^2} w1uv/c2uv? ??這個公式告訴我們&#xff0c;在一個速度為2/3光速的…

【前綴和】和為 K 的子數組(medium)

【前綴和】和為 K 的子數組 題目描述算法原理和細節問題代碼 題目描述 和為 K 的子數組 給定一個整數數組和一個整數 k &#xff0c;請找到該數組中和為 k 的連續子數組的個數。 示例 1&#xff1a; 輸入:nums [1,1,1], k 2 輸出: 2 解釋: 此題 [1,1] 與 [1,1] 為兩種不同的…

在Ubuntu服務器上部署Label Studio

一、拉取鏡像 docker pull heartexlabs/label-studio:latest 二、啟動容器 &#xff08;回到用戶目錄&#xff0c;例&#xff1a;輸入pwd&#xff0c;顯示 /home/<user>&#xff09; docker run -d --name label-studio -it -p 8081:8080 -v $(pwd)/mydata:/label-st…

MySQL 從入門到精通(三):日志管理詳解 —— 從排錯到恢復的核心利器

在 MySQL 數據庫的日常運維中&#xff0c;日志是定位問題、優化性能、數據恢復的核心工具。無論是排查服務器啟動異常&#xff0c;還是分析慢查詢瓶頸&#xff0c;亦或是通過二進制日志恢復誤刪數據&#xff0c;日志都扮演著 “數據庫黑匣子” 的角色。本文將深入解析 MySQL 的…

內存中的“BANK”

一、BANK的定義與物理結構 基本概念 BANK&#xff08;存儲體&#xff09; 是內存芯片內部的一個邏輯或物理分區&#xff0c;每個BANK由存儲單元陣列、地址解碼電路和緩沖器組成&#xff0c;用于分塊管理內存操作。 作用&#xff1a;通過并行操作減少訪問沖突&#xff0c;提升內…

機器學習——聚類算法練習題

一、 隨機創建不同二維數據集作為訓練集 &#xff0c;并結合k-means算法將其聚類 &#xff0c;你可以嘗試分別聚類不同數量的簇 &#xff0c;并觀察聚類 效果&#xff1a; 聚類參數n_cluster傳值不同 &#xff0c;得到的聚類結果不同 代碼展示&#xff1a; from sklearn.da…

kafka----初步安裝與配置

目錄標題 ?kafka 與 zookeeper間的關系一.集群部署二.修改配置文件三.分發安裝包四.啟動與關閉 kafka 與 zookeeper 相同&#xff0c;是以集群的形式使用 ?kafka 與 zookeeper間的關系 kafka 的使用 要在 zookeeper 集群配置好的基礎上 使用要想啟動kafka 要先啟動 zookeep…

進程與線程:07 CPU調度策略

一、課程內容概述 本節課程主要講解操作系統的CPU調度策略&#xff0c;聚焦于基本操作系統上的調度算法&#xff0c;探討其大致實現方式、需折中考慮的問題。CPU調度在不同場景下復雜程度不同&#xff0c;如衛星、導彈等實時性要求高的系統&#xff0c;需采用實時調度&#xf…

JPG與PDF格式轉換器

該插件可實現JPG與PDF格式的互轉。 MainForm.Designer.cs using System.Windows.Forms; namespace JpgToPdfConverter {partial class MainForm{private System.ComponentModel.IContainer components null;protected override void Dispose(bool disposing){if (disposing &…

LlamaIndex 第八篇 MilvusVectorStore

本指南演示了如何使用 LlamaIndex 和 Milvus 構建一個檢索增強生成&#xff08;RAG&#xff09;系統。 RAG 系統將檢索系統與生成模型相結合&#xff0c;根據給定的提示生成新的文本。該系統首先使用 Milvus 等向量相似性搜索引擎從語料庫中檢索相關文檔&#xff0c;然后使用生…

淺聊一下數據庫的索引優化

背景 這里的索引說的是關系數據庫&#xff08;MSSQL&#xff09;中的索引。 本篇不是純技術性的內容&#xff0c;只是聊一次性能調優的經歷&#xff0c;包含到一些粗淺的實現和驗證手段&#xff0c;所以&#xff0c;大神忽略即可。 額…對了&#xff0c;筆者對數據庫的優化手段…