日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

如何在matlab中绘制障碍物,Turtlebot与Matlab入门教程-避开障碍物

發(fā)布時間:2023/12/20 循环神经网络 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在matlab中绘制障碍物,Turtlebot与Matlab入门教程-避开障碍物 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

說明:

如何使得Turtlebot向前移動并且當存在障礙物時改變其方向

步驟:

在turtlebot端:

[turtlebot] 啟動Turtlebot

roslaunch turtlebot_bringup minimal.launch

[turtlebot] 啟動雷達

roslaunch rplidar_ros rplidar.launch

在Matlab端:

運行avoiding_obstacles.m文件

運行循環(huán)以向前移動機器人并計算與機器人最近的障礙物。 當障礙物在distanceThreshold的界限內(nèi)時,機器人轉(zhuǎn)動。 該循環(huán)在運行時間20秒后停止。

代碼如下:

rosshutdown

ipaddress = '192.168.0.14';

rosinit(ipaddress);

robot = rospublisher('/mobile_base/commands/velocity');

velmsg = rosmessage(robot);

laser = rossubscriber('/scan');

scan = receive(laser, 3);

figure;

plot(scan);

spinVelocity = 0.6;

forwardVelocity = 0.1;

backwardVelocity = -0.02

distanceThreshold = 0.6;

tic;

while toc < 20

% Collect information from laser scan

scan = receive(laser);

plot(scan);

data = readCartesian(scan);

x = data(:,1);

y = data(:,2);

% Compute distance of the closest

dist = sqrt(x.^2 + y.^2);

minDist = min(dist);

% Command robot action

if minDist < distanceThreshold

% If close to obstacle, back up slightly and spin

velmsg.Angular.Z = spinVelocity;

velmsg.Linear.X = backwardVelocity;

else

% Continue on forward path

velmsg.Linear.X = forwardVelocity;

velmsg.Angular.Z = 0;

end

send(robot,velmsg);

end

clear

rosshutdown

總結(jié)

以上是生活随笔為你收集整理的如何在matlab中绘制障碍物,Turtlebot与Matlab入门教程-避开障碍物的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。