tianbot_mini机器人上手ROS/SLAM/Navigation究竟有多简单???
时间:2022-07-25
本文章向大家介绍tianbot_mini机器人上手ROS/SLAM/Navigation究竟有多简单???,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
>>>tianbot_mini<<<
tianbot_mini
之前,上过机器人或者单片机或者计算机或者控制的相关课程,急需一款适用于多课程的融合性机器人。
自己搭建机器人如下:
给它化妆美化一下:
但是还是不好用,稳定性一般,然后每次搭建也费时间,唯一的好处就是学生可以看见机器人搭建全过程。
现在基本用这款小机器人。官网有介绍,现在简要介绍一下过程吧:
一,配网,主机和mini都链接相同的局域网中,并且需要将雷达的无线也插入主机USB口。
二,调试,打开机器人IP,本机如:192.168.2.100,使用方向键看下机器人是否一切正常运动。
三,导航,使用三行命令直接开始ROS和SLAM的愉悦旅程。
下面详细介绍一下。
.bashrc,相关内容如下:
# ROS 1.0 melodic or ROS 2.0 Dashing
echo Hello, ROS 1.0 or ROS 2.0? 1=Melodic 2=Dashing
read ROS
if (($ROS==1));then
source /opt/ros/melodic/setup.bash
#export ROS_PACKAGE_PATH=/home/relaybot/RobTool/ROS1/Wiki/src:/home/relaybot/RobTool/Cozmo/ros/src:$ROS_PACKAGE_PATH
#source /home/relaybot/RobTool/ROS1/Wiki/devel/setup.bash
export ROS_MASTER_URI=http://192.168.2.101:11311
export ROS_IP=192.168.2.101
echo "Melodic"
elif (($ROS==2));then
source /opt/ros/dashing/setup.bash
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/dashing/share/turtlebot3_gazebo/models
echo "Dashing"
else
echo "Non-ROS"
fi
启动,roscore:
启动机器人, roslaunch tianbot_mini bringup.launch:
warn可暂时忽略,后续会讲解。
启动lidar,roslaunch tianbot_mini lidar.launch
启动slam,roslaunch tianbot_mini slam.launch
可以愉快的玩耍起来了。
先看下rqt提供的功能:
rqt_graph:
all:
tf:
为了方便观看机器人在环境中的导航规划,使用摄像头监控机器人:
开启导航!
更多内容稍后介绍……
一个小时快速了解机器人操作系统,同步定位和地图构建,导航。
- 协议森林16 小美的桌号(DHCP协议)
- struts2(一)之初识struts2
- AI聊天机器人备受青睐 专家呼吁少卖萌
- CQRS框架:AxonFramework 之 Hello World
- Kubernetes的服务网格(第4部分):通过流量切换持续部署
- TortoiseGit安装与配置
- mongodb 速成笔记
- oAuth 2.0 笔记
- JavaScript内置对象--Math对象
- oAuth 2.0 笔记
- common-pool2 学习:thrift连接池的另一种实现
- IntelliJ IDEA 17和Maven构建javaWeb项目
- spring-boot 速成(2) devtools之热部署及LiveReload
- spring-boot 速成(2) devtools之热部署及LiveReload
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP fprintf()函数用法讲解
- django template实现定义临时变量,自定义赋值、自增实例
- PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
- PHP写API输出的时用echo的原因详解
- thinkphp5使用无限极分类
- 手写dubbo框架7-SPI(dubbo和jdk的区别)
- Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
- YII框架学习笔记之命名空间、操作响应与视图操作示例
- python实现批量命名照片
- 手写dubbo框架8-SPI 自适应扩展机制
- thinkphp5框架扩展redis类方法示例
- 详解php中生成标准uuid(guid)的方法
- 基于Python爬取fofa网页端数据过程解析
- Python logging日志模块 配置文件方式
- PHP XML Expat解析器知识点总结