当前位置: 首页 > web >正文

编写第一个ros程序

1.下载VScode

下载链接如下:

Download Visual Studio Code - Mac, Linux, Windows

 下载ARM64下的.deb文件

打开虚拟机,再rosnoetic下新建一个文件夹VSCODE,将windows下的文件导入该文件夹下如下图。

在该文件夹下右键选择在终端中打开

 输入如下代码

sudo dpkg -i code_1.100.2-1747260578_amd64.deb 

然后会跳出一个界面直接选择是然后回车即可

然后可以把VSCODE删除掉(这是.deb是安装包删了不影响)

2.打开VSCODE并放入收藏夹

然后按两次ESC键可以回到桌面。

2.打开VSCODE并下载相关扩展

需要下载如下扩展

安装完这些插件后重启VSCODE

3.创建一个ROS工作空间

在主文件夹下打开一个终端输入

mkdir -p demo1_ros/src

然后再输入(可以用tab补齐)

cd demo2_ros/

然后在输入

catkin_make

会发现执行后demo1_ros文件夹下会多出来build和devel

然后再输入(注意code(空格).)打开vscode

code .

打开后按下 ctrl + shift + B

再上面的对话框中选择第二个并打开那个设置按钮

 后会弹出一个这个界面

将下面这个代码替换进去即可然后按ctrl+s保存

{"version": "2.0.0","tasks": [{"type": "catkin_make","args": ["--directory","/home/rosnoetic/demo1_ros","-DCMAKE_BUILD_TYPE=RelWithDebInfo"],"group":{"kind": "build","isDefault": true},"problemMatcher": ["$catkin-gcc"],"label": "catkin_make: build"}]
}

然后右键src选择创建package 

在弹窗中输入hello 按下回车键

 

 再新的弹窗中输入依赖项如下代码和下图后回车

roscpp rospy std_msgs

 按ctrl + shift+ B如果编译没问题则配置正确

 然后就会多出来一个hello文件夹(你上面的工作包叫啥名这里多出来啥文件夹)

4.创建一个CPP程序

再hello文件夹下找到src文件夹右键新建文件helloworld.cpp

4.1 打开helloworld.cpp输入以下代码

//导入标准头文件
#include "ros/ros.h"int main(int argc, char *argv[])
{ros::init(argc,argv,"helloworld");//创建ros节点ROS_INFO("hellworld\n");//打印输出return 0;
}

4.2 打开hello文件夹下的CMakeLists.txt

通过ctrl+f找到add_executable打开这一行注释

并改为下面

add_executable(helloworld src/helloworld.cpp)

前面是节点后面是在hello文件夹下的cpp文件位置

找到在add_executable下的第一个target_link_libraries将下面三行取消注释。

并将其改为下面代码(将上面的节点改为设的helloworld即可)

target_link_libraries(helloworld${catkin_LIBRARIES}
)

然后ctrl + s 保存后,按ctrl+shift+B编译,成功后如下图

4.3 运行cpp文件

3.1新建一个终端输入roscore

输入roscore后回车

再建一个终端输入(更新环境)

source ./devel/setup.bash

 在输入(rosrun  (你的工作包文件夹)(你的节点映射))

rosrun hello helloworld

发现输出成功 

4.4 配置自动补齐

5.创建一个py文件 

在hello文件夹下新建一个scripts文件夹

 5.1新建一个py文件

5.2在helloworld.py中输入如下代码

#! /usr/bin/env python
#配置编译器#导入包
import rospy#main函数if __name__ == "__main__":rospy.init_node("hellopy")  #初始化节点rospy.loginfo("this is a python helloworld \n") #输出

5.3打开hello文件夹下的CMakeLists.txt

按ctrl + f搜索catkin_install_python取消注释这三行

并将其改为如下代码后ctrl +是保存后按ctrl + shift +B运行编译

catkin_install_python(PROGRAMSscripts/helloworld.pyDESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

5.4运行python文件

 新建一个终端输入(更新环境)

source ./devel/setup.bash

 在输入(rosrun  (你的工作包文件夹)(你的节点映射))

rosrun hello helloworld.py

得到如下输出

http://www.xdnf.cn/news/9291.html

相关文章:

  • 【Python训练营打卡】day37 @浙大疏锦行
  • 吉林省CCPC与全国邀请赛(东北地区赛)游记
  • 把 CURSOR 的工具活动栏改成和 VSCODE 一样的左侧展示
  • 防爆手机VS普通手机,区别在哪里?
  • Python实例题:使用Python定制词云
  • 基于深度学习的语音识别系统设计与实现
  • OpenCV CUDA模块图像处理------颜色空间处理之用于执行伽马校正(Gamma Correction)函数gammaCorrection()
  • Jenkins分配对应项目权限与用户管理
  • Linux中的常用命令
  • JSON全面解析
  • Qt基础终结篇:从文件操作到多线程异步UI,深度解析核心要点
  • -资产收集篇FridaHOOKXposed证书提取单向双向检验抓包
  • Logi鼠标切换桌面失效
  • ubuntu2x.xx网络不通如何解决
  • 《计算机组成原理》第 9 章 - 控制单元的功能
  • 光电赋能低空场景,灵途科技助力无人机持续升级
  • 红黑树,B树,二叉树之间的不同
  • 【监控】Prometheus中的告警机制介绍
  • 异常:UnsupportedOperationException: null
  • 【Java开发日记】说一说序列化与反序列化中存在的问题
  • 前端 reconnecting-websocket 包
  • 【AI工具应用】使用 trae 实现 word 转成 html
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.4 R语言解题
  • Python训练打卡Day35
  • vLLM 核心技术 PagedAttention 原理详解
  • SLOT:测试时样本专属语言模型优化,让大模型推理更精准!
  • 对于ARM开发各种手册的分类
  • 计算机网络-网络层
  • 赋能低空经济 | 奇妙智能已掌握AI+无人机智慧巡检技术
  • Linux `cd` 命令深度解析与高阶应用指南