目录
一、项目地址
先放上项目地址:https://github.com/quyinsong/roscar_ws.git
该项目主要练习ROS话题通信机制
1 拷贝源码及构建
在主目录下创建文件夹roscar_ws:
mkdir roscar_ws
拷贝代码到本地文件夹:
git clone https://github.com/quyinsong/roscar_ws.git
在roscar_ws文件夹下运行:
catkin_make
构建可能遇到的问题:找不到自定义消息头文件,比如car_model/states.h,car_model/controls.h
解决办法:打开car_model/CMakeList.txt文件,注释
add_message_files(
FILES
states.msg
# controls.msg
# test.msg
)
再次执行:catkin_make
然后注释如下:
add_message_files(
FILES
states.msg
controls.msg
# test.msg
)
再次执行:catkin_make
此时项目可以完全构建成功
构建完后的项目结构:
2 设置环境变量
把当前工作空间的环境变量设置到bash中并source bashrc文件使其生效:
echo "source ~/roscar_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
3 运行相关节点
首先在一个终端运行roscore
然后另外分别打开三个终端分别输入如下指令
rosrun car_model test_car_model
rosrun myplot test_plot
rosrun controller test_nmpc
二、项目参考
1 小车模型与NMPC参考博客:
CasADi学习(2)_casadi mpc_Tomcattiger的博客-CSDN博客
2 casadi构建NMPC参考博客:
基于casadi的MPC定点控制-非完整约束小车模型_一只小白白的博客-CSDN博客
3 ROS话题通信参考:
cn/ROS/Tutorials/WritingPublisherSubscriber(c++) - ROS Wiki
ROS中处理回调数据_ros回调函数_陈三章的博客-CSDN博客