您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么在gazebo中添加物體”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
%% 修改成虛擬機(jī)IP地址
ipaddress = '192.168.137.129';
%% 初始化
rosinit(ipaddress)
%% 獲取gazebo元素
gazebo = ExampleHelperGazeboCommunicator();
%% 新建一個(gè)球
ball = ExampleHelperGazeboModel('Ball');
%% 設(shè)置球的詳細(xì)
spherelink = addLink(ball,'sphere',0.6,'color',[0 0 1 1]);
%% 放置球
spawnModel(gazebo,ball,[8.5,0,1]);
%% 定義幾個(gè)物體位置
x = [1.5 1.5 1.5 1.5 2.5 2.5 2.5 3.5 3.5 4.5];
y = [-1.5 -0.5 0.5 1.5 -1 0 1 -0.5 0.5 0];
%% 新建一個(gè)立柱
pin = ExampleHelperGazeboModel('BowlPin');
%% 設(shè)置立柱的詳細(xì)
link1 = addLink(pin,'cylinder',[1 0.2],'position',[0,0,0.5]);
link2 = addLink(pin,'sphere',0.2,'position',[0,0, 1.2],'color',[0.7 0 0.2 1]);
joint = addJoint(pin,link1,link2,'revolute',[0 0],[0 0 1]);
%% 放置這些立柱
for i = 1:10
spawnModel(gazebo,pin,[x(i),y(i),0.7]);
pause(1);
end
%% 如果上次那個(gè)機(jī)器人在里面就把它移除
if ismember('mobile_base',getSpawnedModels(gazebo))
removeModel(gazebo,'mobile_base');
end
%% 新建一個(gè)屏障
barrier = ExampleHelperGazeboModel('jersey_barrier','gazeboDB');
%% 放置屏障
spawnModel(gazebo,barrier,[1.5,-3,0]); % Right barrier
pause(1);
spawnModel(gazebo,barrier,[1.5,3,0]); % Left barrier
%% 通過(guò)名字取得剛剛放置的藍(lán)色球
spawnedBall = ExampleHelperGazeboSpawnedModel(ball.Name,gazebo);
%% 設(shè)置外力的大小方向時(shí)間
duration = 1; % Seconds
forcevec = [-75 0 0]; % Newtons
%% 施加外力
applyForce(spawnedBall, spherelink, duration, forcevec);
pause(5);
%% 清除球和立柱
exampleHelperGazeboCleanupBowling;
%% 清空
clear
%% 關(guān)閉連接
rosshutdown
運(yùn)行該程序需要matlab2016b環(huán)境
“怎么在gazebo中添加物體”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。