《ROS全开源阿克曼转向智能网联无人驾驶车》开源教程(一)网络配置及移动控制

 

编  制 : 智能佳     版  本:  V1.0

版权声明:该教程版权归北京智能佳科技有限公司所有,仅供大家交流学习,未经授权禁止引用、发布、转载等,否则将追究其法律责任。

使用前说明:本使用文档说明略微简明,请结合指导视频进行操作会更容易理解!!

第一章节 BJROBOT ROS 网络配置及移动控制

1.工控机的系统用户名为 robot,密码:bjrobot 

远程登录方式:a.teamview, 输入工控机IP,密码即可登录;

                            b.ssh登录:ssh bjrobot@192.168.50.102 密码:bjrobot

2.RK3399 Nanopi树莓派 4b 的系统用户名为 pi,密码也是 pi

   远程登录方式:a. ssh登录: ssh  pi@192.168.50.100 密码:pi

                                b. vnc,输入用户名密码即可登录;

需要先ssh登录到RK3399,启动/home/pi目录下的runVino.sh文件(启动命令为:./runVino.sh)

3.英伟达Nano 的系统用户名为 ubuntu, 密码:ubuntu

远程登录方式:a.vnc,输入Nano的IP,密码即可登录;

                    b.ssh登录: ssh ubuntu@192.168.50.106  密码:ubuntu

  

Teamview实现局域网内登录,需修改teamview选项中的网络设置选项中的呼入的LAN连接选项为<接受>,如下图所示:

用户名和密码是 ssh 连接的关键。

4.把小车组装好,电池充满电,小车主控接 HDMI 接口的显示器连接无线网络,进入系统,打开一个终端输入ifconfig,回车,记下小车无线网卡 ip。

5.下载资料配套虚拟机我们提供的虚拟机已经安装好 ROS,已经编译好我们的源码与构建好相关环境,把虚拟机网络设配器设置成桥接模式。

虚拟机确保桥接上PC 的网卡,并且能分配到 IP,跟小车主控连在同一个路由器的局域网内同一网段!一定要同一网段!!确保二者能相互ping通

虚拟机端 vim ~/.bashrc,鼠标滚轮把光标移动到文件底端,按下图操作。

改好之后 退出编辑模式后,source ~/.bashrc 使之马上生效

6.至此,虚拟机和主控端的控制相关配置以及设置好,接下来在虚拟机端打开一个终端ssh 过去小车主控端启动 roslaunch znjrobot bringup.launch 。

7.在虚拟机端再打开外一个终端直接启控制。rosrun teleop_twist_keyboard teleop_twist_keyboard.py

至此小车可以在虚拟机端通过键盘进行移动控制。

 

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS控制阿克曼转向底盘,可以使用现成的ros-ackermann-msgs和ros-ackermann-drive软件包来实现。以下是基于这两个软件包的阿克曼转向底盘控制程序示例: 1. 安装ros-ackermann-msgs和ros-ackermann-drive软件包 ```bash sudo apt-get install ros-melodic-ackermann-msgs ros-melodic-ackermann-drive ``` 2. 编写控制程序 ```python #!/usr/bin/env python import rospy from ackermann_msgs.msg import AckermannDriveStamped def ackermann_drive(speed, steering_angle): # 初始化AckermannDriveStamped消息 ackermann_cmd = AckermannDriveStamped() # 设置线速度和转向角度 ackermann_cmd.drive.speed = speed ackermann_cmd.drive.steering_angle = steering_angle # 发布AckermannDriveStamped消息 pub.publish(ackermann_cmd) if __name__ == '__main__': try: # 初始化ROS节点 rospy.init_node('ackermann_controller') # 创建AckermannDriveStamped消息发布者 pub = rospy.Publisher('/ackermann_cmd', AckermannDriveStamped, queue_size=10) # 设置速度和转向角度 speed = 1.0 # 线速度 steering_angle = 0.2 # 转向角度 # 循环发送AckermannDriveStamped消息 rate = rospy.Rate(10) while not rospy.is_shutdown(): ackermann_drive(speed, steering_angle) rate.sleep() except rospy.ROSInterruptException: pass ``` 这个程序使用了ros-ackermann-msgs和ros-ackermann-drive软件包来控制辆的阿克曼转向底盘。在程序中,创建了一个AckermannDriveStamped消息发布者,通过设置线速度和转向角度来控制辆的运动。同时,程序还需要在ROS中设置好运动控制相关的参数,如辆的轴距、转弯半径、线速度和角速度等。通过这个程序,可以实现对阿克曼转向底盘的控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值