@Zengs 在 【教程】使用Windows子系统WSL安装ROS2运行小海龟 中说:
@mahong1237 我也是这个问题,但是我再开启一个终端运行rqt,刷新node graph,小海龟就可以操作了
情况+1,大家有找到解决方案嘛
情况说明
使用wsl-22.04运行海龟程序,键盘控制无法生效
开启一个终端运行rqt,刷新node graph,可以使用关闭以后无法使用
ros2 node list等指令无法使用
如题,在淘宝购买的fishbot二驱动小车(Nav2导航),源码找不到超声波模块和避障的部分,想请教一下在哪(因为代码很杂而且大部分只读不能改,问客服客服也是不知道,导致我功能实现不了)
雷达已测试运行是好的,但放置几天后再次启动就无法使用了,具体日志信息如下:
g@33:~/allchapt/chapt9/fishbot_ws$ ros2 launch fishbot_bringup bringup.launch.py
[INFO] [launch]: All log files can be found below /home/g/.ros/log/2025-05-22-11-23-27-579527-33-6370
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [joint_state_publisher-1]: process started with pid [6391]
[INFO] [robot_state_publisher-2]: process started with pid [6393]
[INFO] [odom2tf-3]: process started with pid [6395]
[INFO] [micro_ros_agent-4]: process started with pid [6398]
[INFO] [tcp_server-5]: process started with pid [6400]
[micro_ros_agent-4] [1747884207.914620] info | UDPv4AgentLinux.cpp | init | running... | port: 8888
[micro_ros_agent-4] [1747884207.915279] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4
[robot_state_publisher-2] [INFO] [1747884208.019689224] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-2] [INFO] [1747884208.019910190] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1747884208.019927109] [robot_state_publisher]: got segment laser_link
[tcp_server-5] [INFO] [1747884208.318127011] [tcp_socket_server_node]: TCP端口:8889,已映射到串口设备:/tmp/tty_laser
[tcp_server-5] [INFO] [1747884208.318863056] [tcp_socket_server_node]: 等待接受连接..
[joint_state_publisher-1] [INFO] [1747884208.547485726] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[INFO] [ydlidar_node-6]: process started with pid [6661]
[ydlidar_node-6] [YDLIDAR INFO] Current ROS Driver Version: 1.4.5
[ydlidar_node-6] [YDLIDAR]:SDK Version: 1.4.5
[ydlidar_node-6] [YDLIDAR]:Lidar running correctly ! The health status: good
[ydlidar_node-6] timout count: 1
[ydlidar_node-6] timout count: 2
[ydlidar_node-6] timout count: 1
[ydlidar_node-6] 131607105111616 thread has been canceled
[ydlidar_node-6] [CYdLidar] Failed to turn on the Lidar, because the lidar is blocked or the lidar hardware is faulty.
[ydlidar_node-6] [YDLIDAR INFO] Now YDLIDAR is stopping .......
[INFO] [ydlidar_node-6]: process has finished cleanly [pid 6661]
显示到这里就不会动了,一直留在这里。
自己尝试过的方案:
1、重启虚拟机没用;
2、重启设备没用;
3、自行AI和百度后反馈雷达可能坏了?
我想请教下小鱼老师如何判断是不是雷达坏了还是说可能是其他情况啦?现在雷达还可以正常转动也能联网,检查了连线也未发现松动或脱落。运行时机子如下:
89119567-1642-4509-b9b8-0fa5e8d13307-b4eca88e45338eb6fa3a7eb2aeb4ce1.jpg
from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import PathJoinSubstitution
import os
import xacro
from ament_index_python.packages import get_package_share_directory
def generate_launch_description():
share_dir = get_package_share_directory('robot_demo1_description')
按照这个教程操作:
要使用 SkiROS,您必须在计算机上安装 ROS。 您还需要 pip 来安装 python 依赖项。
将此仓库克隆到你的 catkin 工作区 src 目录中:
mkdir -p catkin_ws/src && cd catkin_ws/src
git clone https://github.com/RVMI/skiros2
git clone https://github.com/RVMI/skiros2_std_lib
Optionally, you can clone the skiros2_examples repositories here as well:git clone https://github.com/RVMI/skiros2_examples
使用 rosdep 和 python 依赖项安装每个组件中定义的依赖项:package.xml
rosdep install --from-paths . --ignore-src --rosdistro=$ROS_DISTRO -y
Install Python dependenciespip install -r requirements.txt --user
出错了:
fc@fc:~$ mkdir -p catkin_ws/src && cd catkin_ws/src
fc@fc:~/catkin_ws/src$ git clone https://github.com/RVMI/skiros2
Cloning into 'skiros2'...
remote: Enumerating objects: 1380, done.
remote: Counting objects: 100% (194/194), done.
remote: Compressing objects: 100% (51/51), done.
remote: Total 1380 (delta 160), reused 143 (delta 143), pack-reused 1186 (from 2)
Receiving objects: 100% (1380/1380), 3.41 MiB | 2.93 MiB/s, done.
Resolving deltas: 100% (763/763), done.
fc@fc:~/catkin_ws/src$ # Clone the base skill set into the skiros2 directory in your catkin workspace.
fc@fc:~/catkin_ws/src$ git clone https://github.com/RVMI/skiros2_std_lib
Cloning into 'skiros2_std_lib'...
remote: Enumerating objects: 688, done.
remote: Counting objects: 100% (295/295), done.
remote: Compressing objects: 100% (84/84), done.
remote: Total 688 (delta 258), reused 235 (delta 211), pack-reused 393 (from 1)
Receiving objects: 100% (688/688), 110.51 KiB | 300.00 KiB/s, done.
Resolving deltas: 100% (417/417), done.
fc@fc:~/catkin_ws/src$ # Optionally, you can clone the skiros2_examples repositories here as well:
fc@fc:~/catkin_ws/src$ git clone https://github.com/RVMI/skiros2_examples
Cloning into 'skiros2_examples'...
remote: Enumerating objects: 164, done.
remote: Counting objects: 100% (164/164), done.
remote: Compressing objects: 100% (90/90), done.
remote: Total 164 (delta 92), reused 127 (delta 56), pack-reused 0 (from 0)
Receiving objects: 100% (164/164), 40.65 KiB | 190.00 KiB/s, done.
Resolving deltas: 100% (92/92), done.
fc@fc:~/catkin_ws/src$ rosdep install --from-paths . --ignore-src --rosdistro=$ROS_DISTRO -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
skiros2: [python-is-python3] defined as "not available" for OS version [bionic]
81c085a9-0dc2-437e-9f7a-6f10c69f1157-图片.png
回复: 【FishBot四驱V2】9.0.3. 主控板固件烧录与配置!d1171cdc-a0f2-4753-a357-0b7ddcd7b64f-图片.png
d0952888-eaf5-4efb-b7c2-584182eddc32-572165a685014f9646835c3fcc82f49.jpg
不知道为什么 一样的代码 第七章我运行rviz2的时候 地图成这样了
b站课程第三章3.4.2,我按照课程的代码敲完之后,做创建,直接报错,显示无法找到src/msg/SystemStatus.msg,但是我文件里面是创建的
2d8df550-bdaa-4388-affd-cea8d94fe135-3c84b889-5a1f-4cfb-a75d-21a25852bd8e.png
1,背景
运行以下命令时候出现的问题
sk@sk-virtual-machine:~$ xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 registry.cn-hangzhou.aliyuncs.com/fishros/fishbot_laser
access control disabled, clients can connect from any host
欢迎鱼香ROS使用雷达驱动系统,注意当前版本为ROS2版本驱动哦~
2,历史
在此之前运行1:WIFI转串口测试时候一直等待TCP连接: 0.0.0.0:8888
sk@sk-virtual-machine:~$ xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 registry.cn-hangzhou.aliyuncs.com/fishros/fishbot_laser
access control disabled, clients can connect from any host
欢迎鱼香ROS使用雷达驱动系统,注意当前版本为ROS2版本驱动哦~
和客服沟通后更换雷达和驱动板后,还是报如上错误。
但是我发现,重启后不运行nc -l 8889 ,直接运行WIFI转串口测试时候激光雷达能够连接
sk@sk-virtual-machine:~$ xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 registry.cn-hangzhou.aliyuncs.com/fishros/fishbot_laser
access control disabled, clients can connect from any host
欢迎鱼香ROS使用雷达驱动系统,注意当前版本为ROS2版本驱动哦~
6.2.1
urdf_to_graphviz first_robot.urdf first_robot运行时报错
Error: Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0
at line 101 in ./urdf_parser/src/model.cpp
ERROR: Model Parsing the xml failed
现在在用slam_toolbox进行建图但是发现里程计走一段时间(10s)就会漂移,导致我无法建图要怎么办(是要修改哪些参数吗)!以下是我建图时的截图
c168b0f1-5875-4290-adb1-b5a87ae35b89-d1dbe63c5d6a49b418393d4032b4e22d.jpg
970da9ff-f16b-4acb-a1d9-b904e62629c9-c74e8d86d8c2e458b50a0fc987d60a33.jpg
错误信息:
问题描述:[在运行指令ros2 launch fishbot_description gazebo_sim.launch.py 加载gazebo模型时报错,地图能够正常加载,ros2 service list | grep controller指令输出内容与6.5.2课程一致]
错误信息:[gzserver-2] [INFO] [1747732192.143868178] [controller_manager]: Configuring controller 'fishbot_joint_state_broadcaster'
[gzserver-2] [INFO] [1747732192.144086737] [fishbot_joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[ros2-5] Successfully loaded controller fishbot_joint_state_broadcaster into state active
[INFO] [ros2-5]: process has finished cleanly [pid 48739]
[INFO] [ros2-6]: process started with pid [48791]
[gzserver-2] [ERROR] [1747732193.055398508] [controller_manager]: The 'type' param was not defined for 'fishbot_diff_drive_controller'.
[ros2-6] Error loading controller, check controller_manager logs
[ERROR] [ros2-6]: process has died [pid 48791, exit code 1, cmd 'ros2 control load_controller --set-state active fishbot_diff_drive_controller'].
import launch
import launch_ros
from ament_index_python.packages import get_package_share_directory
from launch.launch_description_sources import PythonLaunchDescriptionSource
def generate_launch_description():
# 获取默认路径
robot_name_in_model = "fishbot"
urdf_tutorial_path = get_package_share_directory('fishbot_description')
default_model_path = urdf_tutorial_path + '/urdf/fishbot/fishbot.urdf.xacro'
default_world_path = urdf_tutorial_path + '/world/custom_room.world'
# 为 Launch 声明参数
action_declare_arg_mode_path = launch.actions.DeclareLaunchArgument(
name='model', default_value=str(default_model_path),
description='URDF 的绝对路径')
# 获取文件内容生成新的参数
robot_description = launch_ros.parameter_descriptions.ParameterValue(
launch.substitutions.Command(
['xacro ', launch.substitutions.LaunchConfiguration('model')]),
value_type=str)
controller_manager:
ros__parameters:
update_rate: 100 # Hz
use_sim_time: true
fishbot_effort_controller:
ros__parameters:
joints:
- left_wheel_joint
- right_wheel_joint
command_interfaces:
- effort
state_interfaces:
- position
- velocity
- effort
背景:
我在尝试使用fishbot based的机器人仿真框架进行多机navigation实例操作,当我单独加载任意机器人模型时,都能够正常启动,启动部分log如下:
381f701a-0531-457a-814b-872983c88972-image.png
从图中可以看出<robot_namespace>_diff_drive_controller和<robot_namespace>_joint_state_broadcaster都已经被正常发布,同时service和topic也都正常启动,机器人可以通过teleop_twist_keyboard命令正常运行。
当我在用一个gazebo仿真环境中加载成功第一个机器人后,我希望继续加载第二个机器人,这时,在启动机器人模型的过程中,load controller出现了问题,如下图红框所示:
ae1c2b98-e96d-431a-b8d8-fedcece530e7-image.png
我启动了namespace为scout_mini_1_的机器人节点,但是从图中可以看出,gazebo_ros2_control仍然试图从scout_mini_0_的namespace中进行控制器搜索,从而导致无法正确加载控制器配置文件,导致两个控制器服务器都发布失败。
###测试与尝试
我也尝试过使用统一namespace下的controller manager,通过定义不同名称的diff_drive_control来实现控制,但是在launch文件中由于加载机器人节点时也需要明确其namespace,导致controller manager实际上也会与namespace挂钩,从而加载失败,我的机器人加载代码如下:
我的gazebo控制插件代码如下:
<gazebo> <plugin filename="libgazebo_ros2_control.so" name="${robot_namespace}gazebo_ros2_control"> <parameters>$(find scout_mini_description)/config/${robot_namespace}.yaml</parameters> <ros> <namespace>${robot_namespace}</namespace> </ros> </plugin> </gazebo>此外,也尝试过手动启动服务,也无法成功运行,但是无论是否正确启动,controller相关的service都能够正常启动。个人推测是gazebo ros2 control插件默认会启动在第一个namespace下,但是不知道如何规避这个问题
ubuntu22.04,ROS2humble,在安装catkin时出现下面的冲突
12d8582d-4313-4961-af99-5a79ca4f8397-1747656625794.png
请问怎么解决,感谢
# rosdepc安装不上
## 一键安装
raise ConnectionError(e, request=request)
requests. exceptions. ConnectionError: HTTPConnectionPo
ol (host='0.0.0.0', port=8000): Max retries exceeded w
ith url: /novell. txt (Caused by NewConnectionError('<
urllib3. connection. HTTPConnection object at 0x792acd9
4a350>: Failed to establish a new connection: [Errno
111] Connection refused' ) )
[ros2run]: Process exited with failure 1![)
61f0c9b1-021f-484f-9232-bb61ba8cbe9d-图片.png
与车连接也有这样的错误不知道有没有影响
3f09d0f0-7788-4908-b427-04744e7a2918-图片.png
ros2第三章3.2.2要引入一个espeakg的软件包,用指令pip3 inatall espeakng指令安装软件包时提示无法找到软件包espeakng怎么解决
6c55ef0c-742a-467c-aba0-b567433f2a27-image.png
4603c07d-394b-4ea1-9768-17a08464c55f-image.png
0953e6fc-7112-45d0-b518-06ece124c72a-ce8a0540250aae09042b8432ecb88d58_720.jpg