Core components of self-driving car system, building a complete open source solution for low-cost hardware along with Linux real-time extensions.
puyuma-core
is freely redistributable under the two-clause BSD License.
Use of this source code is governed by a BSD-style license that can be found
in the LICENSE
file.
Connecting to your raspberry pi using ssh then follow the instructions.
Install ROS kinetic ,or indigo from http://wiki.ros.org/kinetic/Installation/Ubuntu
sudo apt install libncurses5-dev libopencv-dev ros-$(ROS_DISTRO)-cv-bridge ros-$(ROS_DISTRO)-camera-calibration
git clone https://github.com/Puyuma/raspicam.git
cd raspicam/
mkdir build
cd build
cmake ..
sudo make install
git clone https://github.com/Puyuma/WiringPi.git
cd WiringPi
./build
cd $(YOUR_CATKIN_WS)/src
git clone https://github.com/Puyuma/apriltags.git
cd $(YOUR_CATKIN_WS)
catkin_make
cd $(YOUR_CATKIN_WS)/src
git clone https://github.com/Puyuma/puyuma-core.git
cd $(YOUR_CATKIN_WS)
catkin_make
You must do the calibration before first time initiating the controller.
#Terminal A
rosrun xenobot intrinsic_calibration
#Terminal B
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.031 image:=/xenobot/raw_image --no-service-check
roslaunch xenobot extrinsic_calibration.launch veh:=machine_name
pi$ roslaunch xenobot activate_controller.launch veh:=machine_name cal:=true
pc$ rosrun xenobot color_threshold_calibration _color:=[ 1 | 2 | 3 ]
//[1: yellow | 2: white | 3: both]
- inner == yellow
- outer == white
Add:
. /opt/ros/kinetic/setup.bash
. $(YOUR_CATKIN_WS)/devel/setup.bash
export ROS_IP=`hostname -I`
alias play="roslaunch xenobot activate_controller.launch veh:=VEHICLE_NAME calibrate:=true"
alias stop=". ~/catkin_ws/src/xenobot/halt_motor.sh"
roslaunch xenobot activate_controller.launch veh:=VEHICLE_NAME calibrate:=true
# or simply
play
rosrun xenobot scatter_view_node.py
- Use ps command find the process ID
ps aux
- Enter GDB or CGDB
cgdb
- Attatch the process
attach **PROCESS_ID**
Authentication to remote computer[ubuntu@192.168.0.102:22] failed. A common cause of this error is a missing key in your authorized_keys file.
Using ssh-copy-id could solve the problem:
ssh-copy-id xenbot_user@xenobot_address