c语言cione图像库,机器人操作系统(ROS)-中国大学mooc-题库零氪

第一课 ROS介绍与安装

第一课测验

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,你完成了吗?

第二课 工程结构

第二课测验

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指令后面都可以直接加包名,作用分别是跳转到软件包路径下,列出软件包中的内容。

第三课 通信架构(上)

第三课测验

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上可以有多个发布者

第四课 通信架构(下)

第四课测试

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

第六课 roscpp

第六课测试

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

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

B、ros::Publisher<: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.cpp int 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.cpp int main(int argc, char **argv) { ros::init(argc, argv, "greetings_client"); ros::NodeHandle nh; ros::ServiceClient client = nh.serviceClient<: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、⑦

第八课 tf & urdf

第八课测试

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两个主要标签,前者定义机器人的零部件(如形状、坐标),后者定义零部件之间的运动关系(如旋转、平移)。

第九课 SLAM

第九课测试

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_linkodom 这段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激光雷达作为输入

第十课 Navigation

第十课测验

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的插件存在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值