百年教育职业培训中心 百年教育学习服务平台
题库试卷

【百年教育职业培训中心】机器人操作系统入门-章节资料考试资料-中科院软件所-重德智能机器人联合研究中心[ (2)

来源: 更新时间:

第一课测验1、【单选题】机器人操作系统ROS的全称是A、RouterOperatingSytstemB、RequestofServiceC、ReactOperatingSystemD、RobotOpe


第一课测验

1、【单选题】机器人操作系统ROS的全称是

A、Router Operating Sytstem

B、Request of Service

C、React Operating System

D、Robot Operating System


2、【单选题】ROS Kinetic最佳适配的Linux版本是

A、CentOS 7

B、Ubuntu 14.04

C、Ubuntu 16.04

D、Ubuntu 18.04


3、【单选题】下列哪个不是ROS的特点

A、强实时性

B、分布式架构

C、开源

D、模块化


4、【单选题】ROS官方二进制包可以通过以下哪个命令安装(假定Kinetic版本)

A、sudo apt-get install ros_kinetic_packagename

B、sudo apt-get install ros-kinetic-packagename

C、sudo apt-get install ROS-Kinetic-pacakgename

D、sudo apt-get install ROS_kinetic_pacakgename


5、【单选题】ROS最早诞生于哪所学校的实验室

A、麻省理工学院(MIT)

B、斯坦福大学(Stanford)

C、卡内基梅隆大学(CMU)

D、加州大学伯克利分校(UC. Berkeley)


6、【多选题】下列哪些是ROS的发行版本?

A、Indigo

B、Jade

C、Kinetic

D、Oreo

E、Xenial


7、【多选题】查看https://robots.ros.org/页面的机器人,下列哪些支持ROS?

A、TurtleBot3

B、PR2

C、Pioneer 3-AT

D、XBot


8、【判断题】在PC上安装Ubuntu16.04和ROS Kinetic,你完成了吗?

A、正确

B、错误


第二课测验

1、【单选题】目前ROS主流的编译系统是?

A、Ament

B、CMake

C、Catkin

D、rosbuild


2、【单选题】如果你要clone一个ROS的软件包,下列哪个路径是合理的存放位置?

A、~/catkin_ws/

B、~/catkin_ws/devel

C、~/catkin_ws/build

D、~/my_ws/src


3、【单选题】默认情况下,catkin_make生成的ROS可执行文件放在哪个路径?

A、catkin_ws/devel

B、catkin_ws/src

C、catkin_ws/build

D、catkin_ws/


4、【单选题】CMake文件编写规则中,用于将库文件链接到目标文件的是哪条指令?

A、add_executable()

B、add_library()

C、add_link()

D、target_link_libraries()


5、【单选题】CMake的指令中,引入头文件的搜索路径是哪个指令?

A、include_directories()

B、include_directory()

C、cmake_include_path()

D、cmake_include_directory()


6、【多选题】一个ROS的pacakge要正常的编译,必须要有哪些文件?

A、CMakeLists.txt

B、package.xml

C、*.cpp

D、README.md

E、*.h


7、【多选题】下列哪些是CMake没有而Catkin有(Catkin扩展了)的指令?

A、add_message_files()

B、add_service_files()

C、add_action_files()

D、generate_messages()


8、【判断题】roscd、rosls指令后面都可以直接加包名,作用分别是跳转到软件包路径下,列出软件包中的内容。

A、正确

B、错误


第三课测验

1、【单选题】启动ROS Master的命令是:

A、roscore

B、rosmaster

C、roslaunch

D、rosMaster


2、【单选题】关于ROS Node的描述,哪一项是错误的?

A、Node是ROS的进程。

B、Node是ROS可执行文件运行的实例。

C、Node启时会向Master注册。

D、Node可以先于ROS Master启动。


3、【单选题】关于.launch文件的描述,以下哪一项是错的?

A、可以一次性启动多个节点,减少操作。

B、可以加载配置好的参数,方便快捷。

C、通过roslaunch命令来启动launch文件

D、在roslaunch前必须先roscore


4、【单选题】想要查看`/odom`话题发布的内容,应该用哪个命令?

A、rostopic echo /odom

B、rostopic info /odom

C、rostopic content /odom

D、rostopic print /odom


5、【单选题】请练习rosmsg命令,下列哪个不是std_msgs下的消息?

A、std_msgs/Header

B、std_msgs/Time

C、std_msgs/Float32

D、std_msgs/LaserScan


6、【多选题】关于Topic通信的描述,正确的选项有:

A、Topic是一种异步通信机制

B、一个Topic至少要有一个发布者和一个接收者

C、一个Node最多只能发布一个Topic

D、接受者成功收到消息后会回传给发布者确认信息。

E、查看当前活跃的Topic可以通过rostopic list命令。


7、【判断题】同一个Topic上可以有多个发布者

A、正确

B、错误


第四课测试

1、【单选题】下列有关Service与Topic通信区别的描述,说法错误的是:

A、多个Server可以同时提供同一个Service

B、Topic是异步通信,Service是同步通信

C、Topic通信是单向的,Service是双向的

D、Topic适用于传感器的消息发布,Service适用于偶尔调用的任务


2、【单选题】已知一个service叫做'/GetMap',查看该service的类型可以用哪条指令?

A、rosservice type /GetMap

B、rossrv type /GetMap

C、rosservice echo /GetMap

D、rosservice list /GetMap


3、【单选题】已知`/GetMap`的类型是'nav_msgs/GetMap',要查看该类型的具体格式用哪条指令?

A、rossrv show nav_msgs/GetMap

B、rossrv show /GetMap

C、rosservice show nav_msgs/GetMap

D、rosservice list nav_msgs/GetMap


4、【单选题】在parameter server上添加param的方式不包括:

A、在launch中添加param

B、通过ROS的API来添加param

C、通过rosparam命令添加param

D、通过rosnode命令添加param


5、【单选题】关于Action的描述错误的是:

A、Action通信的双方也是Client和Server

B、Action的Client可以发送目标goal,也可以请求取消cancel

C、Action通常用在长时间的任务中

D、.action文件与.srv文件写法一致


6、【多选题】关于ROS通信方式的描述正确的是:

A、传感器消息发布一般都采用Topic形式发布

B、机械臂关节逆解适合用Service通信

C、现在要设计一个节点,开发路径规划功能,输入是目标点和起始点,输出是路径,适合用Topic通信方式

D、Action更适合用在执行时间长、并且需要知道状态和结果的场景


第五课测试

1、【单选题】Gazebo是一款什么工具?

A、仿真

B、可视化

C、调试

D、命令行


2、【单选题】rqt_graph可以用来查看计算图,以下说法错误的是:

A、计算图反映了节点之间消息的流向

B、计算图反映了所有运行的节点

C、rqt_graph可以看到所有的topic、service和action

D、rqt_graph中的椭圆代表节点


3、【单选题】rosbag的描述错误的是:

A、rosbag可以记录和回放topic

B、rosbag可以记录和回放service

C、rosbag可以指定记录某一个或多个topic

D、rosbag记录的结果为.bag文件


4、【多选题】RViz可以图形化显示哪些类型的数据?

A、激光 LaserScan

B、点云 PointCloud

C、机器人模型 RobotModel

D、轨迹 Path


第六课测试

1、【单选题】创建一个Publisher,发布的topic为mytopic, msg类型为std_msgs/Int32以下创建方法正确的是:

A、ros::NodeHandle nh;
ros::Publisher pub = nh.advertise<std_msgs::Int32>("mytopic", 10);

B、ros::Publisher<std_msgs::Int32> pub("mytopic", 10);

C、ros::Publisher pub("mytopic", std_msgs::Int32,10);

D、ros::NodeHandle nh;
ros::Publisher pub = nh.advertise("mytopic", std_msgs::Int32,10);


2、【单选题】当Subscriber接收到消息,会以什么机制来处理?

A、回调

B、事件服务

C、通知服务

D、信号槽


3、【多选题】ROS的Client Library支持哪些编程语言?

A、C++

B、Python

C、Java

D、Lisp


4、【多选题】已知Service通信的代码,以下哪些语句会阻塞?server.cppint main(int argc, char **argv)
{
ros::init(argc, argv, greetings_server); //①
ros::NodeHandle nh; //②
ros::ServiceServer service = nh.advertiseService(greetings, handle_function);//③
ros::spin(); //④
return 0;
}client.cppint main(int argc, char **argv)
{
ros::init(argc, argv, greetings_client);
ros::NodeHandle nh;
ros::ServiceClient client = nh.serviceClientservice_demo::Greeting(greetings); //⑥
service_demo::Greeting srv;
srv.request.name = HAN;
srv.request.age = 20;

if (client.call(srv)) //⑦
{
....
}
return 0;
}

A、①

B、②

C、③

D、④

E、⑤

F、⑥

G、⑦


第七课测试

1、【单选题】以下关于rospy的描述,错误的是

A、rospy是基于Python语言的ROS接口

B、rospy提供了操作ROS Topics, Services, Params的接口

C、许多ROS的命令行工具都是基于rospy开发的,例如rostopic和rosservice

D、导航规划、视觉SLAM等任务适合用rospy开发


2、【单选题】用rospy创建一个Publisher,话题是'chatter',消息类型为字符串,消息队列长度为10,正确的语句是:

A、pub = rospy.Publisher('chatter', String, queue_size=10)

B、nh = rospy.NodeHandle()pub = nh.Publisher('chatter', String, queue_size=10)

C、pub = rospy.advertise('chatter', String, queue_size=10)

D、nh = rospy.NodeHandle()pub = nh.advertise('chatter', String, queue_size=10)


3、【单选题】parameter2 = rospy.get_param(/param2, default=222)函数语句的功能是:

A、在Parameter Server上搜索/param2参数,如果有则将其值存入parameter2变量,如果没有则将222存入parameter2变量

B、在Parameter Server上设置/param2参数,默认设置为222

C、在Parameter Server上搜索/param2参数,将其值存入parameter2变量,等待时间为222秒

D、在Parameter Server上检查/param2参数,检查其值是否为222


4、【多选题】下列哪些函数是会阻塞的?

A、rospy.spin()

B、rospy.wait_for_service()

C、rospy.init_node()

D、rospy.loginfo()

E、rospy.wait_for_message()


5、【判断题】rospy中没有NodeHandle(句柄)的概念

A、正确

B、错误


第八课测试

1、【单选题】TF在ROS中的抽象数据结构是:

A、树

B、链表

C、队列

D、栈


2、【单选题】查看当前从map坐标系和right_wheel坐标系之间的变换关系,应该用C++的哪句指令?

A、lookupTransform("map", "right_wheel", ros::Time(0), trans_result);

B、getTransform("map", "right_wheel", ros::Time::now(), trans_result);

C、getTransform("map", "right_wheel", ros::Time(0), trans_result);

D、lookupTransform("map", "right_wheel", ros::Time::now(), trans_result);


3、【单选题】图形化查看当前的tf tree可以用哪个指令?

A、$ rosrun rqt_tf_tree rqt_tf_tree

B、$ rosrun tf tf_echo

C、$ rviz

D、$ rosrun tf display


4、【多选题】/tf话题在ROS中可能的消息类型为:

A、tf/tfMessage

B、tf2_msgs/TFMessage

C、tf/tfmsg

D、tf2/TFMessage


5、【判断题】urdf文件包括了link和joint两个主要标签,前者定义机器人的零部件(如形状、坐标),后者定义零部件之间的运动关系(如旋转、平移)。

A、正确

B、错误


第九课测试

1、【单选题】ROS中的/map话题的所属类型和定义是?

A、nav_msgs/OccupancyGrid消息std_msgs/Header header
nav_msgs/MapMetaData info
int8[] data

B、nav_msgs/Map消息std_msgs/Header header
nav_msgs/MapMetaData info
int8[] data

C、nav_msgs/MapMetaData消息time map_load_time
float32 resolution
uint32 width
uint32 height
geometry_msgs/Pose origin

D、nav_msgs/Map消息time map_load_time
float32 resolution
uint32 width
uint32 height
geometry_msgs/Pose origin


2、【单选题】SLAM程序对里程计累计误差的修正,体现在:

A、base_link<--->odom 这段tf

B、odom<---> map 这段tf

C、/odom话题

D、/map话题


3、【多选题】阅读gmappinghttp://wiki.ros.org/gmapping文档,要正常运行需要提供哪些数据(订阅哪些topic)?

A、/tf话题,具体包括 base_link和odom之间的tf,base_link和机器人各零部件间的tf

B、/tf话题,具体包括 base_link和odom之间的tf,odom和map之间的tf

C、/scan话题,激光雷达数据

D、/odom话题,里程计数据


4、【多选题】ROS中Odom里程计的数据来源包括:

A、Visual Odometry

B、IMU

C、Wheel Odometry

D、Laser


5、【判断题】Gmapping和Karto SLAM包都需要/scan激光雷达作为输入

A、正确

B、错误


第十课测验

1、【单选题】Navigation中将已知地图做成Topic来发布的软件包是:

A、map_server

B、map_saver

C、robot_map

D、AMCL


2、【单选题】Navigation中有一个robot_ekf_pose软件包,阅读文档http://wiki.ros.org/robot_pose_ekf以下描述错误的是

A、作用为多传感器融合,进行更准确的位姿估计

B、可选的传感器数据为IMU、Visual Odometry、Wheel Odometry

C、默认发布robot_pose_ekf/odom_combined消息

D、默认发布odom → base_footprint的tf


3、【单选题】move_base节点的默认输出消息是:

A、速度

B、位置

C、轨迹

D、速度+位置+轨迹


4、【多选题】Navigation Stack的主要功能有:

A、路径规划

B、代价地图

C、行为恢复(recovery behaviors)

D、定位

E、SLAM


5、【判断题】在Navigation Stack中,全局和局部的路径规划器都是作为move_base的插件存在

A、正确

B、错误


《机器人操作系统入门》期末考试

1、【单选题】package是ROS中原子级的单元,一个pacakge具有用于创建ROS程序的最小结构和最少内容。以下那个package是合理的?

A、|--- mypkg
| |--- CMakeLists.txt
| |--- package.xml
| |--- msg
| |--- mymsg.msg

B、|--- mypkg
| |--- CMakeLists.txt
| |--- src
| |--- mycode.cpp

C、|--- mypkg
| |--- CMakeLists.txt
| |--- src
| | |--- mycode.cpp
| |--- include
| |--- mycode.h

D、|--- mypkg
| |--- CMakeLists.txt
| |--- src
| | |--- mycode.cpp
| |--- include
| | |--- mycode.h
| |--- launch
| | |--- mylaunch.launch
| |--- scripts
| |--- myscript.py


2、【单选题】消息是一个进程发到其他进程的信息,消息类型定义在msg文件中。现在要定义一个消息,用于发布机器人电池的电量,以下定义合理的是:

A、robot_battery.msgHeader header
float32 votage

B、电池电压
float32 current

C、当前电流
float32 charge

D、当前电量
float32 percentage

E、当前电量百分比

F、robot_battery.msgHeader header
---
float32 votage

G、电池电压
---
float32 current

H、当前电流
---
float32 charge

I、当前电量
---
float32 percentage

J、当前电量百分比

K、robot_battery.msgstd_msgs/Header header
---
std_msgs/float32 votage

L、电池电压
---
std_msgs/float32 current

M、当前电流
---
std_msgs/float32 charge

N、当前电量
---
std_msgs/float32 percentage

O、当前电量百分比

P、robot_battery.msgstd_msgs/Header header
std_msgs/float32 votage

Q、电池电压
std_msgs/float32 current

R、当前电流
std_msgs/float32 charge

S、当前电量
std_msgs/float32 percentage

T、当前电量百分比


3、【单选题】以下哪个工具可以图形化的查看当前节点的计算图(节点和消息流向)?

A、rqt_graph

B、rqt_plot

C、rviz

D、rqt_tf_tree


4、【单选题】查看当前有哪些topic,应该使用哪条指令?

A、rostopic list

B、rostopic ls

C、rostopic show

D、rostopic show -a


5、【单选题】ROS中的通信方式不包括:

A、Topic

B、Service

C、Action

D、TF


6、【单选题】关于Navigation Stack的结构,以下说法错误的是:<img src="https://edu-image.nosdn.127.net/25B543484ADB1C1EB72AD9A0CE72B32C.png?imageView

A、move_base是一个抽象概念,其中的global_planner、global_costmap... 才是实际运行的进程

B、导航功能要正常运转,需要的传感器有激光和里程计,作为收入

C、导航功能要正常运转,需要有地图/map消息作为输入

D、导航的目标点,消息类型为geometry_msgs/PoseStamped


7、【多选题】在执行ROS程序前,通常需要输入roscore,roscore这条指令具体启动了哪些内容?

A、rosmaster,节点管理器

B、parameter server,参数服务器

C、rosout,日志系统

D、roscomm,ROS通信架构

E、roscpp和rospy,ROS的客户端库


8、【多选题】关于TF的说法正确的有:

A、tf是一种树形的数据结构

B、tf系统中所有的frame都需要是联通的

C、tf中的frame之间的变换关系需要有broadcaster来发布

D、一棵正确的tf tree只能有一个根节点

E、两个frame之间的transform包括了xyz轴的平移和旋转


9、【多选题】关于ROS官方SLAM和Navigation相关的软件包,下列说法正确的是:

A、AMCL是一种SLAM算法,自适应蒙特卡洛算法

B、Gmapping是一种SLAM算法,对于里程计的误差,slam_gmapping节点会把修正发布到map&lt;--&gt;odom这段tf上

C、Karto是一种SLAM算法,需要激光雷达和里程计作为输入

D、Navigation中提供了dwa、A*、Dijkstra等路径规划算法


10、【判断题】ROS的通信架构支持在多个计算平台上部署,但无论怎样都需要一个master来作为管理中心

A、正确

B、错误


11、【判断题】Service通信与Topic通信最主要的区别在于:Service是异步通信,Topic是同步通信。

A、正确

B、错误


12、【填空题】用catkin编译系统来编译ROS的工作空间,可以使用________命令

A、




广东理工学院成人高考招生简章

广州城建职业学院成人高等教育招生简章

广东科学技术职业学院招生简章

广东科学技术职业学院招生简章

广东生态工程职业学院成人高考招生专业

清远职业技术学院成人高等教育招生专业简介

电子科技大学中山学院成人高等教育招生简章

广州涉外经济职业技术学院

韶关学院成人高考招生简章

广东财经大学成人高等教育招生简介

广东理工学院成人高考招生简章

广东第二师范学院成人高考招生简章

广东南方职业学院成人高考招生简章

广东亚视演艺职业学院成人高考招生简章


电话咨询