您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

01 ros如何訂閱(如何安裝ros系統)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-07 02:19:21【】3人已围观

简介如何安裝ros系統ROS作為一款開源機器人操作系統,在各種工業機器人、自動駕駛導航中非常流行,是學習自動駕駛、機器人的方向的人必須接觸的系統軟件,這里以目前寫這篇文件時最新(2018年5月)的ROSM

如何安裝ros系統

ROS作為一款開源機器人操作系統,在各種工業機器人、自動駕駛導航中非常流行,是學習自動駕駛、機器人的方向的人必須接觸的系統軟件,這里以目前寫這篇文件時最新(2018年5月)的ROS Melodic Morenia的系統安裝為例,寫一篇經驗。

工具/原料

ROS Melodic Morenia Ubuntu Bionic amd64 版

方法/步驟

1/9 分步閱讀

首先要安裝一個基礎的linux系統,在ROS Melodic Morenia看一下受支持的linux發行版本,主要只有Ubuntu Bionic(18系列),Ubuntu Artful(17系列),和Debian Stretch(9系列),故這里以Ubuntu 18.04 LTS系統為例進行安裝。

2/9

首先要添加網絡庫,這里選擇使用國內的鏡像源,中科大的鏡像源安裝速度快一些,如果使用國外的源,電信的寬帶幾乎就安裝不了。

執行sudo sh -c '. /etc/lsb-release && echo "deb <軟件源> $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list',如下圖指令,加入中科大源到sourcelist。

ROS機器人開發入門_免費視頻課程_訊飛AI大學

廣告

3/9

添加認證密鑰,國內從ubuntu的官方keyserver添加密鑰較快。

使用如下圖命令添加認證公鑰到軟件源中。

【全新】「夢幻西游網頁版」開局滿神裝,人人有神寵

廣告

4/9

更新軟件源緩存數據,sudo apt-get update

合肥 全屋整裝系統_實力品牌集成墻板廠家大保障!

廣告

5/9

新手安裝的直接全環境安裝即可,使用指令

sudo apt-get install ros-melodic-desktop-full

如下圖,國內的源下載速度非常快,大概十幾分鐘就可以安裝完成。

查看剩余1張圖

6/9

安裝完成后,接下來要做一些初始化設置才能開始使用。依次輸入

sudo rosdep init

rosdep update

如下圖所示。

查看剩余1張圖

7/9

為了使用方便,你可以將配置好一打開你的bash就自動導入所有Ros環境變量,這樣你可以方便以后的使用。

8/9

最后你需要安裝一些開發使用的編譯工具,最后你就可以愉快使用ROS了。

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

安裝編譯工具如下圖。

9/9

最后使用ros買粉絲re命令測試一下安裝效果。

編輯

如何自定義ros的action服務

1 創建工程

cd ~/catkin_ws/src

catkin_create_pkg action std_msgs rospy

2 設計action定義文件,內容有goal feedback result

這個和service的srv文件很像,放置再工程目錄的action目錄下

ration time_to_wait #goal,客戶端發送的等待總時間

---

ration time_elapsed #result ,服務器端發送的等了多久,

uint32 updates_sent #更新多少次

---

ration time_elapsed # feedback,服務器端周期性的發送已等了多久

ration time_remaining #還剩多久

3 修改CMakeLists.txt文件,配置默認支持

3.1 增加模塊actionlib_msgs

find_package(catkin REQUIRED COMPONENTS

..... #其他已有模塊

actionlib_msgs#增加

)

3.2 增加action服務定義文件

add_action_files(

DIRECTORY action

FILES Timer.action

)

3.3 action的msg

generate_messages(

DEPENDENCIES

actionlib_msgs

std_msgs

)

3.4 catkin的msg支持

catkin_package(

CATKIN_DEPENDS

actionlib_msgs

)

4 編譯工程

cd ~/catkin_ws

catkin_make

5 編寫action服務器端程序

#!/usr/bin/env python

import roslib; roslib.load_manifest('action')

import rospy

import time

import actionlib

from action.msg import TimerAction, TimerGoal, TimerResult

def do_timer(goal):

start_time = time.time()

time.sleep(goal.time_to_wait.to_sec())

result = TimerResult()

result.time_elapsed = rospy.Duration.from_sec(time.time() - start_time)

result.updates_sent = 0

server.set_succeeded(result)

rospy.init_node('timer_action_server')

server = actionlib.SimpleActionServer('timer', TimerAction, do_timer, False)

server.start()

rospy.spin()

6 編寫ros的action客戶端程序

#!/usr/bin/env python

import roslib; roslib.load_manifest('action')

import rospy

import actionlib

from action.msg import TimerAction, TimerGoal, TimerResult

rospy.init_node('timer_action_client')

client = actionlib.SimpleActionClient('timer', TimerAction)

client.wait_for_server()

goal = TimerGoal()

goal.time_to_wait = rospy.Duration.from_sec(5.0)

client.send_goal(goal)

client.wait_for_result()

print('Time elapsed: %f'%(client.get_result().time_elapsed.to_sec()))

7 測試運行(開四個終端)

ros買粉絲re

rosrun action action_c.py

rosrun action action_s.py

8 查看信息

liao@liao-eagle:~/catkin_ws/src/action/src$ rostopic list

/rosout

/rosout_agg

/timer/cancel

/timer/feedback

/timer/goal

/timer/result

/timer/status

liao@liao-eagle:~/catkin_ws/src/action/src$ rostopic info /timer/goal

Type: action/TimerActionGoal

Publishers: None

Subscribers:

* /timer_action_server (買粉絲://liao-eagle:42857/)

liao@liao-eagle:~/catkin_ws/src/action/src$ rosmsg show TimerActionGoal

[action/TimerActionGoal]:

std_msgs/Header header

uint32 seq

time stamp

string frame_id

actionlib_msgs/GoalID goal_id

time stamp

string id

action/TimerGoal goal

ration time_to_wait

liao@liao-eagle:~/catkin_ws/src/action/src$ rosmsg show TimerGoal

[action/TimerGoal]:

ration time_to_wait

9 rqt_graph

ROS訂閱的topic如何通過tcp傳送給QT并顯示到界面上

傳遞一下啊

lineEdit中的值,在登陸確認后,傳遞給即將打開的窗體

傳感器的數據在ROS中如何使用?

在ROS中使用傳感器數據需要進行以下步驟:

安裝驅動程序:首先需要安裝傳感器的驅動程序,以便ROS能夠與傳感器進

很赞哦!(711)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:云南普洱景谷傣族彝族自治县

工作室:小组

Email:[email protected]