Simulink生成ROS代碼詳細攻略

前期準備

系統:Ubuntu 16.04 LTS
軟件版本:ROS Kinetic、MATLAB 2018a linux版

查看本機IP

首先打開終端輸入

ifconfig

可以查看在這裏插入圖片描述

MATLAB與ROS建立通訊連接

在HOME文件夾下通過 ctrl+H 可以查看隱藏文件,找到 .bashrc文件
在這裏插入圖片描述
打開 .bashrc文件,並在文件末端添加你的IP,然後保存退出。
例如

export ROS_IP=192.169.0.9

在這裏插入圖片描述
現在在終端種運行roscore可以看到在這裏插入圖片描述
然後打開你的matlab。
在命令行窗口輸入
setenv(‘ROS_MASTER_URI’,‘http://192.168.0.9:11311’)
建立連接
然後繼續輸入rosinit,測試是否可以與Master主節點建立通訊,若通訊成功可以看到:在這裏插入圖片描述
爲了方便測試,仿真使用ROS自帶的turtlesim

rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

現在正常應該通過鍵盤的方向鍵控制小烏龜運動在這裏插入圖片描述
現在可以查看當前的topic
使用 rostopic list查看
在這裏插入圖片描述
然後可以建立simulink模型
使用Robotics System Toolbox工具箱中的ROS工具包。其中的Subscribe模塊可以接收當前的運行中的topic信息。
在這裏插入圖片描述
通過搭建模型查看當前topic中的信息
在這裏插入圖片描述
再次使用鍵盤控制小烏龜運動,數據就會被scope記錄下來
在這裏插入圖片描述

simulink自動生成ROS代碼

首先查看cmd_vel的數據類型
rostopic info /turtle1/cmd_vel
在這裏插入圖片描述
進一步查看msg的類型
rosmsg show geometry_msgs/Twist在這裏插入圖片描述
使用ROS工具包中的Blank Message模塊接收數據
在這裏插入圖片描述
使用ROS工具包中的Publish模塊發送信息在這裏插入圖片描述
想要控制小烏龜做圓環運動只需要發送X線速度和Z角速度
在這裏插入圖片描述
然後運行就可以看到小烏龜做圓周運動
在這裏插入圖片描述
代碼生成需要對simulink進行一些設置
在Simulink的Model Configuration Parameters—Hardware Implementation中選中Robot Operating System後點擊確定,同時還要注意求解器一定要選離散型。
在這裏插入圖片描述
在這裏插入圖片描述
再點擊代碼生成按鈕,即可生成相應的C++代碼。
在這裏插入圖片描述
在這裏插入圖片描述
顯示這裏說明代碼生成成功
文件目錄下會出現編譯好的文件
在這裏插入圖片描述
然後在這個目錄下進行編譯

./build_ros_model.sh rostest2.tgz ~/catkin_ws/

在這裏插入圖片描述
顯示編譯成功
在catkin_ws下catkin_make編譯一下就可以使用了.就可以看到小烏龜和剛纔仿真的那樣開始做相同的圓周運動了。

rosrun rostest2 rostest2_node

在這裏插入圖片描述
純屬自己的學習記錄,歡迎各位大佬指正交流!
教學視頻:https://download.csdn.net/download/weixin_42313598/12269508
demo代碼:https://download.csdn.net/download/weixin_42313598/12269433

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章