国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)

這篇具有很好參考價值的文章主要介紹了Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Ubuntu18.04 ROS-Melodic Turtlebot2

操作系統(tǒng)為ubuntu18.04 安裝ROS Melodic Turtlebot2,很多大佬分享了詳細(xì)的安裝過程,在這里就不多贅述,安裝遇到問題多百度,大部分都是可以解決的。

Turtlebot2移動控制

前期學(xué)習(xí)了趙虛左老師的ROS入門課程,結(jié)合Turtlebot2資料這里方便大家打開,放的創(chuàng)客制造的文檔,也推薦大家去看官方文檔

首先創(chuàng)建一個工作空間,然后切換到工作空間進(jìn)行編譯

mkdir -p rosdemo_ws/src
cd rosdemo_ws/
catkin_make

方法一 終端運行

機(jī)器人底盤連接到電腦,關(guān)閉turtlebot所有終端窗口,打開一個新的中斷,聽到提示音后,機(jī)器人底盤成功連接

roslaunch turtlebot_bringup minimal.launch

在工作空間下,下載源代碼

sudo git clone https://github.com/markwsilliman/turtlebot/

切換目錄

cd turtlebot

運行測試腳本,這里有兩個都可以作為測試腳本,goforward.py 或者 draw_a_square.py

python goforward.py

能夠看到機(jī)器人向前移動,按下Ctrl + c,停止運行

接著打開腳本

sudo gedit goforward.py

可以對速度等參數(shù)進(jìn)行修改,比如如下

# let's go forward at 0 m/s
move_cmd.linear.x = 0
# let's turn at 0.5 radians/s
move_cmd.angular.z = 0.5

保存退出,重新運行程序,可以看到更改后的效果

運行另一個測試的腳本,你會看到Turtlebot2在地板上畫正方形

python draw_a_square.py

至此,完成Turtlebot2的測試,但是為了更加方便我們開發(fā),個人覺得用gedit打開代碼不是很舒服,所以第二種方法我們安裝配置VScode,這里VScode安裝以及配置方法可以參考VScode配置

方法二 VScode運行實現(xiàn)精確控制

在之前的測試中,只能用Ctrl + c停止運行,可以實現(xiàn)更加精確的控制嗎?比如我想前進(jìn)1米,在轉(zhuǎn)彎30度,在前進(jìn)2米,最好我可以通過終端傳入?yún)?shù)來控制移動距離或者傳入角度

這里參考了上述歷程中的想法,比如設(shè)置機(jī)器人的移動速度為 0.2m/s 運行 5s 的時間就能夠?qū)崿F(xiàn)移動1m的控制目標(biāo)

代碼如下所示,添加對輸入?yún)?shù)個數(shù)進(jìn)行檢測

#import
import sys

#main
if __name__ == '__main__':
	
	#judge the number of  param
	if len(sys.argv) != 3:
		rospy.logerr("Input error")
		sys.exit(1)

	# ros  running
	try:
		DrawASquare()
	except:
		rospy.loginfo("node terminated.")

接著對DrawASquare()函數(shù)根據(jù)自己的需求進(jìn)行更改,這里展示部分,簡單實現(xiàn)了所需功能

while not rospy.is_shutdown():
	if(str(sys.argv[1]) == 'line'):
		#if go forward 0.2 m (1 seconds * 0.2 m / seconds)
		rospy.loginfo("Going Straight")
		for x in range(0,int(float(sys.argv[2])*5*5)):
			self.cmd_vel.publish(move_cmd)
			r.sleep()
	count = count + 1
	if(count == 1): 
		sys.exit(1)

這里移動的距離通過for循環(huán)中的參數(shù)進(jìn)行設(shè)置,完成了腳本的編寫之后,編譯沒問題之后進(jìn)行仿真設(shè)計。

Rviz Gazebo仿真實現(xiàn)

1.首先為地圖創(chuàng)建一個文件夾

mkdir ~/turtlebot_custom_maps

2.推出Gazebo的世界

roslaunch turtlebot_gazebo turtlebot_world.launch

3.啟動地圖建設(shè)

roslaunch turtlebot_gazebo gmapping_demo.launch

4.使用rviz的地圖構(gòu)建過程可視化

roslaunch turtlebot_rviz_launchers view_navigation.launch

這里上邊給出的是官方的文件,但是在我的路徑中沒有找到,最后發(fā)現(xiàn)在我的文件中,命名為 view_robot.launch,更改為如下指令

roslaunch kobuki_rviz_launchers view_robot.launch

到此就成功打開了Gazebo 和 Rviz

Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)

問題匯總:

