1. 程式人生 > >MATLAB與ROS開始(2)

MATLAB與ROS開始(2)

2、開始

          (1)初始化,在終端下設定環境變數為0輸入:export SVGA_VGPU10=0  

          (2)繼續,進入工作空間:cd ros_ws

                        連結模擬環境:  ./baxter.sh sim

                       開啟gazebo:  roslaunch baxter_gazebo baxter_world.launch  

          (3)開啟模擬器後,重新開啟一個終端鍵入程式碼:

                                   進入工作空間:cd ros_ws

                                  連結模擬環境:  ./baxter.sh sim     這裡使能在MATLAB中執行。

   2)MATLAB端:機器人使能和簡單運動演示   

             (1)準備工作:下載:Baxter Communicator Class

                                       下載:Robotics System Toolbox Interface for ROS Custom Messages 

           安裝到確定的目錄下,新增到MATLAB的路徑下;然後在虛擬機器中操作如下,

    

          (2)matlab_gen檔案產生的前提是安裝了Robotics System Toolbox Interface for ROS Custom Messages 後在

MATLAB命令列輸入:rosgenmsg(‘baxter_common’)  出現如下內容,等待直到出現右圖

如下:在前加上<before>

然後按照MATLAB的指示:addpath('C:\Users\hasee\Documents\MATLAB\baxter_common\matlab_gen\msggen')

重啟MATLAB。

       (3)重啟後就會在baxter_common目錄下找到matlab_gen檔案。

       (4)執行:rosinit('192.168.244.129'),再執行BaxterCommWithSim.m,出現如下

然後程式碼:

%% close last rosmastre
rosshutdown
%% connect ros
rosinit('192.168.244.129')
%% To connect to simulation:
bc = BaxterCommWithSim(true);  % for simulation
%% Turn on Servos
enable(bc);
%% Start timer to periodically update the joint commands
%baxterStartTimerForRobot;
 baxterStartTimerForSim;
 %% Untuck both arms
untuck(bc, 3);
%% Turn off servos
disable(bc);
%% Stop and delete timer started in baxterStartTime
stop(timer1);
delete(timer1);

%% Shutdown ROS
rosshutdown;

按小結執行!!!方便檢視每一節的結果在MATLAB中或ROS下。如下機器人使能

如下機器人運動:

總結:以上為瞎折騰一週的初步結果,但邁出了MATLAB控制ROS端Baxter機器人的第一步,道路且遠且長!!!

                                                                                                               致:不知所為何事的傻子

                                                                                                                         2018年10月24日