ROS相关资料及常用代码总结

小编 2026-07-06 阅读:337 评论:0
1.相关资料 走弓字形参考代码 https://www.ncnynl.com/archives/201703/1479.html 走三角形代码 https://blog.csdn.net/yw...

1.相关资料

走弓字形参考代码
https://www.ncnynl.com/archives/201703/1479.html
走三角形代码
https://blog.csdn.net/ywj447/article/details/53318411
节点控制与通信部分可参考
https://blog.csdn.net/under_maple/article/details/49430765
学习move_base包
https://blog.csdn.net/haorenhaoren123/article/details/51439046
用move_base控制自己的机器人
https://blog.csdn.net/heyijia0327/article/details/41823809
move_base navigation教程
https://www.ncnynl.com/archives/201708/1898.html
使用ros实现navigation导航
https://blog.csdn.net/ganbaoni9yang/article/details/50560310
最后的速度插值处理(流程就是订阅 “cmd_vel”topic 然后将速度做处理,发送给下位机执行)
http://wiki.ros.org/yocs_velocity_smoother
turtlebot主从机网络配置
https://blog.csdn.net/qq_32005213/article/details/80227179
https://blog.csdn.net/lovedarling/article/details/78470680
https://www.ncnynl.com/archives/201609/793.html
https://blog.csdn.net/qq_32005213/article/details/80227179
航迹推演原理
https://robotics.stackexchange.com/questions/106/what-is-a-suitable-model-for-two-wheeled-robots/134#134
rosplan机器人路径规划
https://blog.csdn.net/philthinker/article/details/74937601
ros串口通信教程
https://blog.csdn.net/qq_30299913/article/details/77868738

2.常用命令总结

创建一个功能包:

catkin_create_pkg ros_tutorials

启动turtlebot :

roslaunch turtlebot_bringup minimal.launch

启动建图:

roslaunch turtlebot_navigation gmapping_demo.launch

启动rviz:

roslaunch turtlebot_rviz_launchers view_navigation.launch

启动键盘:

rosrun turtlebot_teleop turtlebot_teleop_key

is not a launch file :报错解决方案

$   cd ~/catkin_ws/
$   catkin_make
$   source devel/setup.bash

创建一个功能包

cd ~/catkin_ws/src
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

启动turtlebot机器人

roslaunch rbx1_bringup  fake_turtlebot.launch

空白地图启动move_base节点

roslaunch rbx1_nav fake_move_base_blank_map.launch

发布一条前进指令

rostopic pub /move_base_simple/goal  geometry_msgs/PoseStamped \\ \'{header: {frame_id: \"map\"},pose: {position:{x: 1.0,y: 0,z: 0},orientation: {x: 0,y: 0,z: 0,w: 1}}}\'

使用rviz观察

rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz

再发一个返回起点的指令

rostopic pub /move_base_simple/goal  geometry_msgs/PoseStamped \\ \'{header: {frame_id: \"map\"},pose: {position:{x: 0.0,y: 0,z: 0},orientation: {x: 0,y: 0,z: 0,w: 1}}}\'

运行rqt_reconfigure,可以用可视化的方法调节各个参数


用move_base简单的移动机器人
1.首先启动turtlebot机器人。

roslaunch rbx1_bringup fake_turtlebot.launch

2.在另一个终端运行:

roslaunch rbx1_nav fake_move_base_blank_map.launch

3.打开rviz视图查看机器人。

rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz

4.运行move_base_square.py脚本移动机器人。

rosrun rbx1_nav move_base_square.py

1、首先运行ArbotiX节点,并且加载机器人的URDF文件。

roslaunch rbx1_bringup fake_turtlebot.launch

2、然后运行move_base和加载空白地图的launch文件

(fake_move_base_blank_map.launch):
roslaunch rbx1_nav fake_move_base_blank_map.launch

3、然后调用rviz就可以看到机器人了。

 rosrun rviz rviz -d `rospack find rbx1_nav`/nav_fuerte.vcg

使用github源代码步骤
创建一个程序包

roscreate-pkg move_base

更新ros查找路径

export ROS_PACKAGE_PATH=./:$ROS_PACKAGE_PATH

确认路径已经添加

rospack find PACKAGE_NAME

roscore 命令无反应
sudo gedit ~/.bashrc
将主从机名字和address去掉


工具的下载与安装

git clone https://github.com/jbeder/yaml-cpp

到下载的yaml-cpp 目录下,build

git clone https://github.com/jbeder/yaml-cpp.git
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install

Ros cpp文件编译方法

$cd ~/catkin_ws/src
$roscreate-pkg beginner_tutorials
$cd src
$vim talker.cpp
$vim listener.cpp
$cd ..
$ gedit CMakeLists.txt

添加如下代码

dd_executable(talker src/talker.cpp)
target_link_libraries(talker ${catkin_LIBRARIES})
add_dependencies(talker beginner_tutorials_generate_messages_cpp)

add_executable(listener src/listener.cpp)
target_link_libraries(listener ${catkin_LIBRARIES})
add_dependencies(listener beginner_tutorials_generate_messages_cpp)

然后切换到工作目录进行编译

$ cd ~/catkin_ws
$ catkin_make

编译完成后进行一下步骤
启动ros 核心运行环境roscore
注册程序

$ cd ~/catkin_ws
$ source ./devel/setup.bash

运行talker节点

rosrun beginner_tutorials talker
rosrun beginner_tutorials listener
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表