![](https://mubu.com/document_image/ea0604a1-2c3b-430d-9784-43eb9a8ed21d-1621984.jpg) [TOC] # 术语约定 ## 在robot的终端上执行 您的终端通过SSH方式登录到了机器人本体的控制器上,我们将此称为“在robot上的终端”。 ## 在workstation的终端上执行 您在计算机(workstation)中默认打开的终端都将被称作“workstation上的终端”。 # 功能包结构说明(robot) 以下说明为TianRacer系列平台的整体说明,TianRacer-Dev开发板仅包含部分功能。 ## tianracer_bringup * gps.launch GPS(Global Positioning System全球定位系统)设备相关节点 * lidar.launch LDS(Laser Distance Sensor激光雷达)设备相关节点 * rgbd_camera.launch RGBD(RGB-D Camera深度相机)设备相关节点 * tianracer_bringup.launch TIANRACER基础设备相关节点 默认启动:LDS设备、Joystick设备、TF坐标变换处理、TIANRACER核心设备(运动控制器、IMU惯性测量单元传感器) ## tianracer_core * tianracer_core.launch TIANRACER核心设备(运动控制器、IMU惯性测量单元传感器) ## tianracer_description * tianracer_tf.launch TF坐标变换处理 ## tianracer_gps ## tianracer_navigation * tianracer_amcl_nav.launch AMCL(蒙特卡洛)定位导航 * tianracer_multi_goal.launch 多目标点导航 ## tianracer_rviz * view_amcl.launch AMCL导航可视化界面 * view_gmapping.launch GMAPPING建图可视化界面 * view_imu.launch IMU可视化界面 * view_laser_odom.launch LDS里程可视化界面 * view_rplidar.launch LDS可视化界面 ## tianracer_slam * tianracer_cartographer.launch Google cartographer 算法建图 * tianracer_gmapping.launch Gmapping 算法建图 * tianracer_laser_only_cartographer.launch Google cartographer 算法建图(仅使用laser_odom) * velodyne_cartographer.launch Google cartographer 算法建图(使用velodyne激光雷达) ## tianracer\_teleop * joystick_teleop.launch TIANRACER运动控制(使用手柄控制) * keyboard_teleop.launch TIANRACER运动控制(使用键盘控制) ## tianracer\_test * test_gmapping.launch * test_hector_rplidar.launch * test_L1_controller.launch * test_laser_odom.launch * test_tianracer_joy_control.launch # 计算机环境配置(workstation) ## 系统环境(ROS2GO跳过此步骤) 使用ROS2GO随身系统**无需配置** * 愉快的开始使用TianRacer平台进行开发 **非ROS2GO**随身系统配置系统环境 * 系统要求 Ubuntu 16.04.3 LTS + ROS Kinetic * ROS Kinetic http://wiki.ros.org/kinetic/Installation/Ubuntu * ROS 教程 http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment * 依赖包 `sudo apt-get install mrpt-apps libmrpt-devsudo apt-get install ros-kinetic-geographic-msgssudo apt-get install ros-kinetic-move-basesudo apt-get install ros-kinetic-robot-localization` * 源码下载并编译 `cd tianbot_ws/src` `git clone https://github.com/tianb03/rf2o_laser_odometry.git` `git clone https://github.com/tianbot/tianracer` `cd ~/tianbot_ws` `catkin_make` ## 网络连接 * 通过控制器上的MicroUSB接口连接到您的计算机(desktop computer) ![](https://mubu.com/document_image/1d1193ad-f5ef-451c-9f47-3a0f7f035d91-1621984.jpg) ![](https://mubu.com/document_image/0e2a5f2a-3074-47a3-89d3-79f1ad0b74d9-1621984.jpg) * 在您的计算机上,通过SSH访问TianRacer设备(使用usb方式) `ssh tianbot@192.168.55.1` `输入密码: ros` * 使用以下指令配置TianRacer设备的网络连接(wlan0) `sudo nmcli device wifi connect 网络名称 password 对应的网络密码` 注意:这里的**网络名称、对应的网络密码**分别指的是您期望TianRacer设备连接的WIFI网络名称与WIFI密码。 例子:假设WiFi名称为:TianbotOffice-5G、密码为:www.tianbot.com 您需要键入终端的命令为: `​​sudo nmcli device wifi connect TianbotOffice-5G password www.tianbot.com` `输入密码: ros` ![](https://mubu.com/document_image/f0f8a8b3-b964-4107-aca1-18166dc6ba36-1621984.jpg) * 使用ifconfig命令查看**TianRacer设备的IP地址**信息 ![](https://mubu.com/document_image/ac8e64f4-e4f4-46ad-bd0e-886c818eaf58-1621984.jpg) * 将USB线缆断开连接(从控制器到计算机之间的USB线缆) 到这一步结束,您已经成功的配置TianRacer平台连接到您的WLAN无线网络环境中,并得到了它的IP地址。 ## 环境要求 假设机器人(此处指TianRacer平台)名字为“tianbot-nano”(出厂默认),并且ROS2GO所在计算机(workstation)与机器人本体共同连接于**同一WiFi**(参考“网络连接”小结)。此时想通过ROS2GO所在计算机(workstation)**远程登陆**机器人本体,执行功能演示示例,并在ROS2GO上使用图形化工具(RVIZ\\RQT)查看机器人本体的话题。 * 确保网络连接正常 * 创建WiFi的路由器工作正常,假设创建的WiFi名为“TianbotOffice” * 机器人本体已正常开机,且已连接WIFI“TianbotOffice” * ROS2GO所在计算机(workstation)已连接WIFI“TianbotOffice” ![](https://mubu.com/document_image/634800af-3cd0-42d9-9fd6-bd35136e07af-1621984.jpg) ## 远程登陆 ### 极速(ROS2GO适用) 在workstation上执行以下命令: `./ssh_connect.sh` ![](https://mubu.com/document_image/b194ae72-cab1-409d-8459-02541785c548-1621984.jpg) 输入机器人本体的登陆密码(默认为 ros) 然后执行你想在机器人本体上运行的功能示例(以下已视觉传感器为例) **在robot的终端上执行:** `roslaunch usb_cam usb_cam-test.launch` **注意:** 此时您的终端已经登录到了机器人本体的控制器上,我们将此称为“在robot上的终端”,上面的命令在功能使用章节中将会被以下文字描述:“**在robot的终端上执行:**” **注意:** 如果这种方式并没有起作用(由于网络环境的多样性,无法保证上述方式一定有效),那么请尝试以下步骤: 使用**gedit**编辑ROS2GO用户目录下面的**ssh_connect.sh** 将`ssh tianbot@tianbot-nano ` 更替为:`ssh tianbot@TianRacer设备的IP地址 ` 备注:如何获取**TianRacer设备的IP地址** 参见“**网络连接**”一节。 ![](https://img.kancloud.cn/30/d3/30d3316f8c742e9419256d9b201c9989_783x529.png) ### 传统 * SSH连接(使用wlan0方式) `ssh tianbot@192.168.50.157 ` `输入密码: ros` **注意:** 这里的IP地址,是您TianRacer平台连接网络后被分配的IP地址(这里使用**网络连接**那一步ifconfig命令获得的ip地址) ## 多机配置 ### 临时性配置 #### 极速(ROS2GO适用) 在ROS2GO随身系统上,我们提供了更为快捷的方式来完成临时性配置的步骤。 在workstation上执行以下命令: `source ./set_master.sh` ![](https://mubu.com/document_image/1227a22b-676d-4da2-b6b1-3061ddd8bcd7-1621984.jpg) 然后在新的终端中执行你想在ROS2GO远程计算机(workstation)上的图形化调试工具,查看机器人本体上的话题(以下为查看/imu_data 话题为例) **在workstation的终端上执行:** `rostopic echo /imu_data` **注意:** 此时您的终端**与远程登录的终端不同**,我们将此称为“在workstation上的终端”,上面的命令在功能使用章节中将会被以下文字描述:“**在workstation的终端上执行:**” **注意:** 在计算机(workstation)中默认打开的终端都将被称作“workstation上的终端” **注意:** 如果这种方式并没有起作用(由于网络环境的多样性,无法保证上述方式一定有效),那么请尝试以下步骤: 使用**gedit**编辑ROS2GO用户目录下面的**set_master.sh** 将`export ROS_MASTER_URI=http://tianbot-nano:11311`更替为:`export ROS_MASTER_URI=http://TianRacer平台的IP地址:11311` 备注:如何获取**TianRacer设备的IP地址** 参见“**网络连接**”一节。 ![](https://img.kancloud.cn/30/d3/30d3316f8c742e9419256d9b201c9989_783x529.png) #### 传统 在workstation上执行以下命令: `export ROS_MASTER_URI=http://tianbot-nano:11311` 或(二者选其一): `export ROS_MASTER_URI=http://TianRacer平台的IP地址:11311` 此时您的终端已临时性的为使用TianRacer平台做好了准备,我们将当前状态的终端成为“**准备好的workstation**” 注意: 准备好的workstation仅对当前执行过上述命令的终端有效,如果**您重新打开了一个终端**,那么您需要**再一次**执行上述命令,来使您的终端成为准备好的workstation终端。 ### 持久性配置 * 在您的计算机(workstation)中的. bashrc 文件中,添加如下代码: `export ROS_MASTER_URI=http://tianbot-nano:11311` `export ROS_IP=`\`hostname -I` 或(二者选其一): `export ROS_MASTER_URI=http://TianRacer平台的IP地址:11311` `export ROS_IP=`\`hostname -I` * 然后 source .bashrc 注意:在有IPv6地址的网段内,hostname -I会是IPv4的数字IP和IPv6的字母IP,此时运行roscore时,会报错。这时候我们需要为ROS_IP进行赋值即可解决。 `export ROS_IP=`\`hostname -I | cut -d " " -f 1` # 系统备份 当您需要备份您的TianRacer的开发环境时,您可以使用DD命令备份Jetson Nano核心控制器的SD闪存卡到一个镜像文件(*.img) # 预备知识 很快到来,,, **[点击这里进入天之博特官方淘宝店购买](https://item.taobao.com/item.htm?id=564703378940)**