ROS小车打造(四)--VS Code for Ros开发环境搭建

本文介绍了如何使用VScode在Windows 10上远程连接并调试运行在Linux设备Jetson TX2上的ROS工作空间。步骤包括设置Linux的静态IP和SSH服务,创建ROS工作空间,安装VScode及必备插件,配置.c_cpp_properties.json, launch.json和tasks.json文件,实现代码编辑、编译和调试的一站式体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VS code有很多插件可以方便的进行编写代码与调试,而且可以SSH远程调试非常的方便。

linux设备--jetson TX2

Windows10

1.linux上使用静态IP,并且已开启SSH服务

2.linux上创建ROS工作空间,会自动生成build devel 

mkdir ros_ws && cd  ros_ws
mkdir src && cd src
catkin_init_workspace
cd ../
catkin_make

3.windows上安装VSCode,并点扩展栏安装以下插件

 

 

4.windows设备与linux建立远程连接

打开工程后会提示有错误,可以添加与编辑,.json文件

1)c_cpp_properties.json 要手动添加         

                                   

{
  "configurations": [
    {
      "browse": {
        "databaseFilename": "",
        "limitSymbolsToIncludedHeaders": true
      },
      "includePath": [
        "/home/tx2/ros_ws/devel/include/**",
        "/opt/ros/melodic/include/**",
        "/home/tx2/ros_ws/src/beginner_tutorials/include/**",
        "/home/tx2/ros_ws/src/zed-ros-interfaces/include/**",
        "/usr/include/**"
      ],
      "name": "ROS",
      "intelliSenseMode": "gcc-x64",
      "compilerPath": "/usr/bin/g++",
      "cStandard": "c11",
      "cppStandard": "c++11",
      "compileCommands": "${workspaceFolder}/build/compile_commands.json"
    }
  ],
  "version": 4
}

2)launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}//devel/lib/beginner_tutorials/beginner_tutorials_node",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        }
    ]
}

3)tasks.json

{
    "tasks": [
        {
            "type": "shell",
            "label": "catkin_make",
            "command": "catkin_make",
            "args": [
                "-DCMAKE_EXPORT_COMPILE_COMMANDS=1",
                "-DCMAKE_BUILD_TYPE=Release"
            ],

            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always"
            },
            "problemMatcher": "$msCompile"
        }
    ],
    "version": "2.0.0"
}
}

之后就可以Ctrl+F5 Ctrl+Shift+B了,如果没有上面3个文件也可以通过这两个快捷按提示与报错添加

 

 

### 如何在ROS2中搭建和配置GAZEBO环境 #### 安装依赖项 为了确保GAZEBO能够在ROS2环境中正常运行,需要先安装一系列必要的依赖包。对于大多数Linux发行版来说,可以通过以下命令来完成这些软件包的安装: ```bash sudo apt update && sudo apt install -extensions \ python3-flake8 \ python3-pip \ python3-pytest-cov \ python3-setuptools \ wget ``` #### 安装ROS2 Foxy Fitzroy版本 如果尚未安装ROS2,则可以选择Foxy Fitzroy作为目标版本进行安装。通过官方脚本自动化此过程是一个不错的选择[^1]。 ```bash sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update sudo apt upgrade sudo apt install ros-foxy-desktop ``` #### 配置环境变量 为了让系统识别新安装的ROS2以及后续要安装的GAZEBO,需将相应的路径加入到`.bashrc`文件中以便每次启动终端都能加载它们。 ```bash echo 'source /opt/ros/foxy/setup.bash' >> ~/.bashrc source ~/.bashrc ``` #### 下载并编译GAZEBO源码 考虑到特定需求或定制化功能的要求,有时直接下载GAZEBO源代码自行编译会更加灵活。可以从GitHub仓库克隆最新稳定分支,并按照说明文档逐步操作。 ```bash git clone https://github.com/gazebosim/gz-sim.git ~/gzsim_src --branch gz-sim4 cd ~/gzsim_src colcon build --symlink-install source install/local_setup.sh ``` #### 创建工作空间与编写模型描述文件 创建一个新的ROS2工作区用于放置自定义资源如机器人URDF/XACRO文件等,在该目录内构建项目结构;接着利用Xacro语言简化复杂机械臂关节链路表示方式,最后转换成标准格式供SIM读取解析。 ```xml <!-- example_robot.urdf.xacro --> <?xml version="1.0"?> <robot xmlns:xacro="http://www.ros.org/wiki/xacro"> <!-- Define your robot here using XACRO syntax --> </robot> ``` #### 启动模拟场景 一切准备就绪之后,就可以尝试启动一个简单的测试世界看看效果如何了。这里给出一段Python节点样例用来发布Twist消息控制虚拟小车移动方向速度参数调整。 ```python import rclpy from geometry_msgs.msg import Twist def main(args=None): rclpy.init(args=args) node = rclpy.create_node('teleop_twist_keyboard') pub = node.create_publisher(Twist, '/cmd_vel', 10) twist_msg = Twist() twist_msg.linear.x = 0.5 while True: pub.publish(twist_msg) rclpy.spin_once(node) if __name__ == '__main__': main() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值