In this manual for the OmniSeek robot, which was developed in the Mobile Robotics Project 2, at the University of Applied Sciences Grisons, you will find all the information you need to install and start the program at your home via ROS.
- Luca Bargetzi luca.bargetzi@stud.fhgr.ch
- Florian Büttiker florian.buettiker@stud.fhgr.ch
- Tim Germann tim.germann@stud.fhgr.ch
- Yannick Kohler yannick.kohler@stud.fhgr.ch
- Microcontroller: 1x Raspberry Pi 4 4GB
- Microcontroller: 1x STM32F401RE
- IMU: 1x BMI088
- Magnetometer: 1x LIS3MDL
- Motorcontroller 2x Sparkfun Rob 14451
- Lidar: 1x RPLIDARA1
- 3D-Cam: 1x Xbox 360 Kinect
- Motor: 4x YFROBOT Motor
- 3D printed chassis
- Custom PCB
Everything under this Topic should be done directly on the Raspberry Pi.
- install Ubuntu 20.04
- install ROS-Desktop: http://wiki.ros.org/noetic/Installation/Ubuntu
- setup ros master on rpi according to http://wiki.ros.org/ROS/Tutorials/MultipleMachines
- install libfreenect: https://aibegins.net/2020/11/22/give-your-next-robot-3d-vision-kinect-v1-with-ros-noetic/
- clone git:
git clone https://github.com/hermanndererdmann/Mecanum_ROS_Project.git
- create catkin workspace
mkdir catkin_ws_ros
cd catkin_ws_ros
mkdir src
cd src
- Symlink contents from git-folder /Mecanum_ROS_Project/Software/Rpi/ROS into catkin_ws_ros/src
> ln -s ~/.../Mecanum_ROS_Project/Software/Rpi/ROS/
- Build the package with: (while in the catkin_ws_ros folder)
cd ..
catkin_make
- Re-source your workspace setup:
source devel/setup.bash
- Run roscore in a seperate console
roscore
- Launch the node with
roslaunch ros_package_template ros_package_template.launch
- Find the right port
dmesg | grep tty
- enable port (choose right port: ACMx)
sudo chmod 666 /dev/ttyACM0
- Start the serial_node.py (choose right port: ACMx)
rosrun rosserial_python serial_node.py /dev/ttyACM0
rosrun teleop_bridge joy_twist_bridge.py
roslaunch ps3joy ps3.launch
roslaunch freenect_launch freenect.launch
- open the Project /Mecanum_ROS_Project/Software/STM/ROS/
- run the Project
- disconnect the cable from the pc
- plug the STM32 to the Raspberry PI
This step can be skipped if the image is downloaded.
Navigate to the cloned repository and run
docker build -t ros-openpose-docker .
after this the image is build and saved on the drive.
xhost +local:root; docker run -ti --rm --gpus all --net=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:rw ros-openpose-docker
With each start of the container, the hostname & IP of the ROS slave have to be added to the ects/hosts file with nano
. Both IP addresses should be static.
In my example this is:
10.0.106.30 rosberry
After this we can start the roscore
.
To start Openpose or other services in the container we need to open a new terminal. To get into the running Docker Container use:
docker exec -it <YOUR-BUILT-CONTAINER-NAME> bash
Navigate to /openpose/build/examples/tutorial_api_python
and start ros_openpose.py