精华内容
下载资源
问答
  • teleop_twist_keyboard.tar.gz

    2019-12-18 20:12:41
    键盘控制,放在工作空间的src目录下,可以用于发布/cmd_vel 官方的代码包 亲测可用 用之前请先修改.py文件的权限
  • 在ROS上使用teleop_twist_keyboard功能包控制小车时只有部分方向控制指令有效,可能是什么原因导致的呢? <p><img alt="" height="263" src=...
  • 通过ssh 连接到机器人后输入$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py 报错:cpickle.unpicklingerror:invalid load key.‘n'
  • [rospack] Error: package ‘teleop_twist_keyboard’ not found 解决方案: 1.cd ~/catkin_ws/src(如果没有这个目录先在工作目录下创建工作空间:mkdir -p catkin_ws/src) 2.git clone ...

    [rospack] Error: package ‘teleop_twist_keyboard’ not found

    解决方案:
    1.cd ~/catkin_ws/src(如果没有这个目录先在工作目录下创建工作空间:mkdir -p catkin_ws/src
    2.git clone https://github.com/ros-teleop/teleop_twist_keyboard(一定要在src目录下)
    3.cd ~/catkin_ws
    4.catkin_make
    5.source ~/catkin_ws/devel/setup.bash(把这句话填写在 .bashrc 文件里)
    6.source ~/.bashrc

    展开全文
  • rosrun teleop_twist_keyboard teleop_twist_keyboard.py 发现报错。 找不到该包。 解决: 1、进入工作空间的src下,例如: cd ros/demo01/src【demo01是工作空间】 如果没有则创建。【mkdir -p demo01/src...

    在ubuntu20.4的终端运行

    rosrun teleop_twist_keyboard teleop_twist_keyboard.py

    发现报错。

     找不到该包。

    解决:

    方法1:

    直接下载

    sudo apt-get install ros-noetic-teleop-twist-keyboard
    

    noetic是ubuntun20.4对应的ros版本。

    就可以在/opt/ros/noetic/share路径下找到该文件。

    方法2:

    1、进入工作空间的src下,例如:

    cd ros/demo01/src【demo01是工作空间】

    如果没有则创建。【mkdir -p demo01/src】

    2、在src路径下,输入

    git clone https://github.com/ros-teleop/teleop_twist_keyboard

     这里有可能会不成功,多试几次。

    3、在工作空间路径下 catkin_make

    4、回到/home 目录,按ctrl+h,找到.bsahrc

    填入

    source /xxx/xxx/xxx/demo01/devel/setup.bash

     demo01是工作空间

    5、source ~/.bashrc

     6、再次输入

    rosrun teleop_twist_keyboard teleop_twist_keyboard.py

    这个功能包就下载到 demo01的工作空间了,并且也配置了环境变量,可以在任意终端打开。

    展开全文
  • 正常情况下不是应该teleop_twist_keyboard发布/cmd_vel的话题吗?为什么我这里会显示等待订阅/cmd_vel的话题呢?
  • teleop_twist_keyboard
  • 当我们按下键盘时,teleop_twist_keyboard 包会发布 /cmd_vel 主题发布速度 我们在 base_controller 节点订阅这个话题,接收速度数据,在转换成与底盘通信的格式,然后写入串口 当小车底盘接收到串口发来的速度后...

    控制原理

    1.按下键盘时,teleop_twist_keyboard Package发布名为 /cmd_vel 的Topic

    2.创建一个Package,创建 base_controller 节点订阅这个话题,接收速度数据,在转换成与底盘通信的格式,然后写入串口

    3.当小车底盘接收到串口发来的速度后,就控制电机运转,从而实现键盘控制小车的移动

    测试:

    1、打开键盘

    # rosrun teleop_twist_keyboard teleop_twist_keyboard.py
    

    2、运行功能包

    #rosrun base_controller base_controller
    

    ps: 查看Twist发布的cmd_vel话题

    # rostopic list
    # rostopic echo /cmd_vel
    

    必须保证USB转串口线连接在树莓派ttyUSB1上

    ls -l /dev |grep ttyUSB  #查看USB口
    

    3、在teleop_twist_keyboard上按键进行控制
    teleop_twist_keyboard有两种控制方式:1.普通模式 2.全向模式
    本项目采用四全向轮故使用模式2(大写锁定可启动)。

    步骤:

    0、准备工作:

    cd ~/catkin_ws/src
    git clone https://github.com/Forrest-Z/teleop_twist_keyboard.git
    git clone https://github.com/Forrest-Z/serial.git
    

    1、创建创建一个Package #一定要到catkin_ws/src 文件夹下进行创建!

    # catkin_create_pkg base_controller std_msgs rospy roscpp
    

    创建时需要添加依赖,ROS会自动在package.xml 文件里添加这些依赖

    2、写一个小Node(cpp)
    在base_controller/src 目录下创建base_controller.cpp

    # roscd base_controller
    # touch base_controller.cpp
    # gedit base_controller.cpp 
    

    代码:

    /****************************************************
    ROS Robot control base on serial
    Making sure ttyUSB1 !!! 
    function :
    1.transmit control conmmand to control robot moving 
    2.Subscribe /cmd_vel(keyboard transmit)
       Twist msgs 
    serial commend:
    14 Byte:[linear_speed_X 4 Byte][linear_speed_Y 4 Byte][angular_speed_Z 4 4Byte][end "\r\n" 2 Byte]
    ****************************************************/
    
    #include "ros/ros.h" 
    #include <geometry_msgs/Twist.h>
    
    #include <string>
    #include <iostream>
    #include <cstdio>
    #include <unistd.h>
    #include <math.h>
    #include "serial/serial.h"
    
    using std::string;
    using std::exception;
    using std::cout;
    using std::cerr;
    using std::endl;
    using std::vector;
    
    float linear_temp_x=0,linear_temp_y=0,angular_temp_z=0;
    
    unsigned char data_terminal0=0x0d;  //   "/r"
    unsigned char data_terminal1=0x0a;  //   "/n"
    unsigned char speed_data[14]={0} ;    //serial data
    
    union floatData
    {
      float d;
      unsigned char data[4];
    }linear_speed_x,linear_speed_y,angular_speed_z;
    
    void callback(const geometry_msgs::Twist & cmd_input) //Subscribe Twist
    {
     string port("/dev/ttyUSB0");
     unsigned long baud = 115200;
     serial::Serial my_serial(port, baud, serial::Timeout::simpleTimeout(1000));
    
     linear_temp_x  = cmd_input.linear.x;
     linear_temp_y  = cmd_input.linear.y;
     angular_temp_z = cmd_input.angular.z;
    
     linear_speed_x.d = linear_temp_x ;
     linear_speed_y.d = linear_temp_y ;
     angular_speed_z.d= angular_temp_z;
    
     for(int i=0;i<4;i++)
      {
        speed_data[i]   = linear_speed_x.data[i] ;
        speed_data[i+4] = linear_speed_y.data[i] ;
        speed_data[i+8] = angular_speed_z.data[i];
      }
     speed_data[12]=data_terminal0;
     speed_data[13]=data_terminal1;
    
     //write to serial
     my_serial.write(speed_data,14);
    }
    
    int main(int argc, char **argv)
    {
     string port("/dev/ttyUSB0");
     unsigned long baud = 115200;
     serial::Serial my_serial(port,baud,serial::Timeout::simpleTimeout(1000));
    
     ros::init(argc, argv, "base_controller"); //init Node
     ros::NodeHandle n; 
    
     ros::Subscriber sub = n.subscribe("cmd_vel", 20, callback);
     ros::spin();
    
     return 0;
    }
    
    

    修改 CMakeLists:

    cmake_minimum_required(VERSION 2.8.3)
    project(base_controller)
    
    find_package(catkin REQUIRED COMPONENTS
      roscpp
      rospy
      std_msgs
      message_generation
      serial
    )
    
    
    catkin_package(
      CATKIN_DEPENDS roscpp rospy std_msgs
    )
    
    include_directories(
      ${catkin_INCLUDE_DIRS}
      ${serial_INCLUDE_DIRS}
    )
    
    
    add_executable(base_controller src/base_controller.cpp)
    
    
    
    ## Specify libraries to link a library or executable target against
    target_link_libraries(base_controller ${catkin_LIBRARIES})
    

    编译(catkin_ws 目录下)

    # catkin_make
    

    节点创建结束

    到此,已经可以使用文首测试模块进行测试。







    新:添加launch文件

    功能

    使 Node:teleop_twist_keyboard 和 base_controller 同时启动

    步骤
    1、创建launch

    # roscd base_controller
    # mkdir launch
    # cd launch
    # gedit keycontrol.launch
    

    2、编辑如下

    
    
    
    
    
    展开全文
  • teleop_twist_keyboard Generic Keyboard Teleop for ROS Launch Run. rosrun teleop_twist_keyboard teleop_twist_keyboard.py With custom values. rosrun teleop_twist_keyboard teleop_twist_keyboard.py _...
  • 在通过ssh连接ros机器人后,输入rosrun teleop_twist_keyboard teleop_twist_keyboard.py运行失败,出现如下: 报错cpickle.unpicklingerror:invalid load key.‘n'
  • ERROR: cannot launch node of type [teleop/teleop_key]: can't locate node [teleop_key] in package [teleop] 报错原因:权限不够!需要把telep_key.py改成可执行文件权限。 转载于:https://www.cnbl...

    节点由python写成,编译通过,运行时报错如下:

    ERROR: cannot launch node of type [teleop/teleop_key]: can't locate node [teleop_key] in package [teleop]

    报错原因:权限不够!需要把telep_key.py改成可执行文件权限。

     

     

    转载于:https://www.cnblogs.com/gdut-gordon/p/10391115.html

    展开全文
  • 7_keyboard_teleop.wbt

    2020-04-22 16:15:49
    在Webot机器人仿真平台中用键盘控制小车的世界模型,与Webot机器人仿真平台(七) 键盘控制小车 配套使用https://blog.csdn.net/crp997576280/article/details/105661899
  • 当遇到问题 采取方式为: 也就是说先用rospack find 命令找是否存在 不存在就安装 sudo apt-get install ros-kinetic-XXX 从网上查需要安装哪些内容 转载于:...
  • turtle_teleop_key相关

    2020-03-27 18:36:49
    https://answers.ros.org/question/322368/looking-turtle_teleop_key-script-in-python/ https://docs.ros.org/melodic/api/turtlesim/html/teleop__turtle__key_8cpp_source.html https://github.com/ros-...
  • 问题描述: ... 运行命令: roslaunch turtlebot_teleop keyboard_teleop.launch 后, 在终端中按键无响应, 机器人不移动。 解决办法: 1.安装kuboki相关的包,才可以驱动kobuki为底盘的机器人。 ...
  • ROS-nanorobot教学2 base_control功能包使用及作用4、ROS话题列表查看及话题订阅5、ubuntu虚拟机的使用及ROS分布式通讯介绍6、ubuntu下ssh远程...3、新开一个会话,连接上nanocar,如果 PC 上的系统中没有安装 teleop
  • [rospack] Error: package ‘teleop_twist_keyboard’ not found 一般重新下载就好:sudo apt-get install ros-melodic-teleop-twist-keyboard 注意melodic是自己的ros版本,另外将下划线放到中间 [rospack] Error: ...
  • 在ros中运行sudo teleop_twist_keyboard teleop_twist_keyboard.py时,出现找不到功能包错误,如下 解决问题过程: 1、首先,我现在文件中搜一下这个功能包,发现我没有这个功能包 2、在网上搜了一下如何下载这个...
  • 在上一篇的教程里介绍了基于RVIZ的仿真环境arobotix,同时给...1.首先准备两个包:allians_arbotix:git clone https://github.com/AlliansChina/allians_arbotix.gitteleop_twist_keyboard:git clone https://githu...
  • 1.这些天,我在调试一个基于cartographer 建图定位的机器人...打算用键盘控制包 teleop_twist_keyboard 进行测试下,也没有效果,并且提示:“Waiting for subscriber to connect to /cmd_vel”,于是我开始怀疑网络远
  • ROS学习

    2019-04-02 19:49:56
    rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=robot0/cmd_vel service.demo注意事项 创建一个srv文件夹,进入后创建.srv文件 .srv文件中数据类型要 指定位数 ,如 int32 age float32 x --...
  • ~/catkin_ws/src/teleop_twist_keyboard文件夹下的teleop_twist_keyboard.py 文件实现的。实现过程是通过读取键盘输入值,转化为 ROS 系统下的 cmd_vel 话题,小车底盘通过订阅该话题来决定自己的运动状态。 ...
  • 第一个launch file用于记录数据,因为环境的关系,数据存储以后便于仿真 <launch> <!--file name: stage_ros.launch/>...machine name="local_alt" address="localhost" default="true" />...
  • rosrun teleop_twist_keyboard teleop_twist_keyboard.py 按相应的按键发送命令就可以控制小车了运动了 当然本地ros环境得有teleop_twist_keyboard这个包没有安装之 sudo apt-get install ros-kinetic-...
  • rosrun teleop_twist_keyboard teleop_twist_keyboard.py 第二个解决这个问题方法是直接看网址https://www.ncnynl.com/archives/201709/1968.html上《DashgoD1底盘新指南-4.5 PC建地图》这一 节。该节上checkout的是...
  • 树莓派学习笔记二:软件包安装

    千次阅读 2017-03-01 20:36:21
    上一篇我们完成了 树莓派ubuntu镜像的烧录和ROS的安装,这一篇我们来讲一下到底需要装哪些软件包 软件1:vim(根据个人习惯) ...sudo apt-get install ros-kinetic-teleop-twist-keyboard
  • ROS之 teleop_controller

    2020-12-27 17:48:50
    turtlebot_teleop Control Your Turtlebot! --------------------------- Moving around: u i o j k l m , . q/z : increase/decrease max speeds by 10% w/x : increase/decrease only linea
  • 基于ROS平台的移动机器人-4-通过ROS利用键盘控制小车移动准备工作1.下载串口通信的ROS包(1)cd ~/catkin_ws/src ...2.下载键盘控制的ROS包(1)cd ~/catkin_...(2)git@github.com:Forrest-Z/teleop_twist_keyboard.git 进入下
  • 12.3-ros遥操作teleop

    2019-07-02 00:05:00
    sudo apt install ros-kinetic-joy-teleop ros-kinetic-teleop-tools ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard 配置Linux ls /dev/input/ # 手柄被标识为js2,js1居然是笔记本的加...
  • 报错如下: >rospkg.common.ResourceNotFound: ×××× ROS path [0]=/opt/ros/indigo/share/ros ROS path [1]=/home/eon-alone/catkin_ws/src ROS path [2]=/opt/ros/indigo/share ROS path [3]=/opt/ros/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 634
精华内容 253
关键字:

teleop_twist_keyboard