a6a2ee45-03fc-422e-b264-c094d11b7c44-image.png
虽然能打开gazebo,但加载不出机器人模型
5.2.2章节通过python发布动态TF,在终端运行ros2 run demo_python_tf dynamic_tf_broadcaster 一直没有响应,最后git了小鱼的代码运行发现还是同样的问题,所以是电脑的原因吗?
4d5b4352-9acb-4230-916f-28d1844cdc65-image.png
4b1438d6-3605-4a71-923c-800577deecde-67479cc199326e174c85882c29d537e8.jpg
源问题是“如何在一个ros2功能包中包含多个URDF”,本人在本站的提问:https://fishros.org.cn/forum/topic/3472/如何在一个ros2功能包中包含多个urdf
现将该问题详细化为“如何把多个urdf加载到moveit的一个planning scene中”
(然后再做场景内的碰撞检测)
求大佬指导一下。
a6a2ee45-03fc-422e-b264-c094d11b7c44-image.png
虽然能打开gazebo,但加载不出机器人模型
6cf7105d-1653-4618-a7ff-efeecd1d6a07-099627e4850cb3fba09e82a57ecc3fde.jpg
Run CMD Task:[ls /opt/ros/noetic/setup.bash]
[-][0.00s] CMD Result:code:2
安装失败了,请打开鱼香社区:https://fishros.org.cn/forum 在一键安装专区反馈问题...
Run CMD Task:[ls /opt/ros/noetic/setup.bash]
[-][0.00s] CMD Result:code:2
欢迎加入机器人学习交流QQ群:438144612(入群口令:一键安装)
鱼香小铺正式开业,最低499可入手一台能建图会导航的移动机器人,淘宝搜店:鱼香ROS 或打开链接查看:https://item.taobao.com/item.htm?id=696573635888
如在使用过程中遇到问题,请打开:https://fishros.org.cn/forum 进行反馈
检测到本次运行出现失败命令,直接退出按Ctrl+C,按任意键上传日志并退出
在我跟着您的课程《ROS2 机器人开发从入门到实践》的2.1.2,使用c语言编写第一个节点时,当我跟着您的实例,编写CMakeList.txt时,在快要结束时,要在终端输入cmake .时,运行结果一切正常,在输入make后,显示运行结果错误,不能找到rclcpp文件,如截图所示:1733699135987.jpg
此外,在我跟随您后面的教程试图消除cpp文件的#include显示红线错误,我将包含路径输入C/C++配置中后,依旧不能消除错误警告
我在命令行改变了参数的数值,但是颜色没有改变
05f92a1b-0287-4d92-90b6-f6be2206f7bc-图片.png
75aaef8c-e11d-4ba9-a805-a21f4bf50c2e-图片.png
现有多个URDF文件,需求对它们之间进行碰撞检测。
目前我可以做到的是:使用moveit2配置工具生成一个urdf文件的配置文件(把这里的功能包记作pkg1),然后在pkg2的launch文件中使用MoveItConfigsBuilder函数加载pkg1的相关内容到pkg2中进行碰撞检测(用的是moveit2官方教程中的Planning Scene章节的内容:https://moveit.picknik.ai/main/doc/examples/planning_scene/planning_scene_tutorial.html)
我要怎么做才能在上述pkg2功能包中对所有URDF模型进行碰撞检测呢?求大佬指导
9eaa1c6c-1fa0-41a2-9d62-3dab1059e77e-图片.png
我跟着小鱼大佬b站的新课看的,我输出来命令之后只有两个大概的类型,但是视频里有很多的参数,这是为啥,是ros的版本不一样的原因吗。我用的是foxy
在使用一件安装的时候遇到了这种错误是为什么?
Traceback (most recent call last): File "/tmp/fishinstall/install.py", line 134, in <module> main() File "/tmp/fishinstall/install.py", line 123, in main run_tool_file(tools[code]['tool'].replace("/",".")) File "/tmp/fishinstall/tools/base.py", line 1476, in run_tool_file if tool.run()==False: return False File "/tmp/fishinstall/tools/tool_install_ros.py", line 413, in run self.install_ros() File "/tmp/fishinstall/tools/tool_install_ros.py", line 398, in install_ros if not self.support_install(): return False File "/tmp/fishinstall/tools/tool_install_ros.py", line 300, in support_install if (osversion.get_codename() not in ros_dist_dic.keys()) and (osversion.get_codename() not in ros2_dist_dic.keys()): File "/tmp/fishinstall/tools/base.py", line 691, in get_codename self.detect_os() File "/tmp/fishinstall/tools/base.py", line 651, in detect_os raise OsNotDetected("Could not detect OS, tried %s" % attempted) tools.base.GetOsVersion.<locals>.OsNotDetected: Could not detect OS, tried ['zorin', 'windows', 'nixos', 'clearlinux', 'ubuntu', 'slackware', 'rocky', 'rhel', 'qnx', 'pop', 'osx', 'sailfishos', 'tizen', 'oracle', 'opensuse', 'opensuse', 'opensuse', 'opensuse', 'opensuse', 'openembedded', 'neon', 'mx', 'mint', 'linaro', 'gentoo', 'funtoo', 'freebsd', 'fedora', 'elementary', 'elementary', 'debian', 'cygwin', 'euleros', 'centos', 'manjaro', 'buildroot', 'arch', 'amazon', 'alpine', 'almalinux']本次运行详细日志文件已保存至 /tmp/fishros_install.log
bash: export: ":/opt/ros/humble/opt/rviz_ogre_vendor/lib:/opt/ros/humble/lib/x86_64-linux-gnu:/opt/ros/humble/lib:/usr/local/cuda-12.4/lib64": 不是有效的标识符
2024-12-08 14-18-11屏幕截图.png
a070b4db-2a4a-43d7-8170-5f1371b7d95e-image.png
跟视频做完之后,运行节点程序的时候出现了这个错误。
在前面机器人导航键盘控制时,我们下发的是线速度和角速度信息,并不会直接对轮子转速进行直接控制,这就需要我们把角速度和线速度转换成机器人轮子的速度,我们把这一过程称为运动学逆解,反之通过轮子的实际转速计算机器人的线速度和角速度的过程就是运动学正解。接着我们对运动学正逆解进行推导。
麦克纳姆轮(Mecanum Wheel)是一种特殊设计的轮子,通过改变轮子上滚轮的倾斜方向,可以实现全向移动能力。麦克纳姆轮机器人能够同时控制三个自由度:沿 ( x ) 轴的线速度 ( v_x )、沿 ( y ) 轴的线速度 ( v_y )、以及绕 ( z ) 轴的角速度 ( \omega )。为了实现这些自由度的控制,我们需要通过运动学正解和逆解完成速度与轮子转速的转换。
运动学逆解:将机器人期望的线速度和角速度转换为四个轮子的转速。
运动学正解:通过轮子实际的转速计算机器人整体的线速度和角速度。
原理介绍一开始小鱼接触这个轮子的时候也很懵,后来抓住一个要点才明悟,这里把武功秘籍传授与你。
麦轮上的小轮子转动方向就是力的方向。
记住这句话,然后看图,小鱼店里卖的小车,麦轮是这样装的(注意小轮子):
d81d5581-8a7c-4246-b554-700a4ef3a7fd-8e3073282fdbee25c2e3e5258bcb670.png
向前(X方向)运动受力原理:当我们需要让小车前进的时候,就有下面的图:
白色箭头:电机前进方向 红色箭头:小轮子产生的力的方向 蓝色箭头:红色力方向在前进方向分力 绿色箭头:红色力方向在横向的分立eecae9dd-09bd-4548-9cda-98ba0405bcf6-1859bd517fdbdaba182790de04419cd.png
如果轮子转速相同,则红色箭头的力大小相同,绿色箭头的力会被相互抵消(M1抵消M2的,M3抵消M4的),这样就只剩下前进方向的力了。
假设机器人前进方向为V_x,每个轮子的转速是V_Mx(x是轮子的编号),根据轮子转动的方向(向V_x正方向为正),此时就有:
V_M1 = V_x
V_M2 = V_x
V_M3 = V_x
V_M4 = V_x
f68d9049-c255-40c7-ab32-ffc3c30d6768-805276d75570a6d7a93410939da6ff9.png
假设机器人向右方向为V_y的负方向,每个轮子的转速是V_Mx(x是轮子的编号),根据轮子转动的方向(向V_x正方向为正),此时就有:
V_M1 = -V_y
V_M2 = V_y
V_M3 = V_y
V_M4 = -V_y
假设机器人具有四个麦克纳姆轮,编号为 1 至 4,分别位于机器人的四个角。定义如下参数:
( a ):机器人中心到轮子沿 ( x ) 方向的距离; ( b ):机器人中心到轮子沿 ( y ) 方向的距离; ( r ):轮子的半径; ( \omega_1, \omega_2, \omega_3, \omega_4 ):四个轮子的角速度。每个轮子的线速度可以分解为 ( x ) 和 ( y ) 两个方向上的分量,加上角速度分量。通过分析轮子受力,我们得到以下速度关系:
d203f635-2c31-42ed-bdfc-3320f38acab4-image.png
2.2 运动学逆解公式根据上述公式,给定机器人期望的 ( v_x )、( v_y )、( \omega ),我们可以计算出各轮子的速度:
3eb36b72-4d09-4d48-8e5a-0f9e7ec9d83e-image.png
38acab4-im
通过已知四个轮子的速度,求解机器人整体的运动状态:
6d5f92d9-91f8-471f-b363-cff18766802d-image.png 3. 代码实现以下是基于上述公式的运动学正解和逆解的代码实现。
3.1 运动学逆解 void Kinematics::kinematic_inverse(float linear_x_speed, float linear_y_speed, float angular_speed, float &out_wheel_speed1, float &out_wheel_speed2, float &out_wheel_speed3, float &out_wheel_speed4) { const float a = 108.0f; // 机器人中心到轮子沿x方向的距离 const float b = 88.5f; // 机器人中心到轮子沿y方向的距离 out_wheel_speed1 = linear_x_speed - linear_y_speed - angular_speed * (a + b); out_wheel_speed2 = linear_x_speed + linear_y_speed + angular_speed * (a + b); out_wheel_speed3 = linear_x_speed + linear_y_speed - angular_speed * (a + b); out_wheel_speed4 = linear_x_speed - linear_y_speed + angular_speed * (a + b); // Debug 输出 // Serial.printf("out_wheel_speed[%f,%f,%f,%f]\n", out_wheel_speed1, out_wheel_speed2, out_wheel_speed3, out_wheel_speed4); } 3.2 运动学正解 void Kinematics::kinematic_forward(float wheel1_speed, float wheel2_speed, float wheel3_speed, float wheel4_speed, float &linear_x_speed, float &linear_y_speed, float &angular_speed) { const float a = 108.0f; // 机器人中心到轮子沿x方向的距离 const float b = 88.5f; // 机器人中心到轮子沿y方向的距离 // 计算机器人线速度和角速度 linear_x_speed = (wheel1_speed + wheel2_speed + wheel3_speed + wheel4_speed) / 4.0f; linear_y_speed = (-wheel1_speed + wheel2_speed + wheel3_speed - wheel4_speed) / 4.0f; angular_speed = float(-wheel1_speed + wheel2_speed - wheel3_speed + wheel4_speed) / (4.0f * (a + b)); // Debug 输出 // Serial.printf("angular_speed:%f wheel_speed[%f,%f,%f,%f]\n",angular_speed, wheel1_speed, wheel2_speed, wheel3_speed, wheel4_speed); } 4. 总结本文基于麦克纳姆轮的特点推导了运动学正解和逆解公式,并结合代码实现了相应的逻辑。通过运动学逆解,机器人能够根据给定的线速度和角速度生成各轮子的转速;而通过运动学正解,可以从轮子速度反推出机器人的运动状态。这些方法为全向移动机器人的控制提供了理论和实践支持。
本贴主要汇总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配置助手及固件发布页面(点我跳转)
0. FishBot学习流程
1. FishBot上手组装教程
2. 配置助手介绍与下载
3. 主控板固件烧录与配置
4. 使用ROS2键盘控制FishBot
5. 雷达固件烧录及配置
6. 雷达驱动及建图测试
7. FishBot-Nav2导航测试
拓展1:FishBot配套雷达驱动教程(源码版)
拓展2:树莓派上使用micros-agent驱动主控板的方法
拓展3:FishBot 树莓派配置建图导航
反馈码1733625637
完整代码(可能存在问题的部分) update
此处出现问题,选择了 n y y y
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 Run CMD Task:[sudo apt install ros-humble-desktop -y] [/][0.41s] libpulse-dev : 依赖: libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1) 但是 1:1[\][0.50s] 依赖: libpulse-mainloop-glib0 (= 1:15.99.1+dfsg1-1ubu[|][0.50s] libudev-dev : 依赖: libudev1 (= 249.11-0ubuntu3.7) 但是 249.11-0ubun[-][0.50s] libusb-1.0-0-dev : 依赖: libusb-1.0-0 (= 2:1.0.25-1ubuntu1) 但是 2:1[-][0.50s] CMD Result:code:100 ============================================================ 请注意我,检测你在安装过程中出现依赖问题,请在稍后输入n,再选择y,即可解决(若无法解决,清在稍后手动运行命令: sudo aptitude install ros-humble-desktop) 确认了解情况,请输入回车继续安装 Run CMD Task:[sudo aptitude install ros-humble-desktop] 下列“新”软件包将被安装。 ············· 您想忽略这条警告信息并继续执行吗? 要继续,请键入“yes”;要中止,请键入“no”:yes 读取: 1 https://mirrors.xjtu.edu.cn/ubuntu jammy-security/main amd64 libmount-dev amd64 2.37.2-4ubuntu3.4 [14.5 kB] 错误 https://packages.lunarg.com/vulkan focal/main amd64 libvulkan-dev amd64 1.3.283.0~rc2-1lunarg20.04-1 404 Not Found [IP: 2606:4700:20::681a:c7 443] 已下载 14.5 kB,耗时 1秒 (11.7 kB/s) E: 无法下载 https://packages.lunarg.com/vulkan/pool/main/v/vulkan-loader/libvulkan-dev_1.3.283.0%7erc2-1lunarg20.04-1_amd64.deb:404 Not Found [IP: 2606:4700:20::681a:c7 443] E: 无法获取某些软件包;请尝试“-o APT::Get::Fix-Missing=true”以在存在缺失软件包的情况下继续操作最终报错
依赖: ros-humble-pcl-conversions 但它是不可安装[|][3.62s] 依赖: ros-humble-teleop-twist-joy 但它是不可安[-][8.42s] CMD Result:success 。 Run CMD Task:[sudo apt search python3-colcon-common-extensions ] [-][1.33s] CMD Result:success Run CMD Task:[sudo apt install python3-colcon-common-extensions -y] [/][0.60s] 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 244 个[\][0.66s] 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 244 个[-][0.70s] CMD Result:success Run CMD Task:[sudo apt search python3-argcomplete ] [-][1.02s] CMD Result:success Run CMD Task:[sudo apt install python3-argcomplete -y] [/][0.60s] 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 244 个[\][0.62s] 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 244 个[-][0.70s] CMD Result:success Run CMD Task:[sudo apt search python3-rosdep ] [-][0.94s] CMD Result:success Run CMD Task:[sudo apt install python3-rosdep -y] [/][0.60s] 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 244 个[\][0.67s] 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 244 个[-][0.70s] CMD Result:success Run CMD Task:[ls /opt/ros/humble/setup.bash] [-][0.00s] CMD Result:code:2 安装失败了,请打开鱼香社区:https://fishros.org.cn/forum 在一键安装专区反馈问题... Run CMD Task:[ls /opt/ros/humble/setup.bash] [-][0.00s] CMD Result:code:2 欢迎加入机器人学习交流QQ群:438144612(入群口令:一键安装) 鱼香小铺正式开业,最低499可入手一台能建图会导航的移动机器人,淘宝搜店:鱼香ROS 或打开链接查看:https://item.taobao.com/item.htm?id=696573635888 如在使用过程中遇到问题,请打开:https://fishros.org.cn/forum 进行反馈 检测到本次运行出现失败命令,直接退出按Ctrl+C,按任意键上传日志并退出 错误日志上传成功,反馈码: 1733625637![请问map,odom和左右轮之间没有坐标变换怎么办?代码全是鱼神gitchapt6里面一模一样搬的,学习导航第一章时发现的,顺便问一下fixed frame选base_link会影响slam构图吗](e3866ada4f744a1b70f5e5facc24be4f.png 图片地址)f55b1b4bb8b07e70c5d09e4d74f29ca6.png
1316b82e-c691-4403-981c-b8056a5d0a14-image.png
48360023-07f9-4601-b13c-3bf3a7058fb1-image.png
890d7110-73d3-4e8d-a632-4e5bd030128b-image.png
706c2f04-2008-4b4f-8426-aa3e8de48f13-image.png
6e00e8f4-8b64-4386-9686-7077dbebf200-image.png
这个报错是为什么佬们,困了三天了
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
版块
-
1.4k
主题6.1k
帖子 -
815
主题3.3k
帖子 -
869
主题3.2k
帖子 -
151
主题670
帖子 -
1
主题2
帖子 -
151
主题706
帖子 -
21
主题59
帖子