用户您好,请详细描述您所遇到的问题:
- 系统软件版本: (通过 cat /etc/version 获得)
- 问题涉及的技术领域: (硬件、操作系统、驱动、其他)
- 问题描述:(尽可能详细的描述在进行什么功能的开发或者测试,发现了什么问题,问题现象,并且提供预期的结果)
- 复现概率:(必现、高、中、低,并描述大致的概率数值) 已进行的排查措施、分析及结果:
- 硬件问题先排查供电和时钟
- 驱动问题先排查外设的供电、复位和时钟
- 功能异常,先排查一下是不是运行的代码和demo存在差异,修改不多的情况下直接用对比软件先对比
- 提供必要的问题日志:
- 软件上是否有做自定义修改:
我基于x3 PI 的 unbuntu server(后又换成 ubuntu desk)系统想做个自启动脚本,即系统启动后不需要输入用户名和密码,在开机后即可自动运行人体跟随pkg,结果尝试多种情况均失败。我先是按sdk中的说明文档在/etc/rc.local 脚本最后面启动了我的脚本,提示启动失败,然后我创建了系统服务,也提示启动失败。
需要寻求帮助的是只要能让pkg开机自启动即可,随便什么方案都行。
我创建的脚本内容如下:
#!/bin/bash -e
echo "-----start auto run --->"
cd /userdata/dev_ws
source /opt/tros/setup.bash
source /userdata/dev_ws/install/local_setup.bash
#ros2 launch originbot_bringup originbot.launch.py
ros2 launch body_tracking hobot_body_tracking_without_gesture.launch.py
2. 错误信息如下(系统启动中):
[ OK ] Finished Helper to synchronize boot up for ifupdown.
Starting Raise network interfaces...
[ OK ] Finished Raise network interfaces.
[ OK ] Reached target Network.
[ OK ] Reached target Network is Online.
Starting auto_run.service...
[ OK ] Started ISC DHCP IPv4 server.
[ 11.537033] auto_run.sh[2938]: -----start auto run --->
[ OK ] Started ISC DHCP IPv6 server.
Starting OpenBSD Secure Shell server...
Starting Permit User Sessions...
Starting LSB: HPA's tftp server...
[ 12.122384] hobot mmap end!:15000000
[ 26.104535] auto_run.sh[3259]: [INFO] [launch]: All log files can be found below /root/.ros/log/2023-02-15-10-49-32-034413-ubuntu-3259
[ 26.106738] auto_run.sh[3259]: [INFO] [launch]: Default logging verbosity is set to INFO
[ 26.847999] auto_run.sh[3259]: launch webserver
[ 26.849193] auto_run.sh[3259]: pwd_path is /userdata/dev_ws
[ 26.850383] auto_run.sh[3259]: webserver_path is /opt/tros/lib/websocket/webservice
[ 26.851838] auto_run.sh[3259]: launch webserver cmd is ./sbin/nginx -p .
[ 26.853197] auto_run.sh[3259]: [INFO] [mipi_cam-1]: process started with pid [3276]
[ 26.854803] auto_run.sh[3259]: [INFO] [hobot_codec_republish-2]: process started with pid [3278]
[ 26.856463] auto_run.sh[3259]: [INFO] [mono2d_body_detection-3]: process started with pid [3280]
[ 26.858047] auto_run.sh[3259]: [INFO] [websocket-4]: process started with pid [3282]
[ 26.859416] auto_run.sh[3259]: [INFO] [body_tracking-5]: process started with pid [3284]
[ 27.357727] auto_run.sh[3259]: [body_tracking-5]
[ 27.358876] auto_run.sh[3259]: [body_tracking-5] This is body tracking package.
[ 27.360455] auto_run.sh[3259]: [body_tracking-5]
[ 27.361621] auto_run.sh[3259]: [body_tracking-5] gesture strategy usage
[ 27.362995] auto_run.sh[3259]: [body_tracking-5]
[ 27.364133] auto_run.sh[3259]: [body_tracking-5] Wake up gesture is "Okay".
[ 27.365601] auto_run.sh[3259]: [body_tracking-5] Cancel gesture is "Palm".
[ 27.367196] auto_run.sh[3259]: [body_tracking-5] Control will be reset if body is lost.
[ 27.368926] auto_run.sh[3259]: [body_tracking-5] ============================================
[ 27.370607] auto_run.sh[3259]: [body_tracking-5]
[ 27.742475] auto_run.sh[3259]: [mipi_cam-1]
[ 27.744522] auto_run.sh[3259]: [mipi_cam-1] >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
[ 27.746451] auto_run.sh[3259]: [mipi_cam-1] This error state is being overwritten:
[ 27.748178] auto_run.sh[3259]: [mipi_cam-1]
[ 27.749672] auto_run.sh[3259]: [mipi_cam-1] 'rcutils_expand_user failed, at /home/kairui/cc_ws_release/tros_ws/src/tros/rcl_logging/rcl_logging_spdlog/src/rcl_logging_spdlog.cpp:248'
[ 27.752600] auto_run.sh[3259]: [mipi_cam-1]
[ 27.753761] auto_run.sh[3259]: [mipi_cam-1] with this new error message:
[ 27.755254] auto_run.sh[3259]: [mipi_cam-1]
[ 27.756424] auto_run.sh[3259]: [mipi_cam-1] 'Failed to get logging directory, at /home/kairui/cc_ws_release/tros_ws/src/tros/rcl_logging/rcl_logging_spdlog/src/rcl_logging_spdlog.cpp:93'
[ 27.759568] auto_run.sh[3259]: [mipi_cam-1]
[ 27.760703] auto_run.sh[3259]: [mipi_cam-1] rcutils_reset_error() should be called after error handling to avoid this.
[ 27.762771] auto_run.sh[3259]: [mipi_cam-1] <<<
[ 27.764049] auto_run.sh[3259]: [body_tracking-5]
[ 27.765431] auto_run.sh[3259]: [body_tracking-5] >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
[ 27.767461] auto_run.sh[3259]: [body_tracking-5] This error state is being overwritten:
[ 27.769213] auto_run.sh[3259]: [body_tracking-5]
[ 27.770414] auto_run.sh[3259]: [body_tracking-5] 'rcutils_expand_user failed, at /home/kairui/cc_ws_release/tros_ws/src/tros/rcl_logging/rcl_logging_spdlog/src/rcl_logging_spdlog.cpp:248'
[ 27.773157] auto_run.sh[3259]: [body_tracking-5]
[ 27.774472] auto_run.sh[3259]: [body_tracking-5] with this new error message:
3. 查看服务的状态
root@ubuntu:~# systemctl status auto_run.service
● auto_run.service
Loaded: loaded (/lib/systemd/system/auto_run.service; enabled; vendor preset: enabled)
Drop-In: /usr/lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (running) since Wed 2023-02-15 10:49:34 CST; 56min ago
Process: 2938 ExecStart=/etc/init.d/auto_run.sh start (code=exited, status=0/SUCCESS)
Main PID: 3274 (nginx)
Tasks: 2 (limit: 3890)
Memory: 103.0M
CGroup: /system.slice/auto_run.service
├─3274 nginx: master process ./sbin/nginx -p .
└─3275 nginx: worker process
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] with this new error message:
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3]
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] 'Failed to get logging directory, at /home/kairui/cc_ws_release/tros_ws/src/tros/rcl_logging/rcl_logging_spdlog/src/>
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3]
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] rcutils_reset_error() should be called after error handling to avoid this.
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] <<<
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] [ERROR] [1676429373.745275761] [rclcpp]: rcl context unexpectedly not shutdown during cleanup
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
Feb 15 10:49:33 ubuntu auto_run.sh[3259]: [mono2d_body_detection-3] what(): failed to configure logging: Failed to get logging directory, at /home/kairui/cc_ws_release/tros_ws/src/tro>
Feb 15 10:49:34 ubuntu systemd[1]: Started auto_run.service.