Skip to content

zhuoqiw/sunny

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sunny

Development system requirements

  • Ubuntu 20.04 desktop
  • Git
  • Docker CE/EE 18.06+ and Docker Compose 1.21+.
  • Visual Studio Code
  • Visual Studio Code extension: Remote - Containers (ms-vscode-remote.remote-containers)

Embedded system requirements

GUI application requirements

  • Ubuntu 20.04 desktop
  • Docker CE/EE 18.06+ and Docker Compose 1.21+.

Prepare development system

  1. Clone this repository itself: git clone https://github.com/zhuoqiw/sunny.git
  2. CD into local repository and start vscode: code .
  3. Install Remote-Containers extension
  4. In Menu->View->Command Palette, find Remote-Container: Open Folder in Container...
  5. Follow the instructions

Prepare embedded system

  1. Install ubuntu to a microSD card.
  2. SSH into ubuntu. (user: ubuntu, password: ubuntu)
  3. Install Docker Engine on Ubuntu.
  4. Install docker-compose.
  5. Pull deploy image: docker pull zhuoqiw/sunny-tis:deploy
  6. Pull tiscamera image: docker pull zhuoqiw/ros-tis:0.14.0
  7. Install udev rules for tiscamera:
    docker run --name tis zhuoqiw/ros-tis:0.14.0
    sudo docker cp tis:setup/etc /
    sudo docker cp tis:setup/usr /
    sudo udevadm control --reload-rules
    docker rm tis
  8. Reboot
  9. Download docker-compose.yml
  10. Boot up system: docker-compose up

Prepare GUI application

  1. Pull desktop image: docker pull zhuoqiw/sunny-tis:desktop
  2. Start X Authentication: xhost +local:root
  3. Start the container: docker run --rm --network=host --env=DISPLAY -v /tmp/.X11-unix zhuoqiw/sunny-tis:desktop
  4. Stop X Authentication: xhost -local:root

System optimization

Name convention

Context Syntax Example
ROS2 package name abc_def intra_process_demo
ROS2 node name abc_def_node camera_mvs_node
ROS2 node header(c++) abc_def.hpp camera_mvs.hpp
ROS2 node source(c++) abc_def.cpp camera_mvs.cpp
ROS2 node namespace(c++) abc_def namespace camera_mvs
ROS2 node class(c++) AbcDef class CameraMvs
ROS2 node header include guard(c++) ABC_DEF__ABC_DEF_HPP_ PACKAGE_NAME__CLASS_NAME_HPP_
ROS2 service name abc_def set_parameters, get_parameters
ROS2 service type AbcDef SetParameters, GetParameters
ROS2 srv file name AbcDef.srv SetParameters.srv, GetParameters.srv
ROS2 topic name abc_def parameter_events
ROS2 topic type AbcDef ParameterEvent
ROS2 msg file name AbcDef.msg ParameterEvent.msg
ROS2 launch file name main.launch.py
Var in srv or msg abc_def new_parameters

Coding style

// derived.hpp
namespace derived_space
{

class Derived : public Base
{
}

}  // namespace derived_space

// derived.cpp
namespace derived_space
{

Derived::Derived()
: Base()
{
}

}  // namespace derived_space

if (true) {
  // Todo
} else {
  // Todo
}

if (
  a ||
  b ||
  c)
{
  // Todo
} else {
  // Todo
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published