0
点赞
收藏
分享

微信扫一扫

在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)

夕颜合欢落 2022-03-20 阅读 52


物联网机器人使用越来越多,高校相关课程方向已经全面融入类似esp8266,esp32等用作单片机课程讲授。

中小学也在逐步普及智能硬件项目,如何将嵌入式物联网设备装载强大的智能算法,如何将其应用于机器人实现更加多元丰富的案例呢?


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux

tianbotmini模型 在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_物联网_02

tianbotmini实物

机器人操作系统必不可少!现在ROS1和ROS2安装已经非常简单快捷了,详细内容参考如下链接:

  • 在Windows系统安装ROS机器人操作系统(2020年10月25日更新)​

  • ​微软物联网Github:https://github.com/ms-iot​

  • ​机器人程序设计入门(C++/Arduino/ROS)(转载2020版)​

在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_03

ms-iot

之前在Linux下大部分案例可以愉快方便的移植到windows系统环境下,ros官方最先支持的是turtlebot,当然tianbotmini也自然能够在windows,macos和linux下正常调试和使用的。下面以此为例简要介绍一下过程。

在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_04

欢乐摇摆

目前,电脑配置如下版本ROS:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_#include_05

ros-windows

课程讲授需要测试过的ROS第三方功能包,非核心库,核心包随ROS安装自动加载。


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_#include_06

ros_ws

编译tianbotmini功能包

cmd配置:

C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 && c:\opt\ros\melodic\x64\setup.bat && cd C:\ros_ws\

大力双击桌面图标打开:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_#include_07

双击即可进入机器人调试环境

以ROSMelodic为例界面如下:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_08

默认路径为ros_ws

进入tianbotmini文件夹编译使用:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_#include_09

100%无误

配置网络:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_物联网_10

IP

查看主机IP地址。

设置参数启动tianbotmini:

  • roslaunch tianbot_mini bringup.launch

在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_11

正常启动-错误模型-无法看到报错哦

机器人无法移动,排查错误:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_12

主题列表

未发现与机器人相关列表,为什么?为什么?为什么?

原因如下,IP不匹配:


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_#include_13

详细参数界面

需要在此处注意,ROS_IP为 ​192.168.2.101​ !!!修改主机IP,并重新配置。


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_14

配置修改后,重新启动

在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_linux_15

熟悉的主题列表出来了

这时候,就可以愉快遥控机器人运动了哦。


在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_物联网_16

图形化速度指令发布 在windows系统如何愉快玩耍物联网智能机器人项目案例在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_物联网_17

rviz

同时在rviz中显示也一切正常哦。

更多玩法参考其他博文,持续更新中。

本文涉及代码:

bringup.launch:

<launch>

<!-- 迷你机器人,基础参数 -->
<arg name="robot_name" default="tianbot_mini" />

<!-- 迷你机器人,通信驱动 -->
<node pkg="rosserial_server" type="socket_node" name="tianbot_mini" output="log"/>

<!-- 迷你机器人模型 -->
<include file="$(find tianbot_mini_description)/launch/model.launch.xml">
<arg name="robot_name" value="$(arg robot_name)" />
</include>

</launch>

socket_node.cpp

#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/thread.hpp>

#include <ros/ros.h>

#include "rosserial_server/tcp_server.h"


int main(int argc, char* argv[])
{
ros::init(argc, argv, "rosserial_server_socket_node");

int port;
ros::param::param<int>("~port", port, 11411);

boost::asio::io_service io_service;
rosserial_server::TcpServer<> tcp_server(io_service, port);

ROS_INFO_STREAM("Listening for rosserial TCP connections on port " << port);
io_service.run();
return 0;
}

model.launch

<launch>

<!-- 迷你机器人,基础参数 -->
<arg name="robot_name" default="tianbot_mini" />

<!-- TF坐标变换,基础参数 -->
<arg name="base_frame_id" default="$(arg robot_name)/base_link" />

<node pkg="tf" type="static_transform_publisher" name="tbm_base_link_to_urdf_base_link" args="0 0 0 0 0 0 $(arg base_frame_id) base_link 100" />

<arg
name="model" />
<arg
name="gui"
default="False" />
<param
name="robot_description"
textfile="$(find tianbot_mini_description)/urdf/tianbot_mini_description.urdf" />
<param
name="use_gui"
value="$(arg gui)" />
<node
name="joint_state_publisher"
pkg="joint_state_publisher"
type="joint_state_publisher" />
<node
name="robot_state_publisher"
pkg="robot_state_publisher"
type="robot_state_publisher" />

</launch>


-Fin-



举报

相关推荐

0 条评论