直接基于 sl_drivepoint 模型,订阅机器人的 /neor_foxy_mini/pose坐标信息 xy,将其作为反馈信息求出前轮偏转角 gamma和速度 v(两个公式),发布一个自己的topic节点 sim_akm_topic ( AckermannDrive类型的信息),自己在wsl写一个订阅节点,订阅 sim_akm_topic并将信息转化为 AckermannDriveStamp类型发布给 /neor_foxy_mini/cmd_ackermann话题
S1 在matlab界面用ros2genmsg()加入ackermann_msgs_master中的AckermannDrive.msg
使用教程:
[Generate custom messages from ROS 2 definitions - MATLAB ros2genmsg
- MathWorks 中国](https://ww2.mathworks.cn/help/ros/ref/ros2genmsg.html)
S2 在wsl中 (1)终端1中打开empty_world
cd neor_mini/sim_20_ws
source install/setup.bash
ros2 launch neor_mini_foxy neor_mini_gazebo.launch.py world:=empty(2)终端2打开中介节点
cd akm/akm_ws
source install/setup.bash
ros2 run ackermann_interface akm_topicS3 在simulink中,打开drpoint.slxc,配置好ros2之后运行
仿真结果:
小车到达了(5,5)的位置并停止

