无人驾驶仿真(六):编写基于ROS的C++测试代码,控制车辆运动

编程入门 行业动态 更新时间:2024-10-10 21:21:57

无人驾驶仿真(六):编写基于ROS的C++测试代码,控制<a href=https://www.elefans.com/category/jswz/34/1760423.html style=车辆运动"/>

无人驾驶仿真(六):编写基于ROS的C++测试代码,控制车辆运动

1. 为什么要基于ROS编写代码?

使用其他的机器人操作系统均可,本博客使用基础的ROS平台。

2. 需要做哪些准备?

windows:完整的prescan仿真模型,包括车辆,环境

linux:ROS1.0完整版本

3. ROS工程代码:

(1)创建工程项目:

mkdir -p ~/talker/src
cd talker/src
catkin_init_workspace
cd ..
catkin_make
cd src
catkin_create_package communication roscpp rospy std_msgs geometry_msgs

(2)编写talker代码:

#include <ssteam>
#include <std_msgs/String.h>
#include <geometry_msgs/PoseStamped.h>
#include <ros/ros.h>int main(int argc, **argv){ros::init(argc, argv, "talker");ros::NodeHandle n;ros::Publisher chatter_pub = n.advertise<geometry_msgs::PoseStamped>("talker", 10);ros::Rate loop_rate(10);while(ros::ok()){geometry_msgs::PoseStamped pose_msg;pose_msg.pose.position.x=1;pose_msg.pose.position.y=2;pose_msg.pose.position.z=3;pose_msg.pose.orientation.x=3;chatter_pub.publish(pose_msg);ros::spinOnce();loop_rate.sleep;}
}

(3)编辑CMakeLists.txt

cmake_minimum_requried(VERSION 2.8.3)
project(communication)find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsmessage_generationgeometry_msgs
)add_message_files(FILES PointStamped.msg)generate_messages(DEPENDENCIES std_msgs)catkin_package(CATKIN_DEPENDS roscpp rospy message_runtime message_generation geometry_msgs)include_directories(include$(catkin_INCLUDE_DIRS)
)add_executalbe(talker src/talker.cpp)
target_link_libraries(talker $(catkin_LIBRARIES))

(4)编辑packge.xml

<?xml version="1.0"?>
<package format="2"><name>communication</name><version>0.0.0</vervion><description>The communication package</description><miantainer email>="username@todo.todo"<maintainer><license>TODO</license><buildtool_depend>catkin</buildtool_depend><build_depend>roscpp</build_depend><build_depend>rospy</build_depend><build_depend>std_msgs</build_depend><build_depend>message_generation</build_depend><build_depend>message_runtime</build_depend><build_depend>geometry_msgs</build_depend><build_export_depend>roscpp</build_export_depend><build_export_depend>rospy</build_export_depend><build_export_depend>std_msgs</build_export_depend><build_export_depend>message_generation</build_export_depend><build_export_depend>message_runtime</build_export_depend><build_export_depend>geometry_msgs</build_export_depend><exec_depend>roscpp</exec_depend><exec_depend>rospy</exec_depend><exec_depend>std_msgs</exec_depend><exec_depend>message_generation</exec_depend><exec_depend>message_runtime</exec_depend><exec_depend>geometry_msgs</exec_depend><export></export>
</package>

(5)配置环境:

cd ~/talker
catkin_makesource devel/setup.bash
export ROS_MASTER_URI=http://192.168.*.*:*** //rosmaster主机(Linux)ip和端口
epxort ROS_HOSTNAME=192.168.*.* //windows主机ip
rosrun communicaiton talker

 

更多推荐

无人驾驶仿真(六):编写基于ROS的C++测试代码,控制车辆运动

本文发布于:2024-03-12 21:49:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732488.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:车辆   无人驾驶   代码   测试   ROS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!