【3. 初学ROS,年轻人的第一个Node节点】

本文涉及的产品
资源编排,不限时长
简介: 【3. 初学ROS,年轻人的第一个Node节点】

1. 工作空间设置

cd catkin_ws/src/


2. 创建Package



catkin_creat_pkg ssr_pkg rospy roscpp std_msgs

1.png

2.png



3. 回访依赖包



3.png

4.png

5.png

roscd roscpp
ls
code package.xml

6.png

7.png

8.png

9.png

10.png


下载包可直接运行,源文件须编译运行


4. 创建Node节点



#include  <ros/ros.h>
int main(int argc, char const *argv[])
{
    /* code */
    return 0;
}


11.png

代码误报删除c_cpp_properties文件




5. 源码编译



#include  <ros/ros.h>
int main(int argc, char const *argv[])
{
    /* code */
    printf("HelloWorld!\n");
    return 0;
}



12.png

13.png

14.png






add_executable(chao_node src/chao_node.cpp)

ctrl+shift+b编译

15.png


6. 运行Node节点


16.png



roscore



17.png

rosrun ssr_pkg chao_node

18.png

如果报错如下操作

19.png



code ~/.bashrc

20.png



# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash

7. Node节点完善



21.png

#include  <ros/ros.h>
int main(int argc, char  *argv[])
{
    /* code */
    ros :: init ( argc, argv, "chao_node");
    printf("我是个弟弟!\n");
    return 0;
}



22.png




add_executable(chao_node src/chao_node.cpp)
target_link_libraries(chao_node
  ${catkin_LIBRARIES}
)

23.png

编译运行

24.png

保持运行,加while循环




#include  <ros/ros.h>
int main(int argc, char  *argv[])
{
    /* code */
    ros :: init ( argc, argv, "chao_node");
    printf("我是个弟弟!\n");
    while (true)
    {
        /* code */
        printf("我是大哥!\n");
    }
    return 0;
}

编译运行

25.png


26.png




#include  <ros/ros.h>
int main(int argc, char  *argv[])
{
    /* code */
    ros :: init ( argc, argv, "chao_node");
    printf("我是个弟弟!\n");
    while (ros::ok())
    {
        /* code */
        printf("我是大哥!\n");
    }
    return 0;
}


27.png


8. 总结

28.png

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
移动开发 前端开发 HTML5
Twaver-HTML5基础学习(8)拓扑元素(Element)_网元(Element)、节点(Node)
本文介绍了Twaver HTML5中的拓扑元素(Element),包括网元(Element)、节点(Node)和连线(Link)的基本概念和使用方法。文章详细解释了Element的属性和方法,并通过示例代码展示了如何在React组件中创建节点、设置节点属性和样式。
60 1
Twaver-HTML5基础学习(8)拓扑元素(Element)_网元(Element)、节点(Node)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)

推荐镜像

更多