Ros 使用c++ 和 python操作

一、首先创作各自的工作空间和初始化

mkdir -p  (自定义名称) /src
cd  (自定义名称) 
catkin_make  // 编译

二、进入src 中创建 ros 包并且添加依赖

cd src
catkin_create_pkg (自定义ros的包名) roscpp rospy std_msgs

C++ 程序实现

1、创建 c++ 运行包

cd (自定义包)
cd  src
touch  one_c.cpp

2、编写c++包


gedit one_c.cpp

// 包含头文件
# include "ros/ros.h"

//编写main函数
int main(int argc,char *argv[])
	{
	//初始化ros节点
	ros::init(argc,argv,"one_node");
	//创建ros节点句柄(非必须)
	ros::NodeHandle n;
	//输出日志
	ROS_INFO("hello");
	
	return 0;
	}

3、编辑 CMakeLists.txt 配置文件

cd  ..  // 退回上一级目录
gedit  CMakeLists.txt

4、找到 add_executable 和 target_link_libraries 将注释去掉 修改如下

add_executable(one_c(映射名) src/one_c.cpp)
target_link_libraries(one_c
   ${catkin_LIBRARIES}
 )

5、回到 工作空间(start_0)

catkin_make

6、执行
1)重新打开一个终端

ctrl+ alt + t (打开一个终端)
roscore

2)还是在工作空间下

source ./devel/setup.bash
rosrun project(功能包名)  one_c(映射名)
[ INFO] [1648607724.446633252]: hello

3)可以在任意工作空间下执行

ctrl + h (调出隐藏文件)
gedit  .bashrc
source ~/start_0/devel/setup.bash

Python 程序编写

1、进入ros包中创建scripts 目录

cd start_0(进入工作空间)
cd src
cd project (进入功能包)
mkdir -p  scripts
cd scripts
touch one_p.py

2、编写python文件

gedit one_c.py

# 指定解释器
#!/usr/bin/env python
# 导包
import rospy

# 编写主入口
if __name__ == "__main__":
	# 初始化ros节点
	rospy.init_node("one_p");
	# 输出日志
	rospy.loginfo("hello python!")

3、添加可执行权限

ll
chmod +x one_p.py

4、进入csripts 平级的 CMakeLists.txt
将 catkin_install_python 进行修改如下

catkin_install_python(PROGRAMS
  scripts/one_p.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 
  )
  选择恰当的解释器

5、编译 进入工作空间

cd ~/start_0
catkin_make

6、执行
1)重新打开一个终端

ctrl+ alt + t (打开一个终端)
roscore

2)

cd ~/start_0
source ./devel/setup.bash
rosrun project(功能包名) one_p.py
[INFO] [1648610206.030485]: hello python!

你可能感兴趣的:(ubuntu,linux,人工智能)