0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ROS1和ROS2之間的通訊

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-08-12 11:30 ? 次閱讀

??兜兜轉轉,我又拐回Ubuntu了~,首先是對顯卡的執(zhí)念,肯定X1C就不裝了,那肯定就是DELL了,不過看我以前文的人,都知道我雙系統(tǒng)安裝失敗了。

f8e18454-1976-11ed-ba43-dac502259ad0.png

顯卡正常工作


這次嘗試了很多次成功了,我是一塊1T的SSD上面分割300G給Liunx,一開始的分割空間什么的,大家都知道,這里就不說了,大問題是引導上面,開機的時候,沒有系統(tǒng)選擇的界面.

現在的電腦都是EFI分區(qū)的,里面有兩個小區(qū),ESP和ERP(應該是這樣的),使用硬盤分區(qū)可以看到的.就是100~200MB的小空間.

我前面安裝了幾個Ubuntu一直找不到EFI的引導文件,后來看了一下分區(qū),是我刪除了一個小分區(qū),之所以一直可以啟動Win是因為EFI (boot)這個沒有刪除,我可太牛逼了。

不過這個分區(qū)重建很麻煩的事情,教程都是進PE來對C盤的重新分割建立這個分區(qū),我看了看我Win軟件,破解,盜版不計其數,更重要的是Matlab這些大型武器,幾百G啊,根本重裝不了。

我一直用的這個

找到ESP的空白小分區(qū),右鍵有建立ESP分區(qū)選項,可以建立,這是我見過最簡單的分發(fā)。

最后在安裝的時候選擇和Win共存的選項就好了,如果沒有上面的小分區(qū),這個共存的選擇是沒有的。

然后開機的時候就有了自動的界面切換。雙系統(tǒng)的安裝坑比較多,需要有經驗來安裝,不然你進不去系統(tǒng)就慌的一筆,事實上只是找不到了引導文件而已,重建一下引導就好了。

因為新系統(tǒng)就像毛坯房,首先就是截圖的工具了:

f965900a-1976-11ed-ba43-dac502259ad0.png

安裝后設置一下快捷鍵,我設置的F1

sudo apt-get install flameshot

直接安裝就行。

第二個問題是輸入法的問題,自帶的輸入法就像個腦殘一樣,搞得我打字速度下降了好多。

大家一直使用的是sougou輸入法,這次使用百度

主要因為目前官方最新的搜狗輸入法 for Linux v2.3.1.0112,使用的還是 qt4,依賴于 fcitx-frontend-qt4 等組件,然而在 Ubuntu 20.04 LTS 軟件源中 qt4 已被移除,導致安裝錯誤。

f9beabea-1976-11ed-ba43-dac502259ad0.png

百度怕你不會用,還帶了文檔

所以你得安裝個wps來看文檔

fa1b5bd8-1976-11ed-ba43-dac502259ad0.png

這里要先安裝一點關于fiticx,直接install就行,后面也要安裝這個,這里我覺得不用著急安裝先.

sudo aptitude install qt5-default qtcreator qml-module-qtquick-controls2

如果你安裝過,就不用安裝了

fa456018-1976-11ed-ba43-dac502259ad0.png

因為這里會提示

fa6b841e-1976-11ed-ba43-dac502259ad0.png

提前等著

fa982faa-1976-11ed-ba43-dac502259ad0.png

如果右上角沒有出現配置,就使用命令呼出

face6908-1976-11ed-ba43-dac502259ad0.png

faef00b4-1976-11ed-ba43-dac502259ad0.png

小企鵝

fb1d5f04-1976-11ed-ba43-dac502259ad0.png

確定

此時去重啟電腦,如果沒有啥意外,會出現下面的配置頁面:

fb4f8dbc-1976-11ed-ba43-dac502259ad0.png

fb688236-1976-11ed-ba43-dac502259ad0.png

現在試試看,舒服的一筆(和配置一樣就行)

這里說一下我遇到的問題,自帶是有個中文輸入法的,但是我沒有見過這么愣逼的輸入法,是一點聯(lián)想都沒有,沒聯(lián)想就算了,我正經打的字也不知道是啥。所以這個體驗感太差了,搜狗是很不錯的輸入法,但是20.04就不要想了,底層庫的變化也安裝不上,別問為什么(我折騰了好久能不知道?)

這次發(fā)現了百度,偷偷的做了輸入法,狗男人真棒!

找不到打賞的口子,真想親你一口哇

另外就是,一般的教程是設置中文什么的,大多數人安裝的時候應該都是中文的,所以這里就不要多做了,沒有這個必要跟著他一步一步的操作,問題是你和他不可能每一步都一樣的。

