跳转至

基础操作

多线程启动程序

  • .bashrc文件

  • cd ~/25RC_reset/ws_livox source install/setup.bash ros2 launch fast_lio start.launch.py & gnome-terminal -- bash -c " sleep 10 cd ~/25RC_reset/subscription_and_send source install/setup.bash ros2 run sensor_data_msgs_subscriber sensor_data_msgs_subscriber_node "

  • python脚本

  • ``` import os import subprocess

    def run_ros2(): # 切换工作目录并执行ROS2命令 work_dir = os.path.expanduser("~/25RC_reset/easy_nav") os.chdir(work_dir)

    # 后台启动nav_launch
    subprocess.Popen(f"bash -c 'source install/setup.bash && ros2 launch nav_bringup nav_launch.py &'", shell=True)
    
    # 新建终端执行订阅节点
    term_cmd = (
        "bash -c 'sleep 7 && "
        "/home/hurricane/25RC_reset/subscription_and_send && "
        "source install/setup.bash && "
        "ros2 run sensor_data_msgs_subscriber sensor_data_msgs_subscriber_node'"
    )
    subprocess.Popen(["gnome-terminal", "--", "bash", "-c", term_cmd])
    

    if name == "main": # 用户输入判断 choice = input("输入1启动ROS2,输入2进入正常终端:").strip() if choice == "1": run_ros2() elif choice == "2": pass ```

移植完整的python环境

  • 使用 pigar 自动扫描代码
  • pip install pigar
  • 扫描项目并生成配置(生成requirements.txt)
    • 进入项目代码所在的根目录
    • pigar generate
  • 在新的位置创建新的虚拟环境
    • python -m venv venv(最后一个参数可以自己命名)
  • 激活新环境并安装依赖
    • source venv/bin/activate
  • 一键安装所有依赖包
    • pip install -r requirements.txt
  • 使用conda移植
  • 创建独立环境
  • conda create --name my_cv_env python=3.9
  • 激活环境
  • conda activate my_cv_env
  • 环境移植
  • conda env export > environment.yml
    • 如果要在不同操作系统的电脑间移植(export会将系统底层的C++编译哈希值也写入)
    • conda env export --no-builds > environment.yml
  • 在新电脑上复刻环境
  • conda env create -f environment.yml(env不能变)