- the
mbl_client.cc
file is missing the control of the motor (your job @dk87)
.
+-- include
| +-- ...
+-- run
| +-- stuff.run /* sample run file containing all apps and configuration parameter
+-- src
| +-- app
| | +-- acc /* the acc unit (logic) */
| | | +-- ...
| | +-- mbl_adapter /* adapter app for the Roboteq MBL1650C Motor Controller (converting values from the simulation for the client */
| | | +-- ...
| | +-- mbl_client /* client app for the Roboteq MBL1650C Motor Controller (controlling the motor) */
| | | +-- ...
| | +-- savm /* the savm application (communication unit between the mqtt network and the simulation) */
| | | +-- ...
| | +-- servo_adapter /* adapter app for the servos (converting values from the simulation for the client) */
| | | +-- ...
| | +-- servo_client /* client app for the servos (controlling the servos) */
| | | +-- ...
-
Follow the instructions in the documentation (skip the last step
make jenkins_run
) -
Clone the genode-world under genode/repos (assuming you are in the operating-system directory)
git clone https://github.com/argos-research/genode-world.git genode/repos/genode-world
cd genode/repos/genode-world
git checkout protobuf_3.5.0
2.1 Clone the pololu Servo Controller
git clone https://github.com/argos-research/genode-pololuServoController.git genode/repos/genode-pololuServoController
- Clone this repository into genode/repos (assuming you are in the operating-system directory)
git clone https://github.com/dk87/genode-CarControl.git genode/repos/genode-CarControl
- Create a build directory for a rpi, pbxa9 and a panda build
GENODE_TARGET=focnados_rpi make jenkins_build_dir
GENODE_TARGET=focnados_panda make jenkins_build_dir
GENODE_TARGET=focnados_pbxa9 make jenkins_build_dir
- Edit the
etc/build.conf
in each build directory by adding the following lines
REPOSITORIES += $(GENODE_DIR)/repos/genode-world
REPOSITORIES += $(GENODE_DIR)/repos/genode-CarControl
REPOSITORIES += $(GENODE_DIR)/repos/genode-pololuServoController
- Prepare the missing ports by executing (again in operating-system directory)
./genode/tool/ports/prepare_port libmosquitto openssl libprotobuf
- Trigger the compilation
make -C build/genode-focnados_rpi app/servo_client app/mbl_client
make -C build/genode-focnados_panda app/servo_adapter app/mbl_adapter
make -C build/genode-focnados_pbxa9 app/savm app/acc
- Use the
ACC
branch of speed-dreams (ref.) - Configure a race to consist of two bots, with the ACC driver in the second position
- Start a mosquitto server
- Bring up all applications (
acc
,mbl_adapter
,mbl_client
,servo_adapter
,servo_client
) except for thesavm
- Start the
savm
application - Speed-dreams should continue loading and start the race
- Watch the magic happen
- SpeedDreams uses the
9002
port by default and acts as a server