ROS编程
文章平均质量分 67
小巨同学
路漫漫其修远兮,吾将上下而求索。
展开
-
ROS仿真机器人实现Rviz轨迹显示
3、启动导航的launch文件中添加启动该cpp文件。1、导航包中创建.cpp文件,并将以下代码复制进去。2、CMakeLists当中添加可执行文件及链接库。原创 2023-05-15 14:25:54 · 2528 阅读 · 2 评论 -
Action动作通信应用(2):自建跑道,导航小车跑圈
一、需求: 使用Tianbot_mini_gazebo环境,更换为自己搭建的跑道地图,使用move_base框架,Action通信,导航小车跑圈二、实现效果:三、实现过程:1、先参考:Action通信简介及案例1:发送单导航目标点2、替换仿真地图地图代码:room_square.world添加到worlds文件目录下修改launch文件:3、加载仿真环境roslaunch tianbot_mini_gazebo simulation.launch4、启动SLAMroslaunch原创 2022-03-09 11:19:34 · 1549 阅读 · 4 评论 -
Action通信简介及案例1:发送单导航目标点
一、Action通信二、实现过程仿真环境我们使用开源turtlebot3项目,重点放在单目标点导航实现上1、打开终端,设定机器人模型export TURTLEBOT3_MODEL=burger ## TURTLEBOT3_MODEL有burger, waffle或waffle_pi三种2、加载仿真环境roslaunch turtlebot3_gazebo turtlebot3_world.launch3、启动导航roslaunch turtlebot3_navigation turtle原创 2022-03-08 20:57:15 · 3528 阅读 · 14 评论 -
PID算法在ROS仿真环境中的理论及应用(ROS_F1TENTH)
一、需求:在F1TENTH 仿真环境simulator中,使用PID算法实现无人车沿墙走wall_following源码链接:https://github.com/Grizi-ju/ros_program/blob/main/wall_following_pid.cpp(另外两个是python版本的)B站讲解:https://www.bilibili.com/video/BV14F411v7Jw?spm_id_from=333.999.0.0C++ROS阿克曼车二、实现效果:三、实现过程原创 2022-02-15 21:44:11 · 6552 阅读 · 5 评论 -
ROS服务通信应用(2):服务与话题结合,触发小车运动
需求: 在F1TENTH仿真环境中,写一个C++程序,请求一个服务,触发小车运动实现效果:代码部分:/** * 服务通信:该例程在F1TENTH仿真环境下,执行/car_command服务,服务数据类型std_srvs/Trigger */ #include <ros/ros.h>#include <std_srvs/Trigger.h>#include <ackermann_msgs/AckermannDriveStamped.h>ros::Pub原创 2022-01-28 15:41:48 · 4492 阅读 · 0 评论 -
ROS服务通信应用(1):创建服务客户端,生成多只乌龟
需求: 在turtlesim仿真环境中,写一个C++程序,创建客户端,请求/spawn服务,生成多只乌龟实现效果:服务通信常用命令行工具:rosservice list 服务列表rosservice type /spawn 消息类型rossrv info turtlesim/Spawn 消息格式rosservice call /clear 清除功能(可以清理小乌龟走过的线路)rosservice call /kill “name: ‘turtle1’” 杀死小乌龟ross原创 2022-01-28 15:33:29 · 3319 阅读 · 0 评论 -
从零开始仿真ROS小车(二)在gazebo中显示小车模型
一、实现过程1、 从零开始仿真小车(一)urdf模型+rviz可视化2、从零开始仿真小车(二)在gazebo中显示小车模型优化xacro文件,并为模型添加碰撞参数、惯性矩阵、颜色,在rviz、gazebo中显示3、从零开始仿真小车(三)运动控制、激光雷达仿真、深度相机仿真4、从零开始仿真小车(四)建图与导航二、实现效果及包含文件蓝色的相机和黑色的激光雷达没有,我这是已经加好的,我会在之后的文章中写三、优化xacro模型在手写urdf模型+rviz可视化基础上,我以方形全向轮车为基原创 2021-09-01 16:35:30 · 12937 阅读 · 14 评论 -
从零开始仿真ROS小车(一)urdf模型+rviz可视化
Unified Robot Description Format,统一机器人描述格式,简称为URDF代码已上传个人git账号Grizi_ju一、创建功能包cd catkin_ws #进入工作空间catkin_create_pkg jubot_demo urdf xcaro #创建功能包、添加依赖cd jubot_demo/mkdir urdfmkdir launchmkdir meshes #存放渲染机器人模型的文件mkdir config #存放rviz配置的文件打开VS Code原创 2021-08-10 14:51:09 · 13705 阅读 · 35 评论 -
ROS编程(三)多个乌龟跟随阵型
多个机器人协作时,需要互相知道对方的姿态,利用turtlesim也可以进行多个乌龟的协作。一、实现效果某只乌龟的姿态信息:x轴y轴、yaw角、线速度、角速度二、文件部分记得将cpp文件权限设置为可执行程序,并添加CMake编译规则,catkin_make,souce等一系列操作三、代码部分1、在功能包里创建新节点turtle_new.cpp 原理是向spawn这个服务提出请求,生出多个新乌龟#include <ros/ros.h>#include <tu原创 2021-08-06 18:06:57 · 3630 阅读 · 0 评论 -
ROS编程(二)控制小乌龟绘制矩形
一、实现效果实际turtlesim本身有draw_square这个节点,直接命令打开就行,我这里自己写一个二、实现过程1.在工作空间下创建一个新的功能包my_turtlecatkin_create_pkg my_turtle roscpp rospy std_msgs2.进入功能包创建并编辑新的cpp文件draw_rectangle.cpptouch draw_rectangle.cpp(我用VS编辑的,代码附在下面)3.设置为可执行文件,并CMake中配置编译规则add_execut原创 2021-08-05 00:33:34 · 7605 阅读 · 4 评论 -
ROS编程(一)写一个最简单的发布者订阅者
想把自己学过的东西慢慢整理成文章,一是巩固自己,二是分享知识。教程参考的是wiki.ros.org目录:1.创建功能包2.写发布者代码,配置编译规则3.写订阅者代码,配置编译规则4.编译功能包5.运行节点1.在catkin_ws中创建功能包在catkin_ws目录下打开终端catkin_create_pkg beginner_tutorials rospy roscpp std_msgscd ~/catkin_wscatkin_makesource devel/s.原创 2021-07-19 21:12:18 · 1118 阅读 · 2 评论