在仿真運行過程中可能會遇到的問題
1.RLException: [xx.launch] is neither a launch file in package [x] nor is [x] a launch file name

原因:沒有添加環(huán)境變量

解決方法:
回去再次編譯,添加環(huán)境變量(建議報類似錯誤時候 source一下,可能有意想不到的效果哈哈)

catkin_make
source ./devel/setup.bash

2.Rviz 啟動后 No transform from [base_link] to [map]
robotmodel下的Status狀態(tài)是紅色的,而且右側(cè)顯示的機(jī)械臂上附近有不明的大片的白色

原因:缺少unicode

解決方法
安裝 unicode 關(guān)閉終端,重新啟動 Rviz

sudo apt-get install unicode

結(jié)合仿真與機(jī)器人控制

我們在仿真中,運行之前寫的精確控制機(jī)器人移動的腳本,直觀進(jìn)行展示

cd到python腳本的工作空間,編譯成功后,代碼如上,輸入第一個參數(shù)為走直線的指令(line),第二個參數(shù)為移動距離(1m)

rosrun test01_hello draw_a_square.py line 1

Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)

Rviz中看到機(jī)器人移動距離大約為1m(大約一個格子的距離)

Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)

當(dāng)然你也可以控制機(jī)器人旋轉(zhuǎn)固定的角度,輸入第一個參數(shù)為旋轉(zhuǎn)的指令(rotate),第二個參數(shù)為旋轉(zhuǎn)角度(90)

rosrun test01_hello draw_a_square.py rotate 90
rosrun test01_hello draw_a_square.py line 1

Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)

不僅可以在Rviz中看到機(jī)器人移動,也可以在Gazebo中看到機(jī)器人移動畫面,這里不做展示。

還可以通過鍵盤控制機(jī)器人的移動

roslaunch turtlebot_teleop keyboard_teleop.launch

小結(jié)

本篇主要記錄自己在做畢設(shè)過程中的一些過程與經(jīng)驗,部分地方的內(nèi)容不是很詳細(xì),但是已附上參考鏈接,希望給到大家?guī)椭?,遇到問題可以多百度一下,很多大佬都給出了詳細(xì)的解決方案,祝您科研順利文章來源地址http://www.zghlxwxcb.cn/news/detail-424187.html

