- 根据金宝app教程的一个模拟模型这里是创造的。Matlab提供的虚拟机潇洒和凉亭(其中ROS桥用于ROS2交互)成功地从Gazebo模拟中提取了Turtlebot3 /scan和/odom主题,以构建2D地图。
2.在一个真实的Tur金宝apptlebot3上使用了相同的Simulink模型,该Turtlebot3预装了Ubuntu 18.04.3服务器作为sbc操作系统。奇怪的是,奥多姆的数据是可用的,
但是可以测量/扫描数据(所有Scan.Signal.Values是0)。
3.从2。可以通过在主机PC上新安装的Gazebo模拟来确认
- Ubuntu 18.04 LTS.
- 为ROS2划伤DIADEMATA
- MATLAB 2020B.
使用从3中描述的设置执行以下测试。为了更容易地测试基本的ROS2 MATLAB命令。
准备进一步调查
露台和键盘远程操作启动:
$ ros2发布turtlebot3_gazebo turtlebot3_world.launch.py
$ ros2运行turtlebot3_teleop teleop_keyboard
Matlab和Ubuntu主机之间的连接正在工作:
>> ROS2主题list -t.
话题MessageType
________________________________________________________
{'/ camera / camera_info'} {“sensor_msgs / CameraInfo”}
{'/ camera / image_raw'} {'sensor_msgs /图像'}
{'/时钟'} {'rosgraph_msgs / clock'}
{' / cmd_vel '} {geometry_msgs /“扭转操作”}
{'/ imu'} {'sensor_msgs / imu'}
{'/ connt_states'} {'sensor_msgs / thredstate'}
{'/ odom'} {'nav_msgs / odometry'}
{'/ parameter_events'} {'rcl_interfaces / parameterevent'}
{'/ robot_description'} {“std_msgs /字符串”}
{' / rosout '} {“rcl_interfaces /日志”}
{“/扫描”} {'sensor_msgs / laserscan'}
{'/ tf'} {'tf2_msgs / tfmessage'}
{'/ tf_static'} {'tf2_msgs / tfmessage'}
错误信息
要获得激光扫描数据,使用以下命令:
检测= ros2node(“/ tb3_scan”);
暂停(2)
LaserSub = ROS2Subscriber(检测,“/扫描”);
暂停(2)
Scandata =接收(Lasersub,10);
这导致错误消息
错误使用ROS2subscriber /接收(第458行)
订户没有收到任何消息,超时。
在Ubuntu主持人上,
$ ros2主题回声扫描
将激光扫描数据输出到GNOME终端:数据似乎可用。
进一步测试
- 用/ odom测试:
DetectNodeDoM = ROS2NODE(“/ tb3_odom”);
暂停(2)
ODOMOSUB = ROS2SUBSCRIBER(DetectNodeodoM,“/”奥多姆);
暂停(2)
odomdata =接收(odomsub,10);
没有错误消息,工作区中可用ODOMData。
2.用/cmd_vel测试得到的结果与用/odom小于1时相同。(工作区中可用的数据)。
3.命令
显示没有消息。
相同的命令显示GNOME终端中的邮件量。
任何帮助都得到了赞赏。