ros车基本学习(基于讯飞车)
ros是什么(个人理解)
ros是个机器人操作系统,可以在上面实现对机器人的操作,好比一个工作台,别人给你造好,直接使用上面的工具方便造自己的作品.
我为什么学ROS
竞赛需要,智能车讯飞比赛及人工智能比赛甚至电赛控制类赛题也能用到
节
系统是乌班图18的系统。
1 2 3 4 5 6
| sudo apt-get install g++
sudo apt-get install python
sudo apt install vim
|
代码运行实例(c++)
1 2 3 4 5 6 7 8 9 10 11 12
| mkdir test
touch hello.cpp
g++ hello.cpp -o hello
./hello
python hello.py
|
ros安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update sudo apt install ros-melodic-desktop-full
sudo rosdep init rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
|
鱼香ros一键安装
小乌龟实例
1 2 3 4 5 6
| roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
|
创建工作空间
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace
cd catkin_ws/ catkin_make
source devel/setup.bash
echo $ROS_PACKAGE_PATH
|
功能包创建与编译
1 2 3 4 5 6 7 8 9 10
| cd ~/catkin_ws/src catkin_create_pkg my_package_name rospy roscpp std_msgs geometry_msgs turtlesim
cd catkin_ws/ catkin_make
source ~/catkin_ws/devel/setup.bash
|
C++编译配置<cmakelists.txt>
1 2
| add_executable(${PROJECT_NAME}_node src/my_package_name_node.cpp) target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES})
|
自定义消息
1.在功能包文件夹内创建msg文件夹,并新建Person.msg文件,在里面写入
1 2 3 4 5 6 7
| string name uint8 age uint8 sex uint8 unknown = 0 uint8 male = 1 uint8 female = 2
|
2.在package.xml文件内添加依赖:
1 2
| <build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend>
|
3.在CMakeLists.txt内加入:
1 2 3 4 5 6 7 8 9
| add_message_files( FILES Person.msg ) generate_messages( DEPENDENCIES std_msgs )
|
并把
1
| # CATKIN_DEPENDS geometry_msgs roscpp rospy std_msgs turtlesim
|
改为
1
| CATKIN_DEPENDS geometry_msgs roscpp rospy std_msgs turtlesim message_runtime
|
系统关机及重启
1 2 3 4
| shutdown -h now
sudo reboot
|
ctrl all+T打开新的终端
摄像头参数命令
launch文件启动rviz
每次启动rviz都要设置订阅的话题、点云大小等等机械化的设置,为了方便快捷的操作,把rviz的设置写入launch文件内,就可以一键启动了。
1.先启动需要运行的节点,再启动一个rviz;
2.设置好订阅的话题、点云大小、坐标轴等需要用到的设置
3.点击左上角的file,选择另存为到一个指定地址(功能包文件夹下创建config文件夹,rviz配置文件放里面);
4、写入launch文件
1 2 3 4
| <launch> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find my_package)/config/path_to_your_rviz_config_file.rviz" /> </launch>
|
其中 find my_package 为你的功能包名,path_to_your_rviz_config_file.rviz为rviz文件名