到了這里,關(guān)于Ubuntu18.04 Turtlebot2機(jī)器人移動控制 Rviz Gazebo仿真實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 機(jī)器人入門(五)—— 仿真環(huán)境中操作TurtleBot

    機(jī)器人入門(五)—— 仿真環(huán)境中操作TurtleBot

    進(jìn)行實操之前,先準(zhǔn)備環(huán)境 環(huán)境準(zhǔn)備好后,執(zhí)行以下命令啟動 可以看見以下效果,視角不舒服的話,就按 Ctrl+Shift+鼠標(biāo)左鍵 調(diào)整調(diào)整至你喜歡的視角,并通過滾輪縮放大小。 按如下順序點擊,TurtleBot將被一個白色框線框住,并可以查看姿態(tài)信息 也可以用以下命令,打印出

    2024年04月26日
    瀏覽(23)
  • ROS Turtlebot3多機(jī)器人編隊導(dǎo)航仿真

    ROS Turtlebot3多機(jī)器人編隊導(dǎo)航仿真

    前面已經(jīng)實現(xiàn)了在gazebo仿真環(huán)境中機(jī)器人一字型編隊、三角形編隊、N字型編隊等仿真,接下來考慮多機(jī)器人編隊在編隊行進(jìn)過程中的避障問題,通過在RVIZ中加載多個機(jī)器人使他們能分別進(jìn)行全局和局部路徑規(guī)劃,來進(jìn)行避障。 在前面的文章中也提到過在gazebo仿真環(huán)境中加載

    2024年02月02日
    瀏覽(19)
  • 木葉飛舞之【機(jī)器人ROS2】篇章_第二節(jié)、turtlebot3安裝

    沒有真實小車的情況下,利用gazebo的仿真,操作小烏龜來學(xué)習(xí)ros2。廢話不多說,直接上命令。 假如前一節(jié)未安裝源碼版本的cartographer,那就安裝apt版本的。 將pbstream轉(zhuǎn)化為pgm和yaml,在cartographer_pbstream_to_ros_map目錄下執(zhí)行

    2024年02月11日
    瀏覽(58)
  • ROS仿真軟件Turtlebot-Gazebo的安裝使用以及錯誤處理[機(jī)器人避障]

    ROS仿真軟件Turtlebot-Gazebo的安裝使用以及錯誤處理[機(jī)器人避障]

    ????????很多時候由于機(jī)器人價格比較貴,而且會因為環(huán)境因素、操作失誤或者摔壞等,所以我們可以先在仿真軟件上做測試,也可以避免這些問題,雖然沒有那么真實感,可畢竟是免費的嘛。我們可以在這些仿真的機(jī)器人身上去學(xué)習(xí)如何控制機(jī)器人,讀取它們的傳感器數(shù)

    2024年02月08日
    瀏覽(26)
  • 機(jī)器人操作系統(tǒng)ROS(11)Turtlebot3自動避障及其地圖構(gòu)建和導(dǎo)航

    機(jī)器人操作系統(tǒng)ROS(11)Turtlebot3自動避障及其地圖構(gòu)建和導(dǎo)航

    該節(jié)需要完成前面一節(jié)內(nèi)容實現(xiàn)turtlebot3正常創(chuàng)建新地圖,才可以實現(xiàn)本節(jié)的自動避障和導(dǎo)航 啟動虛擬機(jī)器人有環(huán)境的仿真 鍵盤控制 打開新端口 3. 自動避障 打開新端口 4. 調(diào)用rviz 注意:可以通過修改size來變化激光掃描邊緣的粗細(xì) 之前已經(jīng)啟動無需再起世界地圖 啟動好后可

    2024年02月02日
    瀏覽(51)
  • ubuntu20.04_ROS中運行g(shù)azebo控制機(jī)器人模型報錯

    1.無法啟動類型為[controller_ manager/spawner]的節(jié)點:controller_ manager ERROR: cannot launch node of type [controller_manager/spawner]: controller_manager ROS path [0]=/opt/ros/noetic/share/ros ROS path [1]=/home/lym/catkin_ws/src ROS path [2]=/opt/ros/noetic/share 解決辦法:安裝controller_manager 2.控制器生成程序找不到預(yù)期的控

    2024年02月16日
    瀏覽(24)
  • ROS2下使用TurtleBot3-->SLAM導(dǎo)航(仿真)RVIZ加載不出機(jī)器人模型

    ROS2下使用TurtleBot3-->SLAM導(dǎo)航(仿真)RVIZ加載不出機(jī)器人模型

    在使用臺式機(jī)進(jìn)行仿真時,大部分例程很順利,但在SLAM導(dǎo)航時,在RVIZ中卻一直加載不出機(jī)器人模型,點擊Navigation2 Goal選擇目標(biāo)點進(jìn)行導(dǎo)航時,無響應(yīng)。 啟動后在RVIZ2和終端看到一個錯誤 按照官網(wǎng)的指令試了多次,一直無法加載,在網(wǎng)上趙的解決方案都是修改RVIZ里的各種設(shè)

    2024年02月09日
    瀏覽(91)
  • Linux系統(tǒng) Ubuntu18.04安裝的詳細(xì)教程(提供18.04ubuntu鏡像)

    Linux系統(tǒng) Ubuntu18.04安裝的詳細(xì)教程(提供18.04ubuntu鏡像)

    鏡像文件下載: 鏈接:https://pan.baidu.com/s/12bEdRBwO1YbLt23QKnrSrA 提取碼:h7as 關(guān)于全名、用戶名區(qū)別可先看第四部分 處理器和內(nèi)核數(shù)量,根據(jù)需要配置就行。我是8核16線程,配置2,2。小白學(xué)習(xí)的話,配置低一點沒關(guān)系。如果你只是為了學(xué)一些基礎(chǔ)命令,配置成1,1應(yīng)該也沒問題

    2024年02月01日
    瀏覽(103)
  • Ubuntu18.04 升級Ubuntu20.04

    Ubuntu18.04 升級Ubuntu20.04

    因項目環(huán)境需要,欲將Ubuntu18.04升級至Ubuntu20.04,參考網(wǎng)上其他小伙伴的方法,也遇到了一個問題,特此記錄一下,希望能幫助其他有同樣問題的小伙伴。 參考:第十五章 Ubuntu18.04LTS升級到20.04LTS 主要的步驟: 在執(zhí)行“do-release-upgrade”時,遇到“Failed to connect to https://changel

    2024年02月02日
    瀏覽(28)
  • Ubuntu(18.04)換源

    Ubuntu(18.04)換源

    主要參考Ubuntu(18.04)更換國內(nèi)源方法及注意事項_muxi_712的博客-CSDN博客 為防止其刪除博客,本文簡單重新梳理一遍: 跳轉(zhuǎn): 查看: 備份: 替換: 這里使用清華源:打開https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/,選擇對應(yīng)的Ubuntu版本。當(dāng)然也可以選擇其他源比如阿里源,中科大源

    2024年02月04日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包