sudo apt-get install ros-humble-ros-numpy
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
E: 无法定位软件包 ros-humble-ros-numpy
出现这个问题 不知道如何解决
😠
设置了超声波层,在实际使用的时候,不能及时更新,还会在车体附件生成障碍物
f5caaaac-8b7f-467e-9aed-2b5b0439281b-image.png
9b736012-9d0e-49ea-aad3-f3f6c4ef9d8b-image.png
我使用的参数如下:
Traceback (most recent call last):
File "/home/ros/chapt2_2/install/demo_python_pkg/lib/demo_python_pkg/writer_node", line 33, in <module>
sys.exit(load_entry_point('demo-python-pkg==0.0.0', 'console_scripts', 'writer_node')())
File "/home/ros/chapt2_2/install/demo_python_pkg/lib/python3.10/site-packages/demo_python_pkg/writer_node.py", line 10, in main
node = WriterNode('法外狂徒张三',18, '论快速入狱')
File "/home/ros/chapt2_2/install/demo_python_pkg/lib/python3.10/site-packages/demo_python_pkg/writer_node.py", line 5, in init
super().init(name, age)
TypeError: HumanNode.init() missing 1 required positional argument: 'age'
[ros2run]: Process exited with failure 1
继承ROS2 Node 的HumanNode
问题描述: 具体细节和上下文human_node/py
3c794542-389a-471d-b015-4567c646f3eb-83b22749314c7b1485b1d56737c801f.png
writer_node.py
4dd15158-1560-4319-ae11-c7dadf99ebce-bdbacf3cdcc139de422d84cfdacce59.png
setup.py
fa621b2e-6624-4d2b-8797-c0a9fcf1e567-image.png
运行结果展示
3de19309-22f4-429e-8142-af9761d0d329-image.png
网上说缺少参数,但是感觉age参数是存在的,搞不懂
sudo apt-get install ros-humble-ros-numpy
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
E: 无法定位软件包 ros-humble-ros-numpy
出现这个问题 不知道如何解决
😠
使用ros2_control控制铰接车运动,最后想导入navigation2框架里面,无法建立连接
截图 2025-06-11 14-24-09.png
截图 2025-06-11 14-19-07.png
截图 2025-06-11 14-21-49.png
556e69cf-55af-4475-9670-3971e778825c-ec42787c8738f70cd8be06b7f1b91c94.jpg
老师,这里路径错误怎么解决,然后我问下执行相关程序的步骤是什么,我colcon build构建他说没有找到相关指令
各位大佬,ros2-humble中如何添加libgazebo_ros_range插件,以仿真超声测距数据。apt安装的插件里没有这个插件,插件源码里ros2版本也没有这个插件的源码。
回复: [FishBot教程]9.0.7. FishBot-Nav2导航测试
ros2 humble
按照历程一路走下来。完成slam建图部分。
终端输入
在rviz2中用鼠标2D pose estimation无法出现扫描,代价地图等信息。
求鱼哥帮帮忙
Traceback (most recent call last):
File "/home/ros/chapt2_2/chapt2_2_ws/install/demo_python_pkg/lib/demo_python_pkg/human_node", line 33, in <module>
sys.exit(load_entry_point('demo-python-pkg==0.0.0', 'console_scripts', 'human_node')())
File "/home/ros/chapt2_2/chapt2_2_ws/install/demo_python_pkg/lib/demo_python_pkg/human_node", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/init.py", line 173, in load
return functools.reduce(getattr, attrs, module)
AttributeError: module 'demo_python_pkg.human_node' has no attribute 'main'
[ros2run]: Process exited with failure 1
打印法外狂徒张三18岁爱吃鱼香肉丝
问题描述:colcon build 可以看到有可执行文件human_node
dcdabe18-7592-4232-a5c5-50ad79447b09-e7b86163b9b0c47ecaff81602f532b9.png
source install/setup.bash
ros2 run demo_python_pkg human_node这一步失败了,好几次;
setup.py的内容
da8477af-1ebf-4338-8e9e-e0334d205139-b9ac2443f48f957d95c95b28b7cb584.png
human_node.py的内容
2f60d867-6466-47c7-b975-c9a7902fc449-f78c2db80d27f6b6ae36568818e1c03.png
直接把Traceback (most recent call last):
File "/home/ros/chapt2_2/chapt2_2_ws/install/demo_python_pkg/lib/demo_python_pkg/human_node", line 33, in <module>
sys.exit(load_entry_point('demo-python-pkg==0.0.0', 'console_scripts', 'human_node')())
File "/home/ros/chapt2_2/chapt2_2_ws/install/demo_python_pkg/lib/demo_python_pkg/human_node", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/init.py", line 173, in load
return functools.reduce(getattr, attrs, module)
AttributeError: module 'demo_python_pkg.human_node' has no attribute 'main'
[ros2run]: Process exited with failure 1
复制搜索答案,没看懂
小鱼,有没有安装安装ros1的Melodic的视频教程
环境win11 wsl2-ubuntu22.04 ros2-humble
WARNING:colcon.colcon_cmake.task.cmake.build:Could not build CMake package 'ros2_cpp' because the CMake cache has no 'CMAKE_PROJECT_NAME' variable
Finished <<< ros2_cpp [0.78s]
colcon build后出错,怎么解决
5f117148-34a2-4bbd-b9fe-b4df769ba6fb-image.png
具体细节和上下文:网上没找到相关问题解决方法
尝试过的解决方法:网上没找到相关问题解决方法
截图 2025-06-08 16-49-39.png
在执行colcon build 为什么会显示code1出现问题啊,求大佬告知
下图是rviz2显示的里程计前进就会拐弯
#include <Arduino.h> #include <Esp32PcntEncoder.h> #include <Esp32McpwmMotor.h> #include <PidController.h> #include <Kinematics.h> // 引入Microros和wifi相关的库 #include <WiFi.h> #include <micro_ros_platformio.h> #include <rcl/rcl.h> #include <rclc/rclc.h> #include <rclc/executor.h> #include <geometry_msgs/msg/twist.h> // 消息接口 #include <nav_msgs/msg/odometry.h>//里程计消息接口 #include <micro_ros_utilities/string_utilities.h>//引入字符串内存分配初始化工具 // 声明一些相关的结构体对象 rcl_allocator_t allocator; // 内存分配器,用于动态内存分配管理 rclc_support_t support; // 用于存储时钟,内存分配器和上下文,用于提供支持 rclc_executor_t executor; // 执行器,用于管理订阅和计时器回调的执行 rcl_node_t node; // 节点,用于创建节点 rcl_subscription_t sub_cmd_vel; // 创建一个订阅者 geometry_msgs__msg__Twist msg_cmd_vel; // 订阅到的数据存储到这里 rcl_publisher_t pub_odom;//创建一个里程计发布者 nav_msgs__msg__Odometry msg_odom;//里程计消息存储在这 rcl_timer_t timer;//定时器可以定时调用某个函数 Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器 Esp32McpwmMotor motor; // 创建一个名为motor的对象,用于控制电机 PidController pid_controller[2]; Kinematics kinematics; float target_linear_speed = 0.0; // 单位 毫米每秒 float target_angular_speed = 0.0; // 单位 弧度每秒 float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度 float out_right_speed = 0.0; // 定时器的回调函数 void timer_callback(rcl_timer_t* timer,int64_t last_call_time) { // 完成里程计的发布 odom_t odom = kinematics.get_odom(); // 获取当前的里程计 int64_t stamp = rmw_uros_epoch_millis(); // 获取当前的时间 msg_odom.header.stamp.sec = static_cast<int32_t>(stamp/1000); // 秒部分 msg_odom.header.stamp.nanosec = static_cast<int32_t>((stamp%1000)*1e6); // 纳秒部分 msg_odom.pose.pose.position.x = odom.x; msg_odom.pose.pose.position.y = odom.y; msg_odom.pose.pose.orientation.w = cos(odom.angle*0.5); msg_odom.pose.pose.orientation.x = 0; msg_odom.pose.pose.orientation.y = 0; msg_odom.pose.pose.orientation.z = sin(odom.angle*0.5); msg_odom.twist.twist.linear.x = odom.linear_speed; msg_odom.twist.twist.angular.z = odom.angular_speed; // 发布里程计,把数据发出去 if(rcl_publish(&pub_odom,&msg_odom,NULL)!=RCL_RET_OK) { Serial.println("error: odom pub failed!"); } } void twist_callback(const void * msg_in) { // 将受到的消息指针转换成 geometry_msgs__msg__Twist 类型的指针 const geometry_msgs__msg__Twist* msg = (const geometry_msgs__msg__Twist*)msg_in; target_linear_speed = msg->linear.x * 1000; target_angular_speed = msg->angular.z; kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed); Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed); pid_controller[0].update_target(out_left_speed); pid_controller[1].update_target(out_right_speed); } // 单独创建一个任务运行 micro-ROS 相当于一个线程 void microros_task(void *args) { // 1.设置传输协议并延迟一段时间等待设置的完成 IPAddress agent_ip; agent_ip.fromString("192.168.3.149"); // 设置agent的IP地址 set_microros_wifi_transports("HUAWEI-R1CP6X", "xqdjx1703", agent_ip, 8888); // 设置传输协议 delay(3000); // 等待2秒,等待WIFI连接 // 2.初始化内存分配器 allocator = rcl_get_default_allocator(); // 获取默认的内存分配器 // 3.初始化支持 rclc_support_init(&support, 0, NULL, &allocator); // 初始化支持 // 4.初始化节点 rclc_node_init_default(&node, "fishbot_motion_control", "", &support); // 初始化节点 // 5.初始化执行器 unsigned int num_handles = 2; // 订阅和计时器的回调数量,注意这是一个要改的参数 rclc_executor_init(&executor, &support.context, num_handles, &allocator); // 初始化执行器 // 初始化订阅者,并将其添加到执行其中 rclc_subscription_init_best_effort(&sub_cmd_vel,&node, ROSIDL_GET_MSG_TYPE_SUPPORT(geometry_msgs,msg,Twist),"/cmd_vel"); rclc_executor_add_subscription(&executor,&sub_cmd_vel,&msg_cmd_vel,&twist_callback,ON_NEW_DATA); //初始化msgs初始化主机和从机 msg_odom.header.frame_id =micro_ros_string_utilities_set(msg_odom.header.frame_id,"odom"); msg_odom.child_frame_id =micro_ros_string_utilities_set(msg_odom.child_frame_id,"base_footprint"); //初始化发布者和定时器 rclc_publisher_init_best_effort(&pub_odom,&node,ROSIDL_GET_MSG_TYPE_SUPPORT(nav_msgs,msg,Odometry),"/odom"); rclc_timer_init_default(&timer,&support,RCL_MS_TO_NS(50),timer_callback); rclc_executor_add_timer(&executor,&timer); //时间同步 while(!rmw_uros_epoch_synchronized()) { rmw_uros_sync_session(1000);//超时时间 delay(10); } // 循环执行器 rclc_executor_spin(&executor); } // v=w*r // r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m void setup() { // 初始化串口 Serial.begin(115200); // 初始化串口通信,设置通信速率为115200 // 初始化电机驱动器 motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23 motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13 // 初始化编码器 encoders[0].init(0, 32, 33); // 初始化第一个编码器,使用GPIO 32和33连接 encoders[1].init(1, 26, 25); // 初始化第二个编码器,使用GPIO 26和25连接 // 初始化PID控制器的参数 pid_controller[0].update_pid(0.625, 0.125, 0.0); pid_controller[1].update_pid(0.625, 0.125, 0.0); pid_controller[0].out_limit(-100, 100); pid_controller[1].out_limit(-100, 100); // 初始化运动学参数 kinematics.set_wheel_distance(175); // mm kinematics.set_motor_param(0, 0.105805); kinematics.set_motor_param(1, 0.105805); // 测试下运动学逆解 // 创建一个任务运行 micro-ROS xTaskCreate(microros_task, "microros_task", 10240, NULL, 1, NULL); } void loop() { delay(10); // 等待10毫秒 kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数 motor.updateMotorSpeed(0, pid_controller[0].update( kinematics.get_motor_speed(0))); motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1))); // Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1)); // Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);1e4a11f0-20be-4edb-8823-b1c5165106e2-image.png
回复: 动手学ros 10.3.2 配置使用IMU后,出错同样的问题,我用的是虚拟的imu,启用imu'数据后也报错!截图 2025-06-05 17-24-58.png cartographer_node节点直接不见了
目前可以通过Rviz2中手动标记目标点实现导航,但是我想用Nav2的API simple_commander实现导航,gotoPose和followPath方法都尝试了,分别有不同的报错:
gotoPose:开始导航后显示距离目标点的距离是0,机器人也开始转圈,转了几秒之后就显示导航失败。Rviz中的机器人模型也在一直旋转
5a3e65f7-1726-46fc-b80d-6aca59b474b7-image.png
fffd3888-e69a-41aa-8fed-80083ed06440-image.png
followPath:无法生成正常的路径
583951aa-a514-484d-b06e-2443e046c1a6-image.png
位置初始化我订阅了/initialpose话题,通过rivz2的2D pose Estimation给定位置。 调用API的代码如下图:
1552d484-593a-45b7-b2f3-e81cebc29daa-image.png
--- stderr: moveit_task_constructor_core
In file included from /home/lzx/moveit2_ws/src/moveit_task_constructor/core/include/moveit/task_constructor/stage.h:43,from/home/lzx/moveit2_ws/src/moveit_task_constructor/core/include/moveit/task_constructor/container.h:41, from /home/lzx/moveit2_ws/src/moveit_task_constructor/core/include/moveit/task_constructor/container_p.h:41,
from /home/lzx/moveit2_ws/src/moveit_task_constructor/core/src/container.cpp:37:
/home/lzx/moveit2_ws/src/moveit_task_constructor/core/include/moveit/task_constructor/utils.h:47:10: fatal error: moveit/macros/class_forward.hpp: 没有那个文件或目录
47 | #include <moveit/macros/class_forward.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [src/CMakeFiles/moveit_task_constructor_core.dir/build.make:76:src/CMakeFiles/moveit_task_constructor_core.dir/container.cpp.o] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:364:src/CMakeFiles/moveit_task_constructor_core.dir/all] 错误 2
gmake[1]: *** 正在等待未完成的任务....
gmake: *** [Makefile:146:all] 错误 2
Failed <<< moveit_task_constructor_core [6.27s, exited with code 2]
Summary: 10 packages finished [24.3s]
1 package failed: moveit_task_constructor_core
1 package had stderr output: moveit_task_constructor_core
4 packages not processed
请问有什么解决方法?
0f866415-c861-4f71-9ee0-ab7991288197-image.png
marlin2.1.1
老师,我这里启用MicroROS服务,报错啥意思,我那个服务正常安装了
f5e342f8-197a-4398-a296-52bb959e3a1a-b9a9133f-20a0-40c2-aaa2-7d62a3edc226.png
gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][16.79s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][16.89s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][1699s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.09s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.20s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.30s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.40s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.50s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.60s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.70s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.80s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][17.90s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.00s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.10s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.20s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.30s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.40s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.50s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.60s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.70s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.80s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][18.91s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.01s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.11s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.21s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.31s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.41s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.51s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.61s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.71s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.81s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][19.91s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.01s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.11s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.21s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.31s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.41s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.52s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.62s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.72s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.82s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][20.92s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.02s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.12s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.22s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.32s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.42s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.52s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.62s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.72s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.82s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][21.92s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.02s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.12s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.22s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.33s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.43s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.53s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.63s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.73s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.83s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][22.93s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.03s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.13s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.23s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.33s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.43s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.53s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.63s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.73s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.83s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][23.93s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.03s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.14s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.24s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.34s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.44s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.54s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.64s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.74s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.84s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][24.94s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.04s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.14s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.24s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.34s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.44s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.54s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.64s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.74s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.85s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][25.95s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.05s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.15s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.25s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.35s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.45s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.55s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.65s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.75s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.85s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][26.95s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.05s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.15s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.25s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.35s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.45s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.56s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.66s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.76s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.86s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][27.96s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.06s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.16s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.26s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.36s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.46s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.56s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.66s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.76s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.86s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][28.96s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.06s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.16s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.26s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.36s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.47s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.57s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.67s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.77s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.87s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][29.97s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.07s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.17s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.27s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.37s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.47s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.57s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.67s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.77s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.87s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][30.98s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.08s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.18s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.28s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.38s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.48s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.58s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.68s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.78s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.88s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][31.98s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.08s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.18s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.28s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.38s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.48s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.58s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.68s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.79s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.89s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][32.99s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.09s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.19s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.29s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.39s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.49s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.59s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.69s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.79s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.89s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][33.99s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.09s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.19s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.29s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.39s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.49s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.59s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.70s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.80s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][34.90s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.00s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.10s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.20s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.30s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.40s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.50s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.60s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.70s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.80s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][35.90s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.00s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.10s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.20s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.30s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.41s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.51s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.61s] Executing: /tmp/apt-key-gpghome.s0naGxNf3Z/gpg.1.sh --keyserver keys[][36.71s] Warning: apt-key output should not be parsed (stdout is not a termin[-][36.80s] CMD Result:code:2
Run CMD Task:[dpkg --print-architecture]
[-][0.00s] CMD Result:success
根据您的系统,为您推荐安装源为['http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/', 'http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/']
Run CMD Task:[sudo rm -rf /etc/apt/sources.list.d/ros-fish.list]
[-][0.00s] CMD Result:success
创建文件:/etc/apt/sources.list.d/ros-fish.list
Run CMD Task:[sudo apt update]
[][6.03s] 204 packages can be upgraded. Run 'apt list --upgradable' to see them[-][6.05s] CMD Result:success
Run CMD Task:[sudo apt search ros-base ]
[][0.69s] A package which extends 'ros_core' and includes other basic functio[-][0.69s] A package which extends 'ros_core' and includes other basic functio[][0.69s] End-Effector package: provides a ROS-based set of standard interfac[-][0.69s] Node that enables connected ROS-based devices or robots to exchange[/][0.69s] ros-noetic-ros-base/focal 1.5.0-1focal.20250521.010531 amd64 [upgrada[][0.69s] A metapackage which extends ros_core and includes other basic non-r[-][0.69s] A package which extends 'ros_core' and includes other basic functio[-][0.69s] CMD Result:success
恭喜,成功添加ROS源,接下来可以使用apt安装ROS或者使用[1]一键安装ROS安装!
Run CMD Task:[sudo apt search ros-base ]
[][0.70s] A package which extends 'ros_core' and includes other basic functio[-][0.70s] A package which extends 'ros_core' and includes other basic functio[][0.70s] End-Effector package: provides a ROS-based set of standard interfac[-][0.70s] Node that enables connected ROS-based devices or robots to exchange[/][0.70s] ros-noetic-ros-base/focal 1.5.0-1focal.20250521.010531 amd64 [upgrada[][0.70s] A metapackage which extends ros_core and includes other basic non-r[-][0.70s] A package which extends 'ros_core' and includes other basic functio[/][0.70s] A package which extends 'ros_core' and includes other basic functio[-][0.70s] CMD Result:success
RUN Choose Task:[请输入括号内的数字]
请选择你要安装的ROS版本名称(请注意ROS1和ROS2区别):
[1]:foxy(ROS2)
[2]:galactic(ROS2)
[3]:noetic(ROS1)
[4]:rolling(ROS2)
[0]:quit
请输入[]内的数字以选择:3
RUN Choose Task:[请输入括号内的数字]
请选择安装的具体版本(如果不知道怎么选,请选1桌面版):
[1]:noetic(ROS1)桌面版
[2]:noetic(ROS1)基础版(小)
[0]:quit
请输入[]内的数字以选择:1
Run CMD Task:[sudo apt search aptitude ]
[|][1.02s] aptitude-common/focal,focal,now 0.8.12-1ubuntu4 all [installed,automa[][1.03s] brain teaser game and trainer to have fun and to keep your brain tr[-][1.03s] CMD Result:success s)
Run CMD Task:[sudo apt install aptitude -y]
[-][1.02s] CMD Result:success
Run CMD Task:[sudo apt install ros-noetic-desktop-full -y]
Reading package lists... Done
Building dependency tree
Reading state information... Done
ros-noetic-desktop-full is already the newest version (1.5.0-1focal.20250521.014741).
0 upgraded, 0 newly installed, 0 to remove and 204 not upgraded.
Run CMD Task:[sudo apt install ros-noetic-desktop-full -y]
[-][0.50s] ros-noetic-desktop-full is already the newest version (1.5.0-1focal.2[-][0.60s] CMD Result:success
Run CMD Task:[sudo apt search python3-catkin-tools ]
[-][0.67s] CMD Result:success
Run CMD Task:[sudo apt install python3-catkin-tools -y]
[-][0.60s] CMD Result:success
Run CMD Task:[sudo apt search python3-rosdep ]
[/][0.74s] python3-rosdep-modules/focal,focal,now 0.25.1-1 all [installed,automa[-][0.74s] CMD Result:success
Run CMD Task:[sudo apt install python3-rosdep -y]
[-][0.61s] CMD Result:success
Run CMD Task:[ls /opt/ros/noetic/setup.bash]
[-][0.00s] CMD Result:success
欢迎使用一键配置ROS开发环境,本工具由作者小鱼提供
Run CMD Task:[ls /opt/ros/*/setup.bash]
[-][0.00s] CMD Result:success
正在准备配置用户目录:/home/koorui/.bashrc
当前系统包含1个ROS,已为您完成启动终端自动激活ROS环境,修改/home/koorui/.bashrc可关闭
正在准备配置用户目录:/root/.bashrc
当前系统包含1个ROS,已为您完成启动终端自动激活ROS环境,修改/root/.bashrc可关闭
恭喜你,安装成功了,再附赠你机器人学习宝藏网站:鱼香社区:https://fishros.org.cn/forum
Run CMD Task:[ls /opt/ros/noetic/setup.bash]
[-][0.00s] CMD Result:success
小鱼,黄黄的提示:您安装的是ROS1,可以打开一个新的终端输入roscore测试!
欢迎加入机器人学习交流QQ群:438144612(入群口令:一键安装)
鱼香小铺正式开业,最低499可入手一台能建图会导航的移动机器人,淘宝搜店:鱼香ROS 或打开链接查看:https://item.taobao.com/item.htm?id=696573635888
如在使用过程中遇到问题,请打开:https://fishros.org.cn/forum 进行反馈
检测到本次运行出现失败命令,直接退出按Ctrl+C,按任意键上传日志并退出
版块
-
1.3k
主题4.8k
帖子 -
433
主题2.9k
帖子 -
56
主题233
帖子 -
1.0k
主题4.2k
帖子 -
986
主题3.6k
帖子 -
5
主题11
帖子 -
356
主题1.6k
帖子