91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在gazebo中施加作用力

發布時間:2021-12-09 16:58:00 來源:億速云 閱讀:238 作者:柒染 欄目:大數據

這篇文章給大家介紹怎么在gazebo中施加作用力,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

怎么在gazebo中施加作用力  

修改成虛擬機IP地址

  ipaddress = '192.168.137.129';

初始化

 rosinit(ipaddress)

獲取gazebo元素

 gazebo = ExampleHelperGazeboCommunicator();

新建并放置三個可以打開的門

 doormodel = ExampleHelperGazeboModel('hinged_door','gazeboDB');

 door1 = spawnModel(gazebo,doormodel,[-1.5 2.0 0]);

 door2 = spawnModel(gazebo,doormodel,[-1.5 0.5 0],[0 0 pi]);

 door3 = spawnModel(gazebo,doormodel,[-1.5 -2.5 0]);

獲取第一個門的運動副

 [links, joints] = getComponents(door1);

在第一個門的運動副上施加作用效果

 stopTime = 5; % Seconds 

 effort = 3.0; % Newton-meters

 jointTorque(door1, joints{2}, stopTime, effort);

在第二個門的運動副上施加力矩

 forceVector = [0 0 0];     % Newtons

 torqueVector = [0 0 3];    % Newton-meters

 applyForce(door2, links{2}, stopTime, forceVector, torqueVector);

在第二個門的運動副上施加力

 forceVector = [0 -2 0];     % Newtons

 applyForce(door2, links{2}, stopTime, forceVector);

直接設置第三個門的運動副狀態

 angdelta = 0.1;    % Radians

 dt = 0;            % Seconds

 angle = 0;         % Radians

 tic

 while (toc < stopTime)


     if angle > 1.5 || angle < 0     % In radians

         angdelta = -angdelta;        

     end

    

     angle = angle+angdelta;        

     setConfig(door3,joints{2},angle); 

     pause(dt);

 end

新建并放置一個新的移動robot

 botmodel = ExampleHelperGazeboModel('turtlebot','gazeboDB');

 bot = spawnModel(gazebo,botmodel,[1,0,0]);

設置robot的姿態

 setState(bot,'orientation',[0 0 pi/2]);

獲取robot的運動副

[botlinks, botjoints] = getComponents(bot);

在robot的運動副上施加作用效果

turnStopTime = 1;       % Seconds

turnEffort = 0.2;       % Newton-meters

jointTorque(bot, botjoints{2}, turnStopTime, turnEffort)

新建并放置一個新的移動robot2

 bot2 = spawnModel(gazebo,botmodel,[2,0,0]);

 [botlinks2, botjoints2] = getComponents(bot2);

在robot2的運動副上施加作用力

 applyForce(bot2,botlinks2{1},2,[0 1 0]);

 在robot2的運動副上施加作用力

 applyForce(bot2,botlinks2{1},2,[1 0 0]);

在robot2的運動副上施加作用力矩

 applyForce(bot2,botlinks2{1},2,[0 0 0],[0 0 1]);

新建具有彈性的小球

 bounce = 1;    % Unitless coefficient

 maxCorrectionVelocity = 10;    % Meters per second

 ballmodel = ExampleHelperGazeboModel('ball');

 addLink(ballmodel,'sphere',0.2,'color',[0.3 0.7 0.7 0.5],'bounce',[bounce maxCorrectionVelocity]);

放置具有彈性的一高一低小球兩個

 spawnModel(gazebo,ballmodel,[0 1 2]);

 spawnModel(gazebo,ballmodel,[0 1 3]);

 

 pause(5);

清除gazebo中的物體

 exampleHelperGazeboCleanupApplyForces;

情況變量

clear

關閉連接

rosshutdown

關于怎么在gazebo中施加作用力就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德兴市| 江永县| 东方市| 金华市| 平度市| 阿克陶县| 安化县| 登封市| 台中县| 中宁县| 南雄市| 九江县| 乌拉特后旗| 泸西县| 长汀县| 新建县| 普兰店市| 禹城市| 梁河县| 唐海县| 翁牛特旗| 兖州市| 安顺市| 双峰县| 鸡西市| 河西区| 峨山| 恩平市| 凤阳县| 镶黄旗| 宜兰市| 沈丘县| 宁晋县| 湛江市| 手游| 龙里县| 定远县| 双桥区| 饶阳县| 武鸣县| 雅江县|