版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)踐課-創(chuàng)建仿真機(jī)器人與實(shí)體機(jī)器人同步課程內(nèi)容: 本節(jié)主要介紹Arbotix控制機(jī)器人模型運(yùn)動(dòng)的功能,以及操控實(shí)體機(jī)器人和仿真機(jī)器人的同步運(yùn)動(dòng)。教學(xué)目標(biāo):掌握Arbotix控制機(jī)器人模型運(yùn)動(dòng)掌握啟動(dòng)實(shí)體機(jī)器人運(yùn)動(dòng)的demo掌握操作實(shí)體機(jī)器人及仿真機(jī)器人進(jìn)行同步運(yùn)動(dòng)一.控制仿真機(jī)器人運(yùn)動(dòng)1.準(zhǔn)備工作先去github下載Spark的代碼:$cd~$gitclone/NXROBO/spark_noetic.git在Spark的開發(fā)包里,已經(jīng)包含了Spark的仿真啟動(dòng)環(huán)境,我們先從啟動(dòng)腳本入手來了解下Spark的仿真啟動(dòng)內(nèi)容。launch文件路徑: spark_noetic/src/spark/spark_description/launch/spark_description_rviz.launch2.加載模型下圖是launch文件的具體內(nèi)容。<!--sparkdescriptionwithrviz--><launch><argname="camera_type_tel"default="astrapro"doc="cameratypes[asatra,astrapro,d435...]"/><argname="lidar_type_tel"default="3iroboticslidar2"doc="lidartype[3iroboticslidar2,ydlidar_g2]"/><argname="model"default="$(findspark_description)/robots/spark.urdf.xacro"/><argname="use_gui"default="false"/><argname="publish_default_positions"default="true"/><paramname="robot_description"command="$(findxacro)/xacro--inorder'$(argmodel)'camera_type_tel:=$(argcamera_type_tel)lidar_type_tel:=$(arglidar_type_tel)"/><nodename="joint_state_publisher"pkg="joint_state_publisher"type="joint_state_publisher"> <paramname="use_gui"value="$(arguse_gui)"/> <paramname="publish_default_positions"value="$(argpublish_default_positions)"/> <rosparamparam="source_list">["wheel_states"]</rosparam></node><nodename="robot_state_publisher"pkg="robot_state_publisher"type="state_publisher"/><!--showrobowithrviz--><argname="rvizconfig"default="$(findspark_description)/rviz/urdf.rviz"/><nodename="rviz"pkg="rviz"type="rviz"args="-d$(argrvizconfig)"required="true"/></launch>可以看出,這里定義了一個(gè)model變量,實(shí)際上他是指定一個(gè)機(jī)器人的urdf的描述文件。腳本啟動(dòng)了三個(gè)節(jié)點(diǎn),joint_state_publisher、robot_state_publisher和rviz。而joint_state_publisher和robot_state_publisher兩個(gè)節(jié)點(diǎn)均屬于ros_control包中的工具。啟動(dòng)仿真機(jī)器人,運(yùn)行下面命令:$roslaunchspark_descriptionspark_description_rviz.launch3.控制模型運(yùn)動(dòng)在launch文檔中,我們只是加載了ros_control的相關(guān)節(jié)點(diǎn)以及rviz仿真器,它僅僅只是將我們的spark顯示出來。為了讓我們的仿真spark動(dòng)起來,我們還需要一個(gè)底盤的模擬節(jié)點(diǎn),在此我們使用arbotix這個(gè)包來完成此功能。$sudoaptinstallros-noetic-arbotix之后創(chuàng)建src/spark/spark_description/config/fake_spark_arbotix.yaml配置文件,用以仿真spark底盤參數(shù):mkdir–pspark_noetic/src/spark/spark_description/configcdspark_noetic/src/spark/spark_description/config/touchfake_spark_arbotix.yamlgeditfake_spark_arbotix.yaml4.修改配置文件fake_spark_arbotix.yaml文件內(nèi)容如下:port:/dev/ttyUSB0baud:115200rate:20sync_write:Truesync_read:Trueread_rate:20write_rate:20controllers:{#Pololumotors:1856cpr=0.3888105mtravel=4773tickspermeter(empirical:4100)base_controller:{type:diff_controller,base_frame_id:base_footprint,base_width:0.26,ticks_meter:4100,Kp:12,Kd:12,Ki:0,Ko:50,accel_limit:1.0}}5.啟動(dòng)新建launch文件命名為spark_description_arbotix.launch,具體代碼如下:<!--sparkdescriptionwithrviz--><launch><argname="camera_type_tel"default="astrapro"doc="cameratypes[asatra,astrapro,d435...]"/><argname="lidar_type_tel"default="3iroboticslidar2"doc="lidartype[3iroboticslidar2,ydlidar_g2]"/><argname="model"default="$(findspark_description)/robots/spark.urdf.xacro"/><argname="use_gui"default="false"/><argname="publish_default_positions"default="true"/><paramname="robot_description"command="$(findxacro)/xacro--inorder'$(argmodel)'camera_type_tel:=$(argcamera_type_tel)lidar_type_tel:=$(arglidar_type_tel)"/><nodename="joint_state_publisher"pkg="joint_state_publisher"type="joint_state_publisher"> <paramname="use_gui"value="$(arguse_gui)"/> <paramname="publish_default_positions"value="$(argpublish_default_positions)"/> <rosparamparam="source_list">["wheel_states"]</rosparam></node><nodename="robot_state_publisher"pkg="robot_state_publisher"type="robot_state_publisher"/><nodename="arbotix"pkg="arbotix_python"type="arbotix_driver"output="screen"clear_params="true"><rosparamfile="$(findspark_description)/config/fake_spark_arbotix.yaml"command="load"/><paramname="sim"value="true"/></node><!--showrobowithrviz--><argname="rvizconfig"default="$(findspark_description)/rviz/urdf.rviz"/><nodename="rviz"pkg="rviz"type="rviz"args="-d$(argrvizconfig)"required="true"/></launch>啟動(dòng)此launch檔,記得先載入spark環(huán)境:$cdspark_noetic$sourcedevel/setup.bash$roslaunchspark_descriptionspark_description_arbotix.launch6.開始控制我們打開一個(gè)新的terminal,手動(dòng)發(fā)送/cmd_vel這個(gè)topic,就會(huì)看到spark模型動(dòng)起來啦。$rostopicpub-r10/cmd_velgeometry_msgs/Twist'{linear:{x:0.5,y:0,z:0},angular:{x:0,y:0,z:0.5}}'7.鍵盤控制開啟一個(gè)新終端并加載環(huán)境變量,并運(yùn)行:$source~/spark_noetic/devel/setup.bash$rosrunspark_teleopspark_teleop_node這樣我們就可以實(shí)現(xiàn)鍵盤控制,如下圖所示。二.控制實(shí)體機(jī)器人運(yùn)動(dòng)在Spark的開發(fā)包中已經(jīng)提供了底盤的驅(qū)動(dòng),我們只需要啟動(dòng)它,向它發(fā)送速度就可以了,開發(fā)包中還貼心的提供了鍵盤控制程序。Spark的驅(qū)動(dòng)包路徑:src/spark_driver/base/spark_base。發(fā)送命令:$source~/spark_noetic/devel/setup.bash$roslaunchspark_basespark_base.launch啟動(dòng)一個(gè)新的terminal窗口:$rostopicpub-r10/cmd_velgeometry_msgs/Twist'{linear:{x:0.5,y:0,z:0},angular:{x:0,y:0,z:0.5}}'串口設(shè)置正確的話,就能看到spark開始轉(zhuǎn)圈圈啦。也可以在新終端窗口輸入:$source~/spark/devel/setup.bash$rosrunspark_teleopspark_teleop_node這樣就可以實(shí)現(xiàn),通過鍵盤WASD控制SPARK移動(dòng)。三.控制實(shí)體Spark與仿真Spark同步運(yùn)動(dòng)啟動(dòng)實(shí)體Spark:$source~/spark/devel/setup.bash$roslaunchspark_basespark_base.launch啟動(dòng)仿真Spark:$cdspark$sourcedevel/setup.bash$roslaunchspark_descriptionspark_description_rviz.launch新終端窗口輸入如下指令轉(zhuǎn)圈:$rostopicpub-r10/cmd_velgeometry_msgs/Twist'{line
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市物業(yè)服務(wù)合同參考范本
- 萬畝造林工程承包合同
- 互利共贏合同之五:合作發(fā)展綱要
- 不動(dòng)產(chǎn)行政合同:房屋買賣協(xié)議書
- 增資擴(kuò)股新股東合作諒解協(xié)議(2025年)
- 二手房全款交易合同樣本
- 買賣合同賣家義務(wù)及賠償責(zé)任解析
- IT人才培養(yǎng)合作協(xié)議合同模板
- 上海市裝修材料供應(yīng)合同
- 商鋪?zhàn)赓U合同經(jīng)典
- 商標(biāo)法基礎(chǔ)知識(shí)
- 2025年高考物理一輪復(fù)習(xí)之機(jī)械振動(dòng)
- 2024年度市政工程項(xiàng)目三方合作協(xié)議3篇
- 【大學(xué)課件】機(jī)電設(shè)備管理技術(shù)概論
- (2024)甘肅省公務(wù)員考試《行測(cè)》真題及答案解析
- 醫(yī)院醫(yī)務(wù)人員醫(yī)德考評(píng)標(biāo)準(zhǔn)
- 小紅書種草營(yíng)銷師(初級(jí))認(rèn)證考試真題試題庫(含答案)
- 癲癇病人的護(hù)理(課件)
- 企業(yè)資產(chǎn)管理培訓(xùn)
- 2024年WPS計(jì)算機(jī)二級(jí)考試題庫350題(含答案)
- 2024年4月27日浙江省事業(yè)單位招聘《職業(yè)能力傾向測(cè)驗(yàn)》試題
評(píng)論
0/150
提交評(píng)論