【FishBot四驱V2】资料教程汇总
-
本贴主要汇总FishBot四驱版V2所有配套资料及教程。
Ubuntu22.04上会出现无法识别设备或权限问题,请参考解决:
- 占用:https://fishros.org.cn/forum/topic/1050/ubuntu22-04-ch340系列串口芯片无法识别终极问题解决方案
- 权限:https://fishros.org.cn/forum/topic/1150/串口usb永久权限设置
一、FishBot快速上手系列教程
置顶加黑:推荐使用Ubuntu22.04 ROS2 Humble 版本
置顶加黑:FishBot配置助手及固件发布页面(点我跳转)9.0.0. FishBot学习流程
9.0.1. FishBot四驱V2组装教程 差速轮 | 麦克纳姆轮
9.0.2. 配置助手介绍与下载 视频版 | 图文版
9.0.3. 主控板固件烧录与配置 视频版 |图文版
9.0.4. 使用ROS2键盘控制FishBot 视频版 |图文版
9.0.5. 雷达固件烧录及配置 视频版 |图文版
9.0.6. 雷达驱动及建图测试 视频版 |图文版
9.0.7. FishBot-Nav2导航测试 视频版 |图文版拓展1:FishBot配套雷达驱动教程(源码版)
拓展2:树莓派上使用micros-agent驱动主控板的方法
拓展3:FishBot 树莓派配置建图导航二、搭建一个实体移动机器人(对应书籍第九章四驱版详细版)
- 9.1 移动机器人系统设计
- 9.2.1 开发平台介绍与安装
- 9.2.2 第一个HelloWorld工程
- 9.2.3 使用代码点亮LED灯
- 9.2.4 使用超声波测量距离
- 9.2.5 使用开源库驱动IMU
- 9.3.1 使用开源库驱动多路电机
- 9.3.2 电动机速度测量与转换
- 9.3.3 使用PID控制轮子转速
- 9.3.4 运动学正逆解的实现
- 9.3.5 机器人里程计计算
- 9.4.1 第一个节点
- 9.4.2 订阅话题控制机器人
- 9.4.3 发布机器人里程计话题
- 9.5.1 驱动并显示雷达点云
- 9.5.2 移动机器人的坐标系框架介绍
- 9.5.3 准备机器人URDF
- 9.5.4 发布里程计TF
- 9.5.5 完成机器人建图并保存地图
- 9.5.6 完成机器人导航
相关开源地址
- FishBot主仓库: https://github.com/fishros/fishbot_nav
- FishBot主控板驱动IDF版本-https://github.com/fishros/fishbot-motion-control
- FishBot主控板驱动MicroROS版本-https://github.com/fishros/fishbot_motion_control_microros
- FishBotSDK-https://github.com/fishros/fishbot-motion-driver
- FishBot配置助手-https://github.com/fishros/fishbot_tool
- Fishbot雷达转接板驱动-https://github.com/fishros/fishbot-laser-control
- FishBotROS2驱动-https://github.com/fishros/fishbot-control-ros2
- Fishbot使用的X2雷达驱动-https://github.com/fishros/ydlidar_ros2.git
- FishBot四驱板V1源码: https://github.com/fishros/fishbot_motion_control_microros_four_driver
- 四驱V2底层固件源码: https://github.com/fishros/fishbot_motion_control_microros_four_driver_v2
- 四驱V2建图导航源码:https://github.com/fishros/fishbot_nav
-
小 小鱼 从 中的 FishBot二驱机器人 移动了该主题
-
小 小鱼 在 中固定了该主题
-
小 小鱼 在 中 引用了 这个主题
-
此回复已被删除! -
@2889839823 你等一等我更新下四驱专属教程
-
此回复已被删除! -
使用超声波测距的时候能够使用python语言吗?
-
根据视频教程9.5.5完成机器人建图时,rviz2插件无法加载出map地图,
查看话题如下:
ros@ros-virtual-machine:~$ ros2 topic list
/clicked_point
/cmd_vel
/goal_pose
/initialpose
/joint_states
/map
/map_metadata
/map_updates
/odom
/parameter_events
/point_cloud
/pose
/robot_description
/rosout
/scan
/slam_toolbox/feedback
/slam_toolbox/graph_visualization
/slam_toolbox/scan_visualization
/slam_toolbox/update
/tf
/tf_static
/ydlidar_node/transition_event
ros@ros-virtual-machine:~$
@小鱼 什么原因导致的,怎么排查此问题? -
@2889839823 ros@ros-virtual-machine:~/demo01_ws/fishros_ws$ source install/setup.bash
ros@ros-virtual-machine:~/demo01_ws/fishros_ws$ ros2 launch fishbot_bringup bringup.launch.py
[INFO] [launch]: All log files can be found below /home/ros/.ros/log/2025-05-19-10-35-33-997917-ros-virtual-machine-28449
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [28451]
[INFO] [odom2tf-2]: process started with pid [28453]
[INFO] [micro_ros_agent-3]: process started with pid [28455]
[INFO] [tcp_server-4]: process started with pid [28457]
[micro_ros_agent-3] [1747622134.048096] info | UDPv4AgentLinux.cpp | init | running... | port: 8888
[micro_ros_agent-3] [1747622134.048428] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4
[robot_state_publisher-1] [INFO] [1747622134.074304017] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-1] [INFO] [1747622134.074422352] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1747622134.074429396] [robot_state_publisher]: got segment laser_link
[tcp_server-4] [INFO] [1747622134.233271164] [tcp_socket_server_node]: TCP端口:8889,已映射到串口设备:/tmp/tty_laser
[tcp_server-4] [INFO] [1747622134.233652379] [tcp_socket_server_node]: 等待接受连接..
[tcp_server-4] [INFO] [1747622137.636580747] [tcp_socket_server_node]: 来自('10.0.18.117', 61256)的连接已建立
[INFO] [ydlidar_node-5]: process started with pid [28532]
[ydlidar_node-5] [INFO] [1747622139.131033797] [ydlidar_node]: [YDLIDAR INFO] Current ROS Driver Version: 1.0.1
[ydlidar_node-5]
[ydlidar_node-5] [2025-05-19 10:35:39][info] SDK initializing
[ydlidar_node-5] [2025-05-19 10:35:39][info] SDK has been initialized
[ydlidar_node-5] [2025-05-19 10:35:39][info] SDK Version: 1.2.9
[ydlidar_node-5] [2025-05-19 10:35:39][info] Connect elapsed time 0 ms
[ydlidar_node-5] [2025-05-19 10:35:39][info] Lidar successfully connected [/tmp/tty_laser:115200]
[ydlidar_node-5] [2025-05-19 10:35:39][info] Lidar running correctly! The health status good
[ydlidar_node-5] [2025-05-19 10:35:39][info] Current Lidar Model Code 12
[ydlidar_node-5] [2025-05-19 10:35:39][info] Check status, Elapsed time 0 ms
[ydlidar_node-5] [2025-05-19 10:35:39][info] Lidar init success, Elapsed time [1]ms
[micro_ros_agent-3] [1747622139.452562] info | Root.cpp | create_client | create | client_key: 0x3E84C3B8, session_id: 0x81
[micro_ros_agent-3] [1747622139.452644] info | SessionManager.hpp | establish_session | session established | client_key: 0x3E84C3B8, address: 10.0.19.178:47138
[micro_ros_agent-3] [1747622139.479878] info | ProxyClient.cpp | create_participant | participant created | client_key: 0x3E84C3B8, participant_id: 0x000(1)
[micro_ros_agent-3] [1747622139.487761] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x3E84C3B8, topic_id: 0x000(2), participant_id: 0x000(1)
[micro_ros_agent-3] [1747622139.494860] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x3E84C3B8, publisher_id: 0x000(3), participant_id: 0x000(1)
[micro_ros_agent-3] [1747622139.504490] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x3E84C3B8, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[micro_ros_agent-3] [1747622139.529864] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x3E84C3B8, topic_id: 0x001(2), participant_id: 0x000(1)
[micro_ros_agent-3] [1747622139.538058] info | ProxyClient.cpp | create_subscriber | subscriber created | client_key: 0x3E84C3B8, subscriber_id: 0x000(4), participant_id: 0x000(1)
[micro_ros_agent-3] [1747622139.555822] info | ProxyClient.cpp | create_datareader | datareader created | client_key: 0x3E84C3B8, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[ydlidar_node-5] [2025-05-19 10:35:39][info] Start to getting intensity flag
[ydlidar_node-5] [2025-05-19 10:35:40][info] Auto set intensity 0
[ydlidar_node-5] [2025-05-19 10:35:40][info] [YDLIDAR] End to getting intensity flag
[ydlidar_node-5] [2025-05-19 10:35:40][info] [YDLIDAR] Create thread 0x5ADB4640
[ydlidar_node-5] [2025-05-19 10:35:40][info] Successed to start scan mode, Elapsed time 1553 ms
[ydlidar_node-5] [2025-05-19 10:35:40][info] Scan Frequency: 5.00Hz
[ydlidar_node-5] [2025-05-19 10:35:40][info] Fixed Size: 720
[ydlidar_node-5] [2025-05-19 10:35:40][info] Sample Rate: 3.00K
[ydlidar_node-5] [2025-05-19 10:35:40][info] Scan Frequency: 5.00Hz
[ydlidar_node-5] [2025-05-19 10:35:40][info] Fixed Size: 720
[ydlidar_node-5] [2025-05-19 10:35:40][info] Sample Rate: 3.00K
[ydlidar_node-5] [2025-05-19 10:35:40][info] Scan Frequency: 5.00Hz
[ydlidar_node-5] [2025-05-19 10:35:40][info] Fixed Size: 720
[ydlidar_node-5] [2025-05-19 10:35:40][info] Sample Rate: 3.00K
[ydlidar_node-5] [2025-05-19 10:35:41][info] Scan Frequency: 5.00Hz
[ydlidar_node-5] [2025-05-19 10:35:41][info] Fixed Size: 720
[ydlidar_node-5] [2025-05-19 10:35:41][info] Sample Rate: 3.00K
[ydlidar_node-5] [2025-05-19 10:35:41][info] Scan Frequency: 5.00Hz
[ydlidar_node-5] [2025-05-19 10:35:41][info] Fixed Size: 720
[ydlidar_node-5] [2025-05-19 10:35:41][info] Sample Rate: 3.00K
[ydlidar_node-5] [2025-05-19 10:35:41][info] Single Fixed Size: 380
[ydlidar_node-5] [2025-05-19 10:35:41][info] Sample Rate: 3.00K
[ydlidar_node-5] [2025-05-19 10:35:41][info] Successed to check the lidar, Elapsed time 492 ms
[ydlidar_node-5] [2025-05-19 10:35:41][info] Now lidar is scanning...
[ydlidar_node-5] [YDLIDAR ERROR]: -1 No error
[ydlidar_node-5] [ERROR] [1747622146.712035262] [ydlidar_node]: Failed to get scan
[ydlidar_node-5] [2025-05-19 10:35:46][error] Timeout count: 1
[ydlidar_node-5] [YDLIDAR ERROR]: -1 Operation timed out
[ydlidar_node-5] [ERROR] [1747622156.798528457] [ydlidar_node]: Failed to get scan
[ydlidar_node-5] [2025-05-19 10:35:56][error] Timeout count: 1
[ydlidar_node-5] [YDLIDAR ERROR]: -1 Operation timed out
[ydlidar_node-5] [ERROR] [1747622166.783990347] [ydlidar_node]: Failed to get scan
[ydlidar_node-5] [2025-05-19 10:36:06][error] Timeout count: 1
[ydlidar_node-5] [2025-05-19 10:36:07][error] Check Sum 0xB856 != 0x5B88ros@ros-virtual-machine:~/demo01_ws/fishros_ws$ source install/setup.bash
ros@ros-virtual-machine:~/demo01_ws/fishros_ws$ ros2 launch slam_toolbox online_async_launch.py use_sim_time:=False
[INFO] [launch]: All log files can be found below /home/ros/.ros/log/2025-05-19-10-35-46-976244-ros-virtual-machine-28634
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [async_slam_toolbox_node-1]: process started with pid [28640]
[async_slam_toolbox_node-1] [INFO] [1747622147.055711681] [slam_toolbox]: Node using stack size 40000000
[async_slam_toolbox_node-1] [INFO] [1747622147.102664316] [slam_toolbox]: Using solver plugin solver_plugins::CeresSolver
[async_slam_toolbox_node-1] [INFO] [1747622147.102880888] [slam_toolbox]: CeresSolver: Using SCHUR_JACOBI preconditioner.
[async_slam_toolbox_node-1] [INFO] [1747622147.347918489] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.096 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622147.474620045] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.222 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622147.601750969] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.347 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622147.725817995] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.474 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622147.852745500] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.601 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622147.979005300] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.725 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.105321842] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.852 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.230537213] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622147.979 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.356992339] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.105 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.482597934] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.230 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.611013998] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.357 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.735707447] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.482 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.861187621] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.611 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622148.987582063] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.735 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.114642320] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.861 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.240151010] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622148.987 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.366025813] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.114 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.491061351] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.240 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.618645713] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.366 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.743581896] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.491 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.868943573] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.618 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622149.997337944] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.743 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622150.122568177] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.869 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622150.248216090] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622149.997 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622150.374799130] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622150.122 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622150.501216264] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622150.248 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622150.628447436] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622150.374 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1747622150.754517197] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1747622150.501 for reason 'discarding message because the queue is full'