地面移动平台操作手册

/home/hao/catkin_lh/src/arbotix_ros/arbotix_python/src/arbotix_python    问题出现在这里
---------------------------------------------------------
需要注意的一点是USB查哪个不重要,重要的是哪个USB先插  哪个USB后插的问题    linux系统会很直接的把插入的端口,依次排列
程序中设置的是,先插左边驱动 后插右边驱动,再插入NAV,这样的话可以直接用后面的代码   按照中下上的顺序插入(经验测试结果)
要牢记,每次关机之前务必点击手柄的back键  退出点击的模式,否则下次开机会发生错误。
---------------------------------------------------------
source initcom 中的内容为

sudo chmod 777 ttyUSB0            //赋予左边驱动EPOS的USB权限
sudo mv ttyUSB0 ttyS100
sudo chmod 777 ttyUSB1            //赋予右边驱动
sudo mv ttyUSB1 ttyS101
sudo chmod 777 ttyUSB2            //赋予组合导航USB权限


开发运行流程
   
roscore                                       ros节点准备

rosrun smartcar_teleop smartcar_teleop        键盘节点(此键盘节点wsad前后左右  按shift实现两倍的增长)

rosrun teleop_twist_keyboard teleop_twist_keyboard.py    也是键盘的节点    uiojklm,。 表示一个九个格子的阵,前后左右

rosrun joy joy_node                           罗技节点话题发布

rosrun movecar base_controller                接受键盘数据  movebase数据  手柄数据,发布里程信息

rosrun movecar base_controller_test           收到键盘数据,以及组合导航信息,用于测试里程,得到对象距离的时间,以及位置控制的脉冲数

rosrun nav_100 nav_100                        导航GPS数据包节点

rosrun movecar log_teleop                     罗技手柄车体控制节点,需另外启动罗技节点

rosrun movecar logcontrol.launch              运行罗技节点和底盘驱动 (用手柄控制车)

rosrun movecar odometry_publisher_car         用于发布里程即的数据

 

 

以上操作简化为如下几行代码

1.给串口赋予权限
source initcom

2.启动sick雷达 获取cmd——vel主题的消息  获取手柄数据用来暂停开始  发布里程数据
roslaunch movecar movecar.launch

3.加入机器人的模型  运行arbotix_python仿真所需节点  发布机器人状态信息
roslaunch car_bringup fake_car.launch

4.加载地图,运行movebase导航包   运行amcl定位
roslaunch car_nav fake_amcl.launch map:=test58.yaml

5.可视化操作
rosrun rviz rviz -d `rospack find car_nav`/amcl.rviz


-------------------------------------------------------------------------
罗技手柄控制测试,
rosrun joy joy_node     //罗技节点话题发布
rosrun smartcar smartcar  //接受罗技节点数据并且传给乌龟    这个代码主要是将罗技的摇杆数据转到cmd——vel上   不过删掉了
rosrun turtlesim turtlesim_node

/----------------------------------------------------------------------------------------------------------
/-----------------地面移动平台测速------------------------

rosrun teleop_twist_keyboard teleop_twist_keyboard.py
rosrun movecar car_controller       只是启动控制器    且话题名称是cmd_vel

 

/----------------------------------------------------------------------------------------------------------
-----------激光网址--------------


https://www.cnblogs.com/wenhust/p/6047258.html   Cartographer系列之二——hokuyo激光雷达跑cartographer
https://www.ncnynl.com/archives/201612/1166.html   cartographer在Turltlebot的应用2


/------------------------------------------------------------------------------------------------------
/-------------hokuyo激光雷达的配置-----------/

sudo apt-get install ros-kinetic-urg-node
sudo apt-get install ros-kinetic-urg-c
sudo apt-get install ros-kinetic-laser-proc
这三个包全写的CMAKE文件    /opt/ros/kinetic/share/urg_node/msg    这个路径下可以查看msg类型

前三步不用管了  直接开始后面

 
sudo gedit /etc/network/interfaces
然后复制下面的行命令  一定要注意的事情是


auto enp2s0  
allow-hotplug enp2s0  
iface enp2s0 inet static  
      address 192.168.0.1  
      netmask 255.255.255.0

打开roscore
插上电之后再这样
service networking restart
source devel/setup.bash
rosrun urg_node urg_node _ip_address:="192.168.0.10"

rosrun rviz rviz   laser   添加才可以看

 

/------------------------------------------------------------------------------------------------------


/----------------cartographer建图--------------------
roslaunch cartographer_ros demo_hokuyo.launch   建图   
rosrun map_server map_saver map:=/map -f test   保存地图   但是效果不好  
map_sever要修改   这个包来自于导航包 可以更改其中文件   并非ros自带的.
-------------------------------------------------------------------------------------------------------


/---------------------gmaping-----------------------


roslaunch rbx1_bringup fake_turtlebot.launch

roslaunch turtlebot_navigation hokuyo_gmapping_demo.launch

roslaunch rbx1_nav gmapping_demo.launch

 

cd catkin_hf
roslaunch turtlebot3_slam turtlebot3_slam.launch


rosrun map_server map_saver map:=/map -f test

 

/----------------------------------------------------------------------------------------------------


*--------------运行仿真机器人--------------------*

1) 运行仿真机器人:
roslaunch rbx1_bringup fake_turtlebot.launch
2) 运行move_base节点以及载入空白地图
roslaunch rbx1_nav fake_move_base_blank_map.launch
3) 运行rviz可视化界面
rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz
4) 不简单发布 Twist 消息来控制 机器人移动 而使用 move_base 来控制机器人
即发布消息到 /move_base_simple/goal geometry_msgs/PoseStamped  来控制机器人移动
rostopic pub /move_base_simple/goal geometry_msgs/PoseStamped \
'{ header: { frame_id: "map" }, pose: { position: { x: 1.0, y: 0, z: 0 }, orientation: { x: 0, y: 0, z: 0, w: 1 } } }'

/-----------------------------------------------------------------------------------------------------------

 

/-----------------turtlebot实际导航的运行-----------/

  <!-- Fire up AMCL -->
  <include file="$(find rbx1_nav)/launch/amcl_diff.launch" />

在face_amcl.launch 文件中添加以上的代码     就是差速移动平台的蒙特卡洛定位程序


接下来依次运行


roslaunch rbx1_bringup fake_turtlebot.launch


roslaunch rbx1_nav fake_amcl.launch map:=test.yaml


rosrun rviz rviz -d `rospack find rbx1_nav`/amcl.rviz


rosrun lms1xx LMS1xx_node _host:=192.168.0.1

这里需要注意的是雷达要晚于前三者的运行    否则会出现雷达时间报错
/---------------------------costmap_common_params.yaml  写法----重点改写第三行--------------------------------------------
obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[-0.15,-0.44], [-0.15,0.44], [0.91,0.44], [0.91,-0.44]]
#footprint_inflation: 0.01    # 对于圆形机器人  设置其半径 米  对于非圆形机器人  设置 footprint: 参数
#robot_radius: 1
inflation_radius: 0.2    # 机器人与障碍物的最小距离
max_obstacle_height: 0.6   #障碍物的 尺寸大小
min_obstacle_height: 0.0
observation_sources: scan   # 数据来源
scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true, expected_update_rate: 0}

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值