1、前记:在阅读了MATLAB 控制baxter机器人相关信息(个人记录--学习用)的部分内容之后,尝试了通过MATLAB控制ROS中的Baxter机器人。
2、开始
1)ROS端:不像MATLAB与ROS开始(1)中那样,ROS端的主要步骤还是打开gazebo进入baxter仿真环境运行简单例子中最后的总结。
(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
地址:https://jp.mathworks.com/matlabcentral/fileexchange/63564-baxter-communicator-class
下载:Robotics System Toolbox Interface for ROS Custom Messages
地址:https://www.mathworks.com/matlabcentral/fileexchange/49810-robotics-system-toolbox-interface-for-ros-custom-messages 或者直接在Addon(附加功能中添加)
安装到确定的目录下,添加到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日