├── README.md ├── Stm32 ├── README.md └── image │ ├── code1.png │ ├── code2.png │ ├── rosrun.png │ ├── rostopic.png │ └── stm32mark.png ├── Tennsy └── README.md └── UserManual ├── README.md └── image ├── imu.png ├── map.png ├── rikipid.png ├── rikirobot.png ├── rikisquare.png ├── rotary.png └── slam.png /README.md: -------------------------------------------------------------------------------- 1 | ##Rikirobot Docs 2 | 3 | * Rikirobot User Manual 4 | * Rikirobot Stm32 Dev Board User Manual 5 | * Rikirobot Tennsy Dev Board User Manual 6 | -------------------------------------------------------------------------------- /Stm32/README.md: -------------------------------------------------------------------------------- 1 | ## 淘宝请搜索: ROS STM32 电机驱动板 2 | ## 店铺搜:风野萧萧 3 | ![image](./image/stm32mark.png) 4 | 5 | #### 关于stm32下的ROS开发环境介绍说明,此开发环境是在Linux下使用stm32的标准库“STM32F10x_StdPeriph_Driver3.5”,进行stm32开发,整体开发框架已搭建完成,用户开发简单,只需要按自己的方式开发代码即可,它集成了ros_lib,让开发ros底层像arduino一样操作,让广大机友从写stm32解析器结点中解放出来,整体的代码风格如下: 6 | ![image](./image/code1.png) 7 | ![image](./image/code2.png) 8 | 9 | 10 | #### 一、开发环境的配置(ubuntu16.04系统,目前也只支持ubuntu16.04系统) 11 | * 1、安装编译工具链 12 | > $sudo apt-get install -y git build-essential gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib 13 | 14 | 如果提示找不到相关安装包,请执行下面操作 15 | > $sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa 16 | $sudo apt-get update 17 | $sudo apt-get install -y git build-essential gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libusb-1.0-0-dev 18 | 19 | * 2、安装st-link 烧写器驱动 20 | > $git clone https://github.com/texane/stlink.git 21 | $ cd stlink 22 | $ make 23 | $ cd build/Release 24 | $ sudo make install 25 | 26 | (待测试) 27 | > make PREFIX=/usr/ install 28 | 29 | #### 二、怎样添加自己的代码 30 | * 1、往代码目录那面的Src、Bsp、Driver目录下面添加源码后,代码可支持C与C++,编写好代码后,请在Makefile文件中“OBJS += ./Driver/xxx.o 31 | ”的样式添加,其中“xxx”就是你代码的文件名。 32 | * 2、编译程序,进入工程主目录,执行 33 | * 3、如果是添加C代码时,进行混编译,请注意.c中请按下面格式编写代码,请注意只是.c代码需要添加,如果.c文件对应的有.h文件,则只需要在.h文件添加即可,.cpp代码不需要,此处作用,用户可以自己去了解,我就不赘述 34 | ``` 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /*添加自己编写代码区域*/ 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | ``` 45 | > make 46 | * 3、确认st-link驱动是否安装好,插入st-link V2 烧写器,执行下面命令,如果有“STMicroelectronics ST-LINK/V2”,则说明st-link烧写器已被系统识别 47 | > lsusb 48 | * 4、进入工程主目录,执行 49 | > make flash 50 | 51 | #### 三、关于项目代码结构 52 | * 1、 Bsp目录,关于驱动的配置与串口的驱动文件都放在此目录 53 | * 2、 Driver目录,关于模块的驱动文件都放在此目录 54 | * 3、Src目录,main程序入口文件放在此目录 55 | * 4、Libs,里面放了ros_lib 与 stm32 标准库 56 | 57 | 58 | #### 四、关于开发板的测试使用 59 | 用户购买到开发板后,一般都是烧写好测试程序的,拿到手后可直接测试,测试流程如下 60 | * 1、用micro usb(一定是能传输数据的usb)将开发板与PC端的ROS系统(indigo以上版本系统,如果是indigo版本系统请先删除系统默认的rosserial包,下载最新的rosserial,重新编译)相连接,连接好后检查是否识别到ttyUSB0,如果有,则说明连接正常,然后打开四个终端依次在每个终端运行 61 | > $roscore 62 | 63 | 运行下面命令,如果连接成功会出现如下图 64 | >$ rosrun rosserial_python serial_node.py /dev/ttyUSB0 65 | ![image](./image/rosrun.png) 66 | 67 | 运行下面命令,则会反馈系统的供电电压值,如下图 68 | > $ rostopic echo /battery 69 | ![image](./image/rostopic.png) 70 | 71 | 运行下面命令,板子上的LED会以0.1s的频率闪烁 72 | > $ rostopic pub -r 10 led std_msgs/Float64 -- -0.001 73 | 74 | 75 | #### 五、关于使用中的问题 76 | * 1、“could not open port /dev/ttyUSB0”,此问题是权限问题,请给足串口权限 77 | > $sudo chmod 777 /dev/ttyUSB0 78 | 79 | 永久解决串口权限问题, 其中riki是你系统的用户名,请替换,然后重启 80 | >sudo usermod -aG dialout riki 81 | 82 | * 2、“/dev/ttyUSB0: Input/output error” 此种问题是驱动问题,请安装我提供的驱动,将驱动源码放到ubuntu系统中 83 | > $unzip CH341SER_LINUX.zip 84 | $ cd CH341SER_LINUX 85 | $ make 86 | 87 | 上面编译后会生ch34x.ko文件,如果你已经能识别usb说明已装了老驱动,此时将它删除,加载新驱动 88 | >$sudo rmmod ch341 89 | $sudo insmod ch34x.ko 90 | 91 | 要开机启动时自己加载驱动怎么办? 92 | >$sudo cp ch34x.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ 93 | $sudo depmod 94 | $sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko 95 | 96 | 重启系统后,执行下面命令,如果驱动有ch34x,则说明安装成功 97 | > lsmod | grep ch 98 | 99 | #### 六、没有st-link的在linux下用ISP烧写程序 100 | * 1、安装烧写环境 101 | > $sudo apt-get install stm32flash 102 | 103 | * 2、用usb串口烧写程序,烧写前请将Boot0设置为高,BOOT1设置为低,main.bin就是你要烧写的二进制文件,请替换,烧写时请按复位后,立即执行下面烧写命令,速度要快,不然会跳转失败,烧完请恢复默认设置。 104 | > $sudo stm32flash -w main.bin -v -g 0x0 /dev/ttyUSB0 -b 115200 105 | 106 | -------------------------------------------------------------------------------- /Stm32/image/code1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/Stm32/image/code1.png -------------------------------------------------------------------------------- /Stm32/image/code2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/Stm32/image/code2.png -------------------------------------------------------------------------------- /Stm32/image/rosrun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/Stm32/image/rosrun.png -------------------------------------------------------------------------------- /Stm32/image/rostopic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/Stm32/image/rostopic.png -------------------------------------------------------------------------------- /Stm32/image/stm32mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/Stm32/image/stm32mark.png -------------------------------------------------------------------------------- /Tennsy/README.md: -------------------------------------------------------------------------------- 1 | #### 一、安装环境 2 | > sudo apt-get update 3 | sudo apt-get install python-gudev 4 | sudo apt-get install -y avahi-daemon 5 | sudo apt-get install -y openssh-server 6 | sudo apt-get install -y arduino-core 7 | sudo easy_install pip 8 | sudo pip install -U platformio 9 | sudo rm -rf ~/.platformio/ 10 | wget https://www.pjrc.com/teensy/49-teensy.rules 11 | sudo cp 49-teensy.rules /etc/udev/rules.d/ 12 | 13 | 14 | #### 二、编译已有的工程 15 | 第一次编译可能需要久等一下,它需要安装相关平台的环境,这里以两驱动的为示例(具体代码路径,以提供资料为准),请将两驱的源代码放入到提供虚拟机文件ubuntu 16.04环境中任意目录(或者用户通过上面的方法自己构建的环境也可以)。 16 | > $ cd rikirobot_2wdarduino 17 | $ platformio run 18 | 19 | #### 三、烧写固件到硬件里面 20 | 注意teensy 烧写会要求按一下板上的那个小按钮,编译出现“hint: press the reset button”,在按按键 21 | > $ cd rikirobot_2wdarduino 22 | $ platformio run --target upload 23 | 此命令会编译上传相关固件 24 | 25 | #### 四、创建一个新的工作开发环境 26 | > $mkdir test 27 | $ cd test 28 | $ platformio init --board teensy31 29 | 30 | 上面的工具也可以建立其它的平台如果arduino uno stm32有兴趣的可以自己去研究,另外关于此工具的IDE开发是ATOM + platformio,我有时间在出个教程,网上有安装教程,有兴趣的可以自己研究装好,比原装的Arduino IDE 好用很多,至少有函数跳转,语法高亮,你就懂了 31 | -------------------------------------------------------------------------------- /UserManual/README.md: -------------------------------------------------------------------------------- 1 | ### 特别说明:以下指导只包括RikiRobot的核心相使用文字指导,用户无论是两驱动、四驱动、或者全向轮,使用方法都一样,关于小车的详细功能,包括小车的组装,请参考RikiRobot的完整使用视频,用户可以通过使用视频来完成所有的功能示例。 2 | 3 | ### RikiRobot实物 淘宝上可搜(RikiRobot) 4 | ![image](./image/rikirobot.png) 5 | 6 | ### RikiRobot硬件配置 7 | 8 | 配件列表 | 机器人配置 9 | ---|--- 10 | 机器人主板 | 树莓派3b 11 | 激光雷达 | 可支持思岚 Rpliar A1/A2、EAI F4/X4 12 | 机器人系统 | 树莓派ubuntu mate 16.04 13 | ROS系统 | 树莓派为 kinetic 14 | 机器下位机控制板 |Arduino teensy3.1 + 驱动板 或者 stm32驱动板 15 | 陀螺仪 | GY-85 16 | 电池 | 3S 2800mA 17 | 电机 | 大功率 330RPM 码盘精度390线 18 | 摄像头(选配) | 树莓派为CSI摄像头,也可支持USB摄像头 19 | 深度摄像头(选配) | 图漾深度摄像头DM430 20 | 21 | 22 | ### 一、使用前的系统准备 23 | * 1.1、为了保证小车落地正常行走,也为了保证树莓派能有足够的运行算力,从某种意义上来说,树莓派3是完成ROS雷达SLAM的最低配置了,除了测试或者调试时,可以在树莓派上开图形,正常使用时请不要在树莓派上开图形系统,图形系统用hostmaster的方式来完成,也就是交给上位机电脑来运行,请准备一台ubuntu16.04安装了ROS系统的上位开发机电脑或者虚拟机,另Arduino或者stm32的环境也需要一台上位开发机,因此这个是必需的,对于第一次玩ROS或者对ROS不熟悉的用户,请直接用我提供的虚拟机,这样会减少不必要的麻烦与问题,以下操作都是在虚拟机进行下面操作。 24 | * 1.2、树莓派系统的 用户名:rikirobot 用户密码为:123456 25 | * 1.3、资料提供ubuntu16.04或14.04虚拟机系统密码:123456 26 | * 1.4、上电启动前请一定为电池充好电在启动,另外还需要为树莓派准备一台HDMI显示器及HDMI线,显示器的作用只是为了让树莓派连接上wifi(请不要使用VGA转HDMI,这样显示器分辨率不兼容有可能无法显示,如果没有HDMI显示器的用户,可以买一块树莓派CSI显示屏,或者用串口登录的办法来配置网络,这两种方法小车购买用户试过,而且成功了,本人没有实验过,具体方法请自行百度,如果因为网络问题卡在这里,那还是请用户自行备一台HDMI显示器吧),和USB键鼠一套,连接好后启动树莓派,并设置连接树莓派的wifi。 27 | * 1.5、测试电机转动时,如果小车没有落地或者有线束缚时,请把电机架空。 28 | 29 | ### 二、使用前的硬件与连接环境准备 30 | * 2.1、检查好小车是否连接正常,拿到小车的用户只要是全套购买用户,驱动板已经烧写好了程序,树莓派也烧写好了镜像,用户只需要按组装视频进行组装,接好线就可以。 31 | * 2.2、关于陀螺仪的安装,带芯片的面一定要朝上,X方向朝前,Y方向朝左,拿到车的用户都已接好。 32 | * 2.3、打开上位机电脑并连上网络,打开树莓派并连接上网络,检查网络的连通性,请保证你的虚拟机与树莓派的网络都在同一个网段,如何查看Liunx下的IP请用ifconfig命令查看,比如:树莓派的IP是192.168.1.xx网段,那此时虚拟机也应该是192.168.1.xx网段(一定、一定、一定要在同一网段),如果网络连通,则系统正常,如果不通请检查网络,如果相互能ping通ip则网络正常。 33 | * 2.4 请打开虚拟机的端(一定,一定,一定虚拟机这端).bashrc文件,进行ROS网络配置。 34 | > $vim ~/.bashrc 35 | 36 | 请修改“export ROS_MASTER_URI=http://192.168.1.106:11311”,请把相关的IP(192.168.1.106)改成你当前树莓派主机的IP,请用户一定,一定,一定注意后面的“:11311”这个是不能删除掉, 更改完成后重启系统,如果不会请参考网络配置视频。 37 | 38 | * 2.5 指定车型与雷达(购买全套车的用户此步可以跳过),通过ssh的方式远程登录到树莓派这一端(请把下面的ip地址替换成树莓派的IP) 39 | > $ssh rikirobot@192.168.1.100(替换成你的环境下面的树莓派的IP) 40 | $vim ~/.bashrc 41 | 42 | 请把“export RIKIBASE=2wd, export RIKILIDAR=rplidar”,请把你的车型与雷达改成你手中的拿到的车型与雷达,2wd,rplidar是系统默认,四驱改成(4wd), 麦克纳姆轮改成(mecanum),omni全向三轮改成(omni),omni全向四轮改成(omni4wd),EAI F4雷达更改成(flashlidar), EAI X4雷达更改成(ydlidar),更改完成后重启系统,如果不会请参考网络配置视频。 43 | 44 | 45 | ### 三、启动Riki Robot系统,请注意下面的操作那些是在树莓派端执行的那些是在虚拟机端执行的 46 | * 3.1、在Riki Robot(树莓派)端运行下在命令 47 | > $ roslaunch rikirobot bringup.launch 48 | 49 | 如果启动异常,请检/dev/rikibase设备是否存在,如果存在,请重新执行第一步。 50 | > $ ls /dev/rikibase 51 | 52 | 如果不存在,请查控制板与树莓派有没有连接好或者在换一条数据线 53 | 54 | * 3.2 在开发电脑端(虚拟机端)执行行键盘控制命令 55 | > rosrun teleop_twist_keyboard teleop_twist_keyboard.py 56 | 57 | 如果上面都连接上,此时可用键盘来控制机器人。 58 | 59 | ### 四、rqt图形化PID校正 60 | 只要是收到的完整小车,整个调速都是经过店主简单的调试过的,这里用户想调整的更好或者自己在做车,可利用rqt图形工具来找到满意的PID值,请注意只是找到合适的值,不是用这个改变PID值,改变PID值需要修改底层文件 61 | * 4.1、在Robot端运行下面命令 62 | > $ roslaunch rikirobot bringup.launch 63 | 64 | 运行PID配置节点 65 | > rosrun riki_pid pid_configure 66 | 67 | * 4.2、在开发电脑端执行行键盘控制命令 68 | > $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py 69 | 70 | * 4.3、打开rqt(请注意打开后请最大化,不然会找不到菜单栏) 71 | > $rqt 72 | 73 | * 4.4、加载pid图形配置文件 Perspective > Import 选择 ~/catkin_ws/src/riki_pid/riki_pid.perspective 74 | 75 | ![image](./image/rikipid.png) 76 | 77 | * 4.5、通过上面调试用户得到最合适的PID值后,用户可以从我给的云盘资料下载rikirobot_2wdarduino.zip文件(其它车型或者stm32请对应源代码相关的文件目录),将此文件放入到ubuntu的虚拟机里面,然后打开 rikirobot_2wdarduino/lib/config/config.h文件更改相关的PID参数,然后编译烧写到控制板上,烧写前请将USB插入虚拟机上并连接上,进入到rikirobot_2wdarduino目录然后执行下面命令(对于stm32的用户请参考stm32烧写指导)。 78 | > $ platformio run --target upload 79 | 80 | ### 五、里程信息 81 | * 5.1、里程信用用于估计机器人相对于原点的位置,为了达到好的精度,Riki Robot使用了两个里程源,机器人的线速度是根据电机上的编码器来计算的,并将计算的结果发布到/raw_vel结点上,而机器人的角速度则通过陀螺仪来控制,通过AHRS算法通过imu_filter_madgwick包过滤掉来自IMU的噪声,滤波后的输出发布到/imu/data,为需要机器人结点可靠的IMU数据,下面是/raw_imu中的数据发布到/imu/data/上 82 | ![image](./image/imu.png) 83 | 84 | * 5.2、在Robot端运行下面命令 85 | > $ roslaunch rikirobot bringup.launch 86 | 87 | * 5.3、在开发电脑端执行行键盘控制命令 88 | > $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py 89 | 90 | * 5.4、在电脑端运行 91 | > $ rosrun rviz rviz 92 | 93 | 然后打开 File > Open Config 然后选择 ~/catkin_ws/src/rikirobot_project/rikirobot/rviz/odometry.rviz. 94 | 95 | * 5.5、此时按下键盘控制,用户可以看到车的轨迹在rviz上显示,如果在rviz图形上,你没有控制车,坐标自己在转动,请校正你的IMU,如果测试旋转360度或者1m没有达到理想的精度,可以用校正线速度与角速度修正代码来测试修正,具体请参考资料里面视频: 96 | 97 | ![image](./image/rotary.png) 98 | 99 | * 5.6、路径测试,用键盘控制小车,进行移动,观查相关路径结果是否与实际一致,如下图测试,测试结果大致能闭合就行,要更精确的结果,后面会有AMCL、Move_base等算法包进行约束: 100 | 101 | ![image](./image/rikisquare.png) 102 | 103 | ### 六、创建地图 104 | 创建地图,建图算法支持gmapping、hector算法,另外提供3种创建地图的方式,第一种是键盘创建地图,第二种是鼠标创建地图,第三种是通过选定区域自动创建地图。 105 | * 6.1、 用键盘创建地图,在Robot端打开两个终端运行 106 | > $ roslaunch rikirobot bringup.launch 107 | $ roslanuch rikirobot lidar_slam.launch 108 | 109 | * 6.2、 在电脑端运行 110 | > $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py 111 | 112 | * 6.3、在电脑端运行 113 | > $ rosrun rviz rviz 114 | 115 | 然后打开 File > Open Config 然后选择 ~/catkin_ws/src/rikirobot_project/rikirobot/rviz/slam.rviz. 116 | 117 | 然后用键盘控制小车,得到下面的显示,则是正常 118 | ![image](./image/slam.png) 119 | 120 | * 6.4、控制小车行走到你认为地图创建好为止,然后在Robot端保存地图,运行下面命令,用户请注意,一定要按我下面的方法来保存地图,用户不能随意的更改地图路径与名称,对于将来对ROS熟悉后,用户就可以按自己的方式来保存地图。 121 | > $rosrun map_server map_saver -f ~/catkin_ws/src/rikirobot_project/rikirobot/maps/house 122 | 123 | * 6.4.1 关于保存地图的第二种方法,也是不会出错的方法,用户也可以进到maps目录下面,执行map.sh这种脚本,这样就可以确定,地图一定是保存在这个目录下面。 124 | > $cd ~/catkin_ws/src/rikirobot_project/rikirobot/maps/ 125 | $./map.sh 126 | 127 | * 6.5 鼠标构图,同样按上面6.1操作,跳过6.2步骤启动rviz,此时请点击“2D Nav Goal",在地图空白区域,给定目标与方向,此时小车就会朝相关方向走,直到你构建地图完成,保存地图请执行6.4步骤 128 | 129 | * 6.6 选定区域自动构建地图,同样按上面6.1操作,跳过6.2步骤 130 | * 6.6.1 在电脑端运行 131 | > $ rosrun rviz rviz 132 | 133 | 然后打开 File > Open Config 然后选择 ~/catkin_ws/src/rikirobot_project/rikirobot/rviz/auto_slam.rviz 134 | 135 | * 6.6.2 当rviz加载正常后,点击上面的"Publish Point",然后放在地图上,这样重复操作形成一个封闭的行走区域,此时在小车坐标附近放置一个点,这时封闭区域消失,此时小车就会自己行走,直到你创建的封闭区域行走完成,如果此时创建的地图你比较满意,你就按步骤6.4操作保存地图,如果不满意,或者未完成,可以再次设定区域,让小车自己探索,直到完成为止,如果用户不会操作,请看群里的创建地图的演示视频。 136 | 137 | * 6.7、检查地图 138 | > $cd ~/catkin_ws/src/rikirobot_project/rikirobot/maps 139 | $ls -a house.pgm house.yaml 140 | 141 | ![image](./image/map.png) 142 | 143 | ### 七、自动导航 144 | * 7.1、在Robot端打开两个终端运行 145 | > $ roslaunch rikirobot bringup.launch 146 | $ roslanuch rikirobot navigate.launch 147 | 148 | * 7.2、在电脑端运行 149 | > $ rosrun rviz rviz 150 | 然后打开 File > Open Config 然后选择 ~/catkin_ws/src/rikirobot_project/rikirobot/rviz/navigate.rviz 151 | 152 | * 7.3、设置导航,并发送目标,如果小车启动后,动态地图与静态地图一致时,可以按下面操作,如果动态地图与静态地图不一致时,表示小车用AMCL算法自主定位失败,请参考8.6的解决办法。 153 | * 7.3.1、单击“2D Nav Goal”,并在地图的可视区域里设置好目标位置 154 | 155 | 156 | ### 八、关于可能的问题与解决办法 157 | * 8.1 打开rviz时,发现机器人的坐标系箭头一直在抖动。 158 | > 请校调你手中的陀螺仪 159 | 160 | * 8.2 如果里程计中里程量与角速度不准,怎么办? 161 | > 请参考角速度与线速度校正视频 162 | 163 | * 8.3 打开rviz时,发现机器人的坐标系不动或者里程反馈异常,或者你的矩阵数值Z值异常 164 | > 请检查陀螺仪是否插好 165 | 166 | * 8.4 SLAM导航时执行不动,或者乱转 167 | > 1、请检查你的地图是否有正常加载 168 | 2、创建地图时请保证有一定的行驶空间,导航要点请参考导航视频 169 | 170 | * 8.5 激光雷达运行报错,请检查电池电量是否充足,在次重启后再启动试一下,如果充足,重启系统后都会报错,请按下面执行 171 | > 请执行 $ sudo chmod +x /dev/ttyUSB0 172 | $ sudo chmod +x /dev/rikilidar 173 | 174 | * 8.6 如果导航时,报下面的警告,请保证你的网络带宽是足够的,出现这个问题是由于全局地图与本地地图在网络上同步不一致所致。 175 | > [ WARN] [1339438850.439571557]: Costmap2DROS transform 176 | timeout. Current time: 1339438850.4395, global_pose stamp: 177 | 1339438850.3107, tolerance: 0.0001 178 | 179 | * 8.7 如果开启导航时,发现静态地图与机器人的定位的动态膨胀的动态地图不一致怎么办? 180 | > 这个问题是由于机器人启动导航时进行AMCL定位时失败所致,也就是自己进行位姿估计失败,解决办法是通过点击“2D Pose Estimate”对机器人进行重新定位,直到与静态地图一致,特别注意,如果在动态与静态地图不一致的情况下,执行导航,发送目标位置,小车导航是不可能成功的,这样导航时会出现各种情况的警告或者错误。因此在动静态地图不一致的情况,给机器人重新指定位姿是必须的。 181 | 182 | * 8.8 如果导航时,小车突然失去了方向或者乱转可能的原因 183 | > 请检检查相关后台,后台如果出现导航相关的警告或者错误都会出现上述原因,出现的原因很多,这里就不一一分析,请自行对照ROS维基、百度、谷歌进行查找,从实际导航效果来看,只有后台不出现警告或者错误,导航是会成功的,当然导航过程出现一点的偏差,也不要以为有问题,从目前的硬件来看电机与编码器是最低成本的小车,当运行一段时间后就会有累计误差,IMU的抖动累计也有影响,这都对导航的最终效果出现偏差有影响,此平台也只是学习与研究平台。 184 | 185 | * 8.9 如果虚拟机端运行rviz出现闪退。 186 | > 可以参考我提供虚拟机文件里面的视频资料自行建立rviz,另外rviz是可以自己保存的,不用每次都建一次。 187 | 188 | * 8.10 使用过程种,电机不转,或者电机无力 189 | > 请保证电池电量充足,电池最高电压为12.6V,因此,电压下降到一定程度后,电池就带不动电机负载。 190 | 191 | -------------------------------------------------------------------------------- /UserManual/image/imu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/imu.png -------------------------------------------------------------------------------- /UserManual/image/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/map.png -------------------------------------------------------------------------------- /UserManual/image/rikipid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/rikipid.png -------------------------------------------------------------------------------- /UserManual/image/rikirobot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/rikirobot.png -------------------------------------------------------------------------------- /UserManual/image/rikisquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/rikisquare.png -------------------------------------------------------------------------------- /UserManual/image/rotary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/rotary.png -------------------------------------------------------------------------------- /UserManual/image/slam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ykevin/rikirobot_docs/0b637815c69ef5673d33220a2743e52204c63290/UserManual/image/slam.png --------------------------------------------------------------------------------