安裝了以后,一般是右上角出現不了這個配置的,你要知道為什么文檔這樣的寫,就是因為測試的時候就發(fā)現這種問題了,你可以就像上面使用命令行來呼出配置,也可以重啟,重啟大法好。

我這里測試應該是有幾秒的延遲時間,

fbc9fbc4-1976-11ed-ba43-dac502259ad0.png

右上角打開以后把百度輸入法找到,設置成我這里的樣子

應該在右上角是可以看到百度的輸入法的Logo的。

其實這次的系統(tǒng)體驗很好,Python也運行正常:

fbf13644-1976-11ed-ba43-dac502259ad0.png

Jupyter也正常

fc28b36c-1976-11ed-ba43-dac502259ad0.png

相當ok

fc51ecdc-1976-11ed-ba43-dac502259ad0.png

這天生對C系語言的親和性,愛死了

我這里想插一段我在win上面的垃圾經歷。

fc77dbae-1976-11ed-ba43-dac502259ad0.png

我麻了,VSCode配一晚上調試不了,你敢相信是沒有調試器???

如果GCC的標準版,就是沒有GDB

fca1deb8-1976-11ed-ba43-dac502259ad0.png

需要再安裝一下

fccb4d8e-1976-11ed-ba43-dac502259ad0.png

點擊這里

fcedab54-1976-11ed-ba43-dac502259ad0.png

安裝

fd083d0c-1976-11ed-ba43-dac502259ad0.png

我麻了...

fd39d66e-1976-11ed-ba43-dac502259ad0.png

這次有了

fd576134-1976-11ed-ba43-dac502259ad0.png

命令行可以進去了

fd858aa0-1976-11ed-ba43-dac502259ad0.png

這個是調試的launch文件

