继上次《基于Dragonboard 410c的kinect应用系列之一——实现智能机器人自动跟随》文章发布后,没想到很多童鞋对这个都很感兴趣,并根据此文进行了配置操作。当然,基础好的童鞋都一次性成功,而一些之前对此接触比较少的童鞋遇到了不少问题,纷纷私信咨询我。在这里,我特地为问题集开个新帖,详细简述下解决方法和原理,希望能降低大家开发中遇到的难度。
一、问题点:
1.dragonboard410c开发板如何安装ubuntu core系统?
答:这是比较初级的问题,很多童鞋手里拿到的410c板子都是预装android系统,大家看我上一篇博客都是上传要烧录的镜像都是属于linux系统类的,烧录指令难免有所差异,这里我们直接将烧录的指令完全总结在以下的flash.sh里,大家下载后设置到fastboot mode后直接运行即可。
#!/bin/sh
fastboot flash par
tition gpt_both0.bin
fastboot flash hyp hyp.mbn
fastboot flash modem NON-HLOS.bin
fastboot flash rpm rpm.mbn
fastboot flash sbl1 sbl1.mbn
fastboot flash sec sec.dat
fastboot flash tz tz.mbn
fastboot flash aboot emmc_appsboot.mbn
fastboot erase boot
fastboot erase rootfs
fastboot erase devinfo
fastboot flash boot boot-linaro-jessie-qcom-snapdragon-
arm64-20160630-110
fastboot flash rootfs linaro-jessie-developer-qcom-snapdragon-arm64-20160630-110
图1 flash.sh
2.install_ros_410c.sh运行有问题。
2.1.“./install_ros_410c.sh:bad interpreter: No such file or directory” :
答:主要是因为大家从windows系统将install_ros_410c.sh拷到我们的linux系统导致的格式错误!
解决方式:
#sh>vi filename
利用如下命令查看文件格式
:set ff 或 :set fileformat
可以看到如下信息
fileformat=dos 或 fileformat=unix
利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
:wq (存盘退出)
最后再执行文件即可。
2.2./install_ros_410c.sh:
The following packages have unmet dependencies:
ros-kinetic-audio-capture : Depends: libgstreamer-plugins-good1.0-0 but it is not installable
ros-kinetic-audio-play : Depends: libgstreamer-plugins-good1.0-0 but it is not installable
ros-kinetic-people : Depends: ros-kinetic-leg-detector but it is not installable
Depends: ros-kinetic-people-velocity-tracker but it is not installable
ros-kinetic-sound-play : Depends: libgstreamer-plugins-good1.0-0 but it is not installable
E: Unable to correct problems, you have held broken packages.
答:这里是因为ros这几个库官网未更新导致,但不影响我们turtlebot的功能,这里我们可以直接忽略,为了大家以后安装turtlebot更简便快捷,这里我们重新上传新的更新脚本,并命名为:turtlebot_follower.sh
#turtlebot update manual
set -e
# add ros debian sources
sudo sh -c 'echo "deb http://packages.ros.org/ros-shadow-fixed/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# setup the keys
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyserve
rs.net:80 --recv-key 0xB01FA116
# update repo list
sudo apt-get update
# tmux
sudo apt-get install tmux
sudo apt-get install ros-kinetic-desktop-full
#initialize rosdep
sudo rosdep init
rosdep update
# install tools
sudo apt-get install
python-rosinstall
# source ROS environment
source /opt/ros/kinetic/setup.bash
# specialized installation for cert
ain turtlebot packages
rosinstall_generator --rosdistro indigo --exclude RPP --deps --repos turtlebot_apps > ~/turtlebot_overlay.rosinstall
mkdir -p ~/turtlebot/src
wstool init ~/turtlebot/src ~/turtlebot_overlay.rosinstall
# blacklist some packages we don't want to build
cd ~/turtlebot/src
mkdir -p warehouse_ros openni2_camera openni2_launch turtlebot_apps/pano_py turtlebot_apps/turtlebot_pano
rama turtlebot_apps/pano_ros turtlebot_apps/turtlebot_rapps turtlebot_apps/pano_core freenect_stack/freenect_launch freenect_stack/freenect_camera world_
canvas_server
touch ./warehouse_ros/CATKIN_IGNORE ./openni2_camera/CATKIN_IGNORE ./openni2_launch/CATKIN_IGNORE ./turtlebot_apps/pano_py/CATKIN_IGNORE ./turtlebot_apps/turtlebot_panorama/CATKIN_IGNORE ./turtlebot_apps/pano_ros/CATKIN_IGNORE ./turtlebot_apps/turtlebot_rapps/CATKIN_IGNORE ./turtlebot_apps/pano_core/CATKIN_IGNORE ./freenect_stack/freenect_launch/CATKIN_IGNORE ./freenect_stack/freenect_camera/CATKIN_IGNORE ./world_canvas_server/CATKIN_IGNORE
a
# add rosdeps
cd ..
rosdep install --from-path src --ignore-src -y --skip-keys freenect_launch --skip-keys openni2_launch
# install kobuki udev rules
rosrun kobuki_ftdi create_udev_rules
echo "source /opt/ros/kinetic/setup.bash" >> $HOME/.bashrc
echo "export TURTLEBOT_3D_SENSOR=kinect" >> ~/.bashrc
echo "export TURTLEBOT_3D_SENSOR=kinect" >> .bashrc
图2 turtlebot_follower.sh
3.dragonboard410c系统编译ros系统源码崩溃?
答:很多基础比较好的童鞋拿 410c的linux系统当编译环境使用,直接用来编译ros系统源码,导致系统内存崩溃。在这里,我们是不推荐拿 410c当编译环境使用,原因如下:
a.410c的闪存只有1G,不适合做中大型系统的编译环境,容易引起内存溢出,从而导致系统崩溃。哪怕你插U盘或者SD卡做swap区分享,也相当不稳定。这点我已经做过大量实测,因此还是建议大家将编译工作放到你的PC机上实现。
b.ros的官网已经有现成编译好的运行工具可以安装,大家在刚开始进行功能体验的时候完全不需要自己手动编译。
4.turtlebot如何手动启动?
答:这里我们推荐使用tmux工具进行手动启动,操作如下:
1).tmux
2).roslaunch turtlebot_bringup minimal.launch
3).Crtl+B,再按C键
4).roslaunch turtlebot_follower follower.launch
5).连接kobuki,kinect到410c板子上,稍等十秒左右即可运行。
5.turtlebot整机调试困难?
答:很多童鞋反馈410c不带LCD,平时调试都要接HDMI到电视显示和外接键盘,太不方便。在这里,我推荐使用ssh的方式进行登陆调试,具体操作如下:
1).启动410c,并使用linaro用户登陆;
2).使用nmcli连接wifi,同时将你的PC机连接到同一wifi下;
3).在PC机采用ssh的方式(我采用win7的SecureCRT)登陆到410c的linux系统,默认用户和密码为linaro。
4).登陆到410c板子的linaro系统,即可撤掉板子上的HDMI和键盘,进入无线调试模式。
二、更新脚本链接:
1.flash.sh 下载链接: http://pan.baidu.com/s/1hrD5048
2.turtlebot_follower.sh 下载链接:http://pan.baidu.com/s/1mhOmF24
评论
查看更多