Processing fishbot (platform: espressif32; board: esp32dev; framework: arduino)
InvalidJSONFile: Could not load broken JSON: /home/qq-linux/.platformio/packages/framework-arduinoespressif32/.piopm
以上错误,请帮忙,谢谢!
9C8D0952938B471589D393EBB990BEB2.png frames.png
模型是自己SW转的urdf,B站视频的模型可以建图,不知道哪里的问题
InvalidJSONFile: Could not load broken JSON: /home/qq-linux/.platformio/packages/framework-arduinoespressif32/.piopm
以上错误,请帮忙,谢谢!
我在执行完ros2 launch fishbot_bringup bringup.launch.py已经看到雷达正在运行提示了。
这时我运行:ros2 launch slam_toolbox online_async_launch.py use_sim_time:=False.提示:
[async_slam_toolbox_node-1] [INFO] [1743240557.095263110] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1743240556.855 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1743240557.213141763] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1743240556.974 for reason 'discarding message because the queue is full'。
这时我再打开rviz2,添加map后,提示no map received。
0901fe4e-d3dc-4e63-93fc-aa1126b3cc42-image.png
8ded386b-61a6-426a-a71e-b9d08e82ab1e-image.png
e5ba7563-88e5-41d4-8ad5-9de3872bbd05-image.png
我在执行完ros2 launch fishbot_bringup bringup.launch.py已经看到雷达正在运行提示了。
这时我运行:ros2 launch slam_toolbox online_async_launch.py use_sim_time:=False.提示:
[async_slam_toolbox_node-1] [INFO] [1743240557.095263110] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1743240556.855 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1743240557.213141763] [slam_toolbox]: Message Filter dropping message: frame 'laser_link' at time 1743240556.974 for reason 'discarding message because the queue is full'。
这时我再打开rviz2,添加map后,提示no map received。
d95785ad-cd7a-40e4-bf2f-1bce4b14373d-image.png
bea3936f-9e17-4a24-826f-fe1c3ce94f8a-image.png
e85bcb0f-d4b9-40ca-a183-77cf4e8369fe-image.png
754269f3aaeb6845217f2e75807f4b0.jpg
这个boards中的json中的参数是怎么来的,可以讲解一下吗,
24ccffc1a2f784eb26000ee35cba8c9.jpg
为什么这里的board的参数和boards里面的json名称一样,这之间是怎么对应的。
cf573672-db60-457a-a7f8-a3634a684d5c-image.png ae1f06b4-a21a-45a2-8bd0-70ebf7768e54-image.png 47fdd702-1049-4137-bd46-18c4775c2821-image.png c0f50643-f363-4516-bfe6-1110882018b5-image.png wifi显示连接上了,但是在microros_agent这边找不到节点,这是怎么回事呀?我重启过试了也不行,车上的reset也是按过,也没有反应,虚拟机上面的地址是有线网络那边复制过来的。
65aab4f2cda1e7e47cab526ecf53a25.jpg
为什么安装到这里就卡住了,
难道PIO无法下载吗
d9d31bc1-0462-4aa7-a683-31a970a60038-image.png
您好,做第九章实验,将程序下载到开发板,我用的是四驱小车。创建项目照着书本上adafruit esp32 feature,但下载时报chip为esp32-s3。我看到esp32-s3的选项有很多,有esp32-s3 no pram,esp32-s3 2mb pram,esp32-s3 tft等,麻烦问一下四驱小车使用的开发板对应的是哪一种类型?多谢
7c308fe0-d5e1-4da4-9839-7f000d76433f-image.png
如何在虚拟机中安装增强功能实现桌面文件和虚拟机ubuntu文件拖拽传递,要安装什么插件,视频前面还没看到,后面还会有吗
所有源码使用第九章的成品源码,上位机器程序去除原雷达驱动和串口转wifi的功能包,添加蓝海广电雷达驱动包。雷达直接串口连接的电脑。tf树正常,雷达的scan话题也能正常显示点云。但建图时一直提示队列满。如下图,向各位大佬求援,请不吝赐教。截图 2025-03-27 13-56-05.png
wsl2环境 ROS2 jazzy版本 ubuntu24
我使用的是官方教程,导入的udrf文件为panda_arm的udrf文件,按照官方教程操作,网址如下
https://moveit.picknik.ai/main/doc/examples/setup_assistant/setup_assistant_tutorial.html
我遇到了如下问题,我使用moveit setup assisstant时在设置虚拟关节时终端显示以下错误
edecdaa5-eecc-4cc2-bebd-c46f13a33357-image.png
此外,我在定义规划组的时候,在点击Add Joints的时候,终端出现错误提示,我并不理解这是为什么
41a50af8-1688-492f-be03-803aad9431ab-image.png
并且我在点击添加关节后点击保存,终端出现报错:
[moveit_setup_assistant-1] Warning: Group 'panda_arm' is empty. [moveit_setup_assistant-1] at line 262 in ./src/model.cpp [moveit_setup_assistant-1] [INFO] [1742974235.032554245] [moveit_3411427826.moveit.core.robot_model]: Loading robot model 'panda'... [moveit_setup_assistant-1] [WARN] [1742974235.040723479] [moveit_3411427826.moveit.core.robot_model]: Group 'panda_arm' must have at least one valid joint [moveit_setup_assistant-1] [WARN] [1742974235.040786511] [moveit_3411427826.moveit.core.robot_model]: Failed to add group 'panda_arm'后来添加了机器人手部的links,但依然报错
最后在设置姿态修改关节角度时直接卡退
moveit_setup_assistant: /home/maikie/Desktop/ws_moveit/src/moveit2/moveit_core/robot_state/include/moveit/robot_state/robot_state.hpp:1305: const Eigen::Isometry3d& moveit::core::RobotState::getCollisionBodyTransform(const moveit::core::LinkModel*, std::size_t) const: Assertion `checkCollisionTransforms()' failed.505dd223-be96-419c-a05b-b7c7bfd98af2-image.png
我烧录至ESP32中程序主体如上,可以查看到ros2的节点和服务,但是发送请求后无法受到回应(会卡在那里),通过agent可以看到ESP32接收到了请求,我在服务回调函数添加了串口打印信息如下,
534c779f-34ff-4bf9-87f1-cb1eacac5a4b-image.png
但实际情况是我三次请求都是a=1,b=2,ESP32接收到的数据是随机大数,并不正确。并且串口信息显示已发送回应但是主机接受不到,尝试写该QOS至reliable,但是似乎没有这个函数,请问有人遇到过这样的问题吗?我尝试过串口连接和wifi连接,结果都是这样,希望有高人指点一下,万分感谢!
*补充:microROS的话题发布和订阅没有问题,就是服务跑不通
下图为我发送请求后状态
3064b8c8-5a19-49f8-a897-daff63dc132d-image.png
下图为我看到的agent届收到请求的所有反应
d59019c3-9a0e-455f-825c-4efff3bc9fd0-image.png
rviz2里面fixed Frame没有odom的下拉菜单选项.37325330-fb9a-4777-9d49-76e2304cf5f3-截图 2025-03-26 14-15-00.png /home/ros2/图片/截图/截图 2025-03-26 14-15-00.png
进行路点导航时,无法像视频一样连续规划,进入了一个窄房间后就旋转卡住
#include "rclcpp/rclcpp.hpp"
#include <chrono>
#include <memory>
#include "tf2/LinearMath/Quaternion.h"
#include "tf2_ros/buffer.h"
#include "tf2_ros/transform_listener.h"
#include "tf2_geometry_msgs/tf2_geometry_msgs.hpp"
#include "tf2/utils.h"
#include "geometry_msgs/msg/transform_stamped.hpp"
using namespace std::chrono_literals;
class TFListener:public rclcpp::Node
{
public:
TFListener():Node("tf2_listener")
{
buffer_=std::make_shared<tf2_ros::Buffer>(this->get_clock());
listener_=std::make_shared<tf2_ros::TransformListener>(*buffer_);
timer_=this->create_wall_timer(5s,std::bind(&TFListener::getTransform,this));
};
int main(int argc,char**argv)
{
rclcpp::init(argc,argv);
auto node=std::make_shared<TFListener>();
rclcpp::spin(node);
rclcpp::shutdown();
return 0;
}
跟着书本7.4.2完成python版本的用TF获取机器人实时位置,后面自己尝试cpp版本,但是一直不能接收到坐标情况,python版本的可以,代码有什么问题吗
轮式底盘只能平面运动,如何标定单线激光雷达和imu的相对外参?有什么开源的方案吗?