{    "configurations": [        {            "name": "(gdb) 啟動",            "type": "cppdbg",            "request": "launch",            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",            "args": [],            "stopAtEntry": false,            "cwd": "${fileDirname}",            "environment": [],            "externalConsole": false,            "MIMode": "gdb",            "miDebuggerPath": "C:/MinGW/bin/gdb.exe",            "setupCommands": [                {                    "description": "為 gdb 啟用整齊打印",                    "text": "-enable-pretty-printing",                    "ignoreFailures": true                },                {                    "description": "將反匯編風格設置為 Intel",                    "text": "-gdb-set disassembly-flavor intel",                    "ignoreFailures": true                }            ]        }    ],    "version": "2.0.0"}

雖然不完美,但是能用

綜上所述,win系統(tǒng),真難搞,不過Mac也好用,環(huán)境很輕松就配置好了,阻擋我成功絆腳石是配置環(huán)境。。。

現在的頁面有點不好看

好看不,我管你說啥,就用這個了

https://unsplash.com/photos/NdSHSMkKOvU

鏈接在此

因為最近在研究ROS2,這里我也寫了個簡單的腳本來簡化安裝的過程。其實我是給X3派寫的,先在這個上面測試一下。

首先我個人用,什么毛病也沒有,就摁了幾次Y,其次我全局梯子,網絡順暢,刨錯誤的都是網絡問題。

#!/bin/bash
if (( $EUID > 0 )); then  echo " - Please run as root"  exitfi
#Install ROS 2echo " - Installing ROS 2 Foxy"
echo " - Install Build Tools"
# C++ Build toolsapt install build-essential gdb
# Set UTF-8 charsetapt updateapt install -y localeslocale-gen en_US en_US.UTF-8update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8export LANG=en_US.UTF-8
echo " - ROS 2 sources"
# Add ROS2 sourcesapt updateapt install -y curl gnupg2 lsb-releasecurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
echo " - Install ROS 2"
# Install ROS 2 (foxy)apt updateapt install -y ros-foxy-desktop
# Step envriomentsource /opt/ros/foxy/setup.bash
echo " - Install Python ROS 2"
# Argcompleteapt install -y python3-pippip3 install -U argcomplete
# Colcon build toolsapt install -y python3-colcon-common-extensions python3-rosdep2
# Update ROS deprosdep updaterosdep fix-permissions
# Add to bashrcecho " - Register ROS 2 in .bashrc"echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrcecho "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrcecho "export _colcon_cd_root=~/ros2_install" >> ~/.bashrcsource ~/.bashrc
# Install project dependenciesecho " - Python dependencies"pip3 install catkin_pkg rospkg av image opencv-python djitellopy2 pyyamlapt install python3-tf*
echo " - CPP dependencies"apt install ros-foxy-ament-cmake* ros-foxy-tf2* ros-foxy-rclcpp* ros-foxy-rosgraph*
echo " - Rviz and RQT Tools"aptinstallros-foxy-rviz*ros-foxy-rqt*

這些就是腳本了

復制腳本到文件里面,后綴為sh,運行的時候,sudo一下就好。

fdfde9be-1976-11ed-ba43-dac502259ad0.png

核心的代碼就這些

fe1e4c0e-1976-11ed-ba43-dac502259ad0.png

因為ROS2使用CPP多,CPP工具也得安裝

fe4d4892-1976-11ed-ba43-dac502259ad0.png

這里nano ~/.bashrc在末尾添加這個

source /opt/ros/foxy/setup.bash

這個

source ~/.bashrc

然后環(huán)境生效

ros2 run demo_nodes_cpp talker

fe7b016a-1976-11ed-ba43-dac502259ad0.png

fea0c60c-1976-11ed-ba43-dac502259ad0.png

一發(fā)一收,搞完扯呼

fec24e3a-1976-11ed-ba43-dac502259ad0.png

看下本地的地址

feeda918-1976-11ed-ba43-dac502259ad0.png

ros2已經注冊好了

ff0d0aec-1976-11ed-ba43-dac502259ad0.png

幫助的命令

ROS2是爽了,ROS1也跑不了,快快安裝,因為沒有可視化的工具。

ROS1無腦安裝了,家人:

愣著干嘛,趕緊輸命令啊

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt update

sudo apt install ros-noetic-desktop-full

ff735e5a-1976-11ed-ba43-dac502259ad0.png

完整版安裝,安裝不成功就反思自己的網絡問題

ffa4b6a8-1976-11ed-ba43-dac502259ad0.png

這個是安裝好的

source /opt/ros/noetic/setup.bash

這里是ros1寫入的配置文件

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrcsource ~/.bashrc

我這里兩句寫反了,自己換過來

ffcc7af8-1976-11ed-ba43-dac502259ad0.png

ROS1,2共存,怎么辦?

echo "ros melodic(1) or ros2 eloquent(2)?"read editionif [ "$edition" -eq "1" ];then  source /opt/ros/melodic/setup.bashelse  source /opt/ros/eloquent/setup.bashfi

fff095fa-1976-11ed-ba43-dac502259ad0.png

寫入bashrc里面,在打開新的Terimal后會有一個切換的選擇

000f321c-1977-11ed-ba43-dac502259ad0.png

就是也奇怪,我明明寫入了參數

sudoaptinstallpython3-rosdep2

rosdep update

sudo apt install python3-roslaunch

sudo apt install python3-rostopic

以上是缺少的包,安裝一下

sudo apt install ros-foxy-ros1-bridge

ROS1和ROS2之間的通訊需要一個橋

審核編輯:彭靜

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Wind
    +關注

    關注

    0

    文章

    16

    瀏覽量

    30451
  • DELL
    +關注

    關注

    2

    文章

    45

    瀏覽量

    13731
  • Ubuntu
    +關注

    關注

    5

    文章

    563

    瀏覽量

    29762
  • C盤
    +關注

    關注

    0

    文章

    21

    瀏覽量

    3614

原文標題:Ubuntu20.04的讓人GC

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Micro-ROS:把ROS2放在MCU上

    機器人的發(fā)展。 ? ROS便是為機器人在研發(fā)的過程中的代碼復用提供支持的開源框架,大量的機器人開源項目,從感知到控制、從定位到構圖、從導航到可視化,幾乎都使用ROS作為基礎。 ? Micro-ROS從何而來? ? Micro-
    的頭像 發(fā)表于 04-07 07:13 ?7750次閱讀

    系統(tǒng)鏡像Ubuntu_ROS2ROS2是什么意思,帶有ROS2開發(fā)環(huán)境嗎?

    請問一下,百度文庫資料里面,下圖所示的系統(tǒng)鏡像Ubuntu_ROS2ROS2是什么意思,帶有ROS2開發(fā)環(huán)境嗎?與前面4GB版本的鏡像有什么區(qū)別?
    發(fā)表于 03-01 23:06

    ROS2的安裝與使用 精選資料推薦

    ros2的烏龜仿真turtlesim,介紹topic,service,action等元素及其使用,介紹ros的基本操作
    發(fā)表于 08-30 08:24

    如何在ROS2中運行小烏龜呢

    ROS2中運行小烏龜,其實主要就是安裝兩個工具,turtlesim和rqt。A: 安裝turtlesim。輸入【sudo apt update】輸入【sudo apt install
    發(fā)表于 11-05 06:08

    RT-Thread實時操作系統(tǒng)與ROS2是怎樣進行通信的

    的 API,主要區(qū)別就在于 rosserial 是針對 ROS1,而 micro_ros 是針對 ROS2 。第一代的 ROS 發(fā)展很多年后,當然也暴露出很多設計不合理的地方,比如有
    發(fā)表于 04-01 11:38

    基于無線wifi網絡的X3派和PC虛擬機通過ROS2實現跨設備通信

    1、X3派和PC虛擬機都連接無線wifi網絡的情況下通過ROS2實現跨設備通信多機通信是ROS的基礎能力之一,相比于ROS1,ROS2通過非
    發(fā)表于 07-13 15:13

    【昉·星光 2 高性能RISC-V單板計算機體驗】五:在 VisionFive2 上體驗 ROS2 humble

    count: 1 Subscription count: 0 ros2 node 分別執(zhí)行命令 ros2 run demo_nodes_cpp talker, ros2 nod
    發(fā)表于 09-04 04:59

    Linux嵌入式開發(fā)筆記(六)在ROS2中運行小烏龜實例

    ROS2中運行小烏龜,其實主要就是安裝兩個工具,turtlesim和rqt。A: 安裝turtlesim。輸入【sudo apt update】輸入【sudo apt install
    發(fā)表于 11-02 15:21 ?10次下載
    Linux嵌入式開發(fā)筆記(六)在<b class='flag-5'>ROS2</b>中運行小烏龜實例

    ROS1的通信架構的基礎通信方式及相關概念

    ROS的通信架構是ROS的靈魂所在,它包括數據處理,進程運行,消息傳遞等** 。這篇文章主要介紹ROS1的通信架構的基礎通信方式和相關概念,因為ROS1
    的頭像 發(fā)表于 05-19 17:23 ?3449次閱讀
    <b class='flag-5'>ROS1</b>的通信架構的基礎通信方式及相關概念

    如何初始化ROS并創(chuàng)立鏈接

    的主題(如/odometry)來發(fā)送消息。其他組件通過訂閱該主題來接收消息。本文內容基于慕羽★大佬文章進行了增刪。 同時由于Simulink的使用在ROS1ROS2中沒有太多的改動,所以我們就僅對
    的頭像 發(fā)表于 11-15 17:26 ?517次閱讀
    如何初始化<b class='flag-5'>ROS</b>并創(chuàng)立鏈接

    DDS在ROS2中的應用

    DDS在ROS2中的應用 DDS在ROS2系統(tǒng)中的位置至關重要,所有上層建設都建立在DDS之上。在這個ROS2的架構圖中,藍色和紅色部分就是DDS。 剛才我們也提到,DDS是一種通信的標準,就像4G
    的頭像 發(fā)表于 11-24 17:54 ?932次閱讀
    DDS在<b class='flag-5'>ROS2</b>中的應用

    ros1ros2的通信模型

    ros1: talker 注冊 listener 注冊 ROS Master 進行信息匹配 listener 發(fā)送鏈接請求 talker 確認請求 建立連接 talker 給 listener 發(fā)
    的頭像 發(fā)表于 11-27 11:26 ?796次閱讀
    <b class='flag-5'>ros1</b>和<b class='flag-5'>ros2</b>的通信模型

    ROS2中自帶例程測試

    的一個例程。 和剛才一樣打開兩個終端,這里我們需要source一下ROS里的環(huán)境變量。 該環(huán)境變量我們剛才已經設置了過軟連接,所以配置過程中它也會配置ROS2的功能包路徑。 在終端1輸入命令: $ source /opt/tro
    的頭像 發(fā)表于 11-28 16:29 ?976次閱讀
    <b class='flag-5'>ROS2</b>中自帶例程測試

    在TogetherROS中如何安裝ROS2功能包

    安裝ROS2功能包 接下來,還有一個很重要的配置,那就是安裝ROS2功能包,我們說TogetherROS是基于ROS2深度優(yōu)化的,很多模塊還是會復用ROS2中的功能,所有
    的頭像 發(fā)表于 12-01 16:02 ?998次閱讀
    在TogetherROS中如何安裝<b class='flag-5'>ROS2</b>功能包

    移動機器人與ROS操作系統(tǒng)原理與應用

    ROS1不同的是,ROS2誕生的目的就是為了讓更多機器人使用,所以在設計上更加符合技術的發(fā)展方向,也運用了很多最近的技術框架。
    發(fā)表于 01-02 12:28 ?587次閱讀
    移動機器人與<b class='flag-5'>ROS</b>操作系統(tǒng)原理與應用