首页 > 其他分享 >智能车学习笔记/备忘录乱写 | 地平线篇

智能车学习笔记/备忘录乱写 | 地平线篇

时间:2024-01-27 20:22:18浏览次数:44  
标签:src name package 乱写 setup python 备忘录 地平线 test

前言

持续更新中!

校内赛打完分到地平线组了,好多新东西,写篇笔记记录。

比赛使用OriginBot车模,车模搭载Ubuntu系统。以后估计主要在Ubuntu虚拟机上工作。现在需要先学习ROS2和FoxGlove。

一些很基础或者很好记的东西就不写了。

常用网址

比赛简介(场地、车模、规则等)

FoxGlove教程

OriginBot教程

OriginBot开源套件

OriginCar PC端代码

ROS2课程

ROS2

基本原理

存在若干分工不同的结点同时运行,结点之间可以通过话题/服务相互沟通数据。

工作空间

ROS2的工作空间由src, build, install, build, log四个文件夹构成,其中源码在src里,结构是src-若干功能包-若干结点代码。

写完代码之后可通过rosdepc install -i --from-path src --rosdistro foxy -y自动安装依赖。

之后通过colcon build编译工作空间。

编译成功后运行source install/local_setup.sh将自己写好的包添加到环境变量里,就能运行包里的节点了。

当然,也可以运行一次echo "source ~/<workspace_name>/install/local_setup.sh">>~/.bashrc,这样此工作空间就被添加到.bashrc里了,以后再编译完就能直接运行这个包。

功能包

ros2 pkg create --build-type ament_cmake <package_name>创建使用C艹的功能包。

ros2 pkg create --build-type ament_python <package_name>创建使用python的功能包。

以下描述针对Python功能包:

在功能包内的同名文件夹内编写若干结点代码,之后需要在setup.py里添加结点代码的接口。

setup.py内部如下所示:

from setuptools import setup

package_name = 'python_test'

setup(
    name=package_name,
    version='0.0.0',
    packages=[package_name],
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='darthvictor',
    maintainer_email='[email protected]',
    description='TODO: Package description',
    license='TODO: License declaration',
    tests_require=['pytest'],
    entry_points={
        'console_scripts': [
        	'test=python_test.test:main',
            'pub_test=python_test.pub_test:main',
            'sub_test=python_test.sub_test:main',
            'client_test=python_test.client_test:main',
            'server_test=python_test.server_test:main',
        ],
    },
)

添加接口的形式如'console_scripts'中所示。

Linux

指令连Wifi

nmcli device wifi rescan        # 扫描wifi网络
nmcli device wifi list          # 列出找到的wifi网络
wifi_connect "SSID" "PASSWD"    # 连接某指定的wifi网络

SSH

ssh <target_username>@<target_ip_address>可以直接连接到target的终端。

rsync <local_file_address> <target_username>@<target_ip_address>:<target_address>local_file_address发送到target的指定位置。在本机写完代码可以用这个同步到车上。下面是一个使用示例:

rsync -r "/home/darthvictor/test/src/python_test" [email protected]:/root/test/src

FoxGlove

网站里写的足够详细干练了,直接看。

标签:src,name,package,乱写,setup,python,备忘录,地平线,test
From: https://www.cnblogs.com/DarthVictor/p/17991826

相关文章

  • 备忘录模式
    用一个栈保存一个对象的一系列历史状态,在需要的时候可以恢复对象定义:保存一个对象的某个状态,以便在适当的时候恢复对象,即“后悔药”类型:行为型适用场景:保存及恢复数据相关业务场景后悔的时候,即想恢复到之前的状态优点:为用户提供一种可恢复机制存档信息的封装缺点:......
  • 备忘录
    LCA(DFS序)intget(intx,inty){returndfn[x]<dfn[y]?x:y;}voiddfs(intid,intf){mi[0][dfn[id]=++dn]=f;for(intit:e[id])if(it!=f)dfs(it,id);}intlca(intu,intv){if(u==v)returnu;if((u=dfn[u])>(v=dfn[v]......
  • 【杂题乱写】2024.01 #2
    AtCoder-JOIOPEN2022_Aシーソー开局考虑二分,然后不会做,没想到不需要二分。以初始的重心为基准,记为\(mid\),可以对操作\(i\)次得到的所有可能区间求出重心在\(mid\)左侧且最靠右的以及在\(mid\)右侧且最靠左的两个区间,容易发现这两个区间左右端点都差\(1\),记靠左的一个......
  • Android大作业,云备忘录项目+源代码+文档说明
    界面预览项目备注1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目......
  • [转发] Go pprof内存指标含义备忘录
    原文链接Gopprof内存指标含义备忘录最近组内一些Go服务碰到内存相关的问题,所以今天抽时间看了下Gopprof内存指标的含义,为后续查问题做准备。内容主要来自于Go代码中对这些字段的注释,加自己的理解。理解不对的地方欢迎指正。//https://github.com/golang/go/blob/master/src......
  • 备忘录模式(Memento)
    #include<iostream>#include<string>usingnamespacestd;classOriginalWord;classMemento{public:Memento(stringstrWord):m_strWord(strWord){}private:friendclassOriginalWord;stringGetWords(){returnm_strWord......
  • 设计模式(十八)备忘录
    一、定义在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复到原先保存的状态。备忘录模式是一种对象行为型模式,其别名为标记(Token)模式。二、描述备忘录模式的核心在于备忘录类以及用于管理备忘录的负责人类的设计,包含以下三个......
  • 安卓手机语音备忘录在哪里?
    我们在日常生活和工作中,使用手机记事的时候,不仅需要在备忘录或便签软件中记录文字、图片,有时候我们也需要记录语音或音频文件。那么安卓手机语音备忘录在哪里呢?其实绝大多数的安卓手机中都是没有专门的语音备忘录的,我们可以直接在“录音”应用中录入语音并保存,也可以在系统备忘录......
  • 电脑备忘录小工具怎么添加?怎么在电脑桌面添加备忘录?
    作为一名天天用电脑办公的上班族,如果你需要对某个项目或问题进入深入思考,想要快速记录想法和思路,这时候会选择什么样的记事方式呢?如果你需要记录常用的工作文字内容、工作注意事项、项目流程、待办的工作安排等,用什么样的方式记录更便捷?越来越多的职场人士抛弃纸质的记事本,而选择......
  • 备忘录模式
    备忘录模式,也叫快照模式,它可以在不破坏封装性的前提下捕获一个对象的内部状态,并在对象之外保存这个状态,以便在需要的时候恢复到原先保存的状态。常见的场景比如游戏进度日志,VMWare操作系统快照等,以备后续的恢复。备忘录模式有三个角色,一是源发器,二是对源发器状态进行记录的